Skip to main content

DexOnLinux is a tool that allows you to stream Samsung DeX from your Samsung device to your Linux PC, controlling it with your mouse and keyboard, and interacting with it as if it were a native application on your desktop.

Project description

DexOnLinux Logo

DexOnLinux

DexOnLinux streams Samsung DeX to a Linux desktop and lets you control it with your mouse and keyboard through scrcpy.

The package is available on PyPI:

pip install dexonlinux

Requirements

DexOnLinux needs:

  • Python 3.9 or newer
  • Miraclecast (miracle-wifid, miracle-sinkctl)
  • scrcpy
  • adb
  • a Wi-Fi adapter with P2P support
  • sudo access, because the CLI temporarily stops NetworkManager and wpa_supplicant while the DeX session is running

The project is currently tested on Ubuntu 24.04.

Installation

Ubuntu 24.04

The helper script installs the system dependencies used by DexOnLinux and installs the dexonlinux package from PyPI. It uses uv when available and falls back to pip.

Do not run the script with sudo; it will ask for sudo only when system packages need to be installed.

git clone https://github.com/gabdevele/DexOnLinux.git
cd DexOnLinux
chmod +x ./scripts/install.sh
./scripts/install.sh
source .venv/bin/activate
dexonlinux

Other Linux distributions

Install Miraclecast and scrcpy using your distribution packages or their upstream instructions:

Then install DexOnLinux from PyPI:

python3 -m venv .venv
source .venv/bin/activate
pip install dexonlinux
dexonlinux

If you use uv:

uv venv
uv pip install dexonlinux
source .venv/bin/activate
dexonlinux

Usage

Run:

dexonlinux

Useful options (these are not required, DexOnLinux works with no arguments):

dexonlinux --help
dexonlinux --interface wlan0 --device R5CN1234567
dexonlinux --fullscreen
dexonlinux --display-id 2
dexonlinux --debug --log-file dexonlinux.log
dexonlinux --no-banner --no-color

DexOnLinux checks dependencies, Wi-Fi P2P support, sudo, and adb before disabling network services. Unless --yes is passed, it asks for confirmation before stopping NetworkManager and wpa_supplicant.

On exit, Ctrl+C, or startup failure, DexOnLinux attempts to stop the Miraclecast processes it started and restore network services.

How it works

DexOnLinux uses:

  • Miraclecast for the Wi-Fi Direct sink
  • scrcpy for display and input control
  • adb to select the Android device
  • miracle-sinkctl output to detect DeX connection, disconnection, and stream resolution

Development setup

If you want to contribute or run the latest code, clone the repository and install the dependencies with uv:

git clone https://github.com/gabdevele/DexOnLinux.git
cd DexOnLinux
uv sync --group dev --locked
uv run dexonlinux --help

Bugs and feature requests

Please report any bugs or feature requests on the GitHub issue tracker.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dexonlinux-1.0.2.tar.gz (556.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

dexonlinux-1.0.2-py3-none-any.whl (555.3 kB view details)

Uploaded Python 3

File details

Details for the file dexonlinux-1.0.2.tar.gz.

File metadata

  • Download URL: dexonlinux-1.0.2.tar.gz
  • Upload date:
  • Size: 556.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for dexonlinux-1.0.2.tar.gz
Algorithm Hash digest
SHA256 3ac475150d37229e10a6105bb932e5e6ff53000481fcff73cefb0a5dc06fbbd6
MD5 eebd2964493762517faf0520080b5b6c
BLAKE2b-256 5603cb4f6e62cf70d203d24463e025cb324498dd9026e745176b8970dfb3d07e

See more details on using hashes here.

Provenance

The following attestation bundles were made for dexonlinux-1.0.2.tar.gz:

Publisher: publish.yml on gabdevele/DexOnLinux

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file dexonlinux-1.0.2-py3-none-any.whl.

File metadata

  • Download URL: dexonlinux-1.0.2-py3-none-any.whl
  • Upload date:
  • Size: 555.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for dexonlinux-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7628e9976ce9555096eef6f154623cb5df15f372c9a6ea4e5d19674a299b8767
MD5 5a67e34578cfb70dc4522ca4acd64068
BLAKE2b-256 a838c5cec0c30c90af99a58cd70ce347899829a07079ff690e4d2a9e100b375a

See more details on using hashes here.

Provenance

The following attestation bundles were made for dexonlinux-1.0.2-py3-none-any.whl:

Publisher: publish.yml on gabdevele/DexOnLinux

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page