Skip to main content

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.

Metadata

Release files for dexonlinux 1.0.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for dexonlinux 1.0.2
File Size Uploaded
dexonlinux-1.0.2.tar.gz 556.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for dexonlinux 1.0.2
File Interpreter ABI Platform
dexonlinux-1.0.2-py3-none-any.whl Python 3 none any Details

Total release size: 1.1 MB

Release files / dexonlinux-1.0.2.tar.gz

Download URL dexonlinux-1.0.2.tar.gz
Size 556.3 kB
Tags Source
SHA-256 checksum
How to use checksums
3ac475150d37229e10a6105bb932e5e6ff53000481fcff73cefb0a5dc06fbbd6
BLAKE2b-256 checksum
How to use checksums
5603cb4f6e62cf70d203d24463e025cb324498dd9026e745176b8970dfb3d07e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 7, 2026.

Transparency log

Release files / dexonlinux-1.0.2-py3-none-any.whl

Download URL dexonlinux-1.0.2-py3-none-any.whl
Size 555.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
7628e9976ce9555096eef6f154623cb5df15f372c9a6ea4e5d19674a299b8767
BLAKE2b-256 checksum
How to use checksums
a838c5cec0c30c90af99a58cd70ce347899829a07079ff690e4d2a9e100b375a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 7, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

1.0.2 This release

2 release files

1.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page