Turn your Android phone into a second monitor for your Linux laptop via USB.
WireDisplay is a high-performance, low-latency Android app that renders your Linux desktop on your phone using a raw VNC connection over USB. It is designed to be a "dumb display" with no touch interaction, perfect for extending your workspace.
- Low Latency: Uses USB tethering (ADB reverse) and raw VNC encoding.
- High Quality: Lossless 32-bit ARGB rendering.
- Plug & Play: Auto-connects to
localhost:5900on launch. - Distraction Free: Fullscreen immersive mode, no status bars, no touch interference.
- Robust: Auto-reconnects if connection drops.
- Android Device: Android 8.0 (Oreo) or higher.
- Linux PC:
adb(Android Debug Bridge)x11vnc(VNC Server for X11)- Python 3 (for automation script)
sudo apt update
sudo apt install adb x11vnc python3First, build and install the app manually (or download release APK):
# Verify device connection
adb devices
# Build and Install APK
./gradlew assembleDebug
adb install -r app/build/outputs/apk/debug/app-debug.apkUse the included helper script to connect:
- Connect your phone via USB (Debugging enabled).
- Run the script:
python3 run_wiredisplay.py
- Open the WireDisplay app on your phone.
The script handles port forwarding and keeps the VNC server running. Press Ctrl+C to stop.
- Connect Phone via USB and enable USB Debugging.
- Setup Port Forwarding:
adb reverse tcp:5900 tcp:5900
- Start VNC Server:
x11vnc -display :0 -localhost -nopw -forever -shared -rfbport 5900 -noxdamage -repeat
- Launch App on your phone.
This project is licensed under the GNU General Public License v3.0 (GPLv3). See the LICENSE file for details.