High-performance, low-latency display extension for Android.
XDisplay turns your Android tablets and phones into external monitors for your Linux PC. Using a custom H.264 engine and EVDI virtual displays, it achieves near-native performance over USB or WiFi.
- 🚀 Ultra Low Latency: 60FPS streaming with hardware-accelerated H.264 encoding.
- 📥 Tray-Only Host: A lightweight background application controlled entirely from your system tray.
- 📱 Multi-Monitor: Connect multiple Android devices simultaneously as independent virtual monitors.
- 🔌 Plug-and-Play: Automatic resolution detection and port-forwarding via ADB.
- ⚙️ Auto-Detection: No manual configuration needed. Resolution, FPS, and bitrate adjust automatically based on your system and connection.
- 🦀 Rust-Powered: Core engine written in Rust for zero-copy performance and memory safety.
The easiest way to install XDisplay on Linux is via the Debian Package. The installer automatically handles all prerequisites, including the EVDI kernel driver and system permissions.
- Download the latest
.debpackage. - Install it using your favorite package manager:
(The installer will automatically download
sudo nala install ./xdisplay_0.1.0-1_amd64.deb
evdi-dkms, configure the kernel module, and set up udev rules for non-root access.)
- Download and install the
XDisplayAPK on your Android device.
For a detailed technical overview of how XDisplay works, including core components like EVDI and the H.264 streaming pipeline, please see our Architecture Documentation.
- Launch XDisplay from your applications menu.
- The app will run in your System Tray.
- Connect your Android device via USB or ensure it's on the same WiFi network.
- Open the XDisplay app on Android.
- Click the Tray Icon on your PC and select Start Streaming. The host will automatically detect your monitor resolution and begin streaming.
We welcome contributions! Please see our Contributing Guidelines and Code of Conduct.
AGPLv3. See LICENSE for details.