Use your Android device as a real extended display for Linux X11 sessions.
linux-display-extend combines:
xrandrto attach and position an extra display outputx11vncto stream only that extended desktop region- an Android VNC client to render and interact with the new display
It is designed for X11 sessions today. Wayland support is not implemented yet.
Install with the canonical repo-root installer:
bash <(curl -fsSL https://raw.githubusercontent.com/USKhokhar/linux-display-extend/main/universal_installer.sh)Then validate your machine and launch:
display-extend doctor
display-extend install-deps
display-extend startOn Android:
- Install a VNC client such as RealVNC Viewer or MultiVNC.
- Connect to the host and port printed by
display-extend start. - If prompted, use the password stored in
~/.config/linux-display-extend/connection.secret.
- the runtime now respects configured resolution and position
- the tool tracks its own PID, output, and clip geometry instead of killing unrelated
x11vncprocesses - config is parsed safely instead of being executed as shell
- VNC defaults now use password authentication instead of open
-nopw - the installer and package builder now have one canonical source of truth
- the CLI is branded and includes diagnostics, logs, and password management commands
display-extend <command> [options]Core commands:
display-extend startdisplay-extend stopdisplay-extend restartdisplay-extend statusdisplay-extend config
Support commands:
display-extend doctordisplay-extend install-depsdisplay-extend logsdisplay-extend set-passworddisplay-extend install-vncdisplay-extend updatedisplay-extend --helpdisplay-extend --version
Useful start options:
--resolution WxH--position right|left|above|below--monitor <name>--port <port>--bind <addr>--quality low-bandwidth|balanced|high-quality--insecure-lan--debug
Currently supported and expected:
- Linux only
- X11 desktop sessions
xrandr,x11vnc, andcvtavailable on the host- at least one connected monitor plus one usable disconnected output target
See DISTROS.md for the current Linux distribution support matrix.
Currently not supported:
- Wayland sessions
- multi-device streaming
- encrypted transport without a separate tunnel or network layer
scripts/display-extend.sh: canonical runtime sourceuniversal_installer.sh: canonical installerdisplay_extend_package.sh: canonical Debian package tree builderDISTROS.md: Linux distribution support matrixinstaller/: compatibility wrappers around the root scriptsdocs/: architecture, testing, and security documentation
Common commands:
make test
make packageSee CONTRIBUTING.md for contributor workflow, architecture guidance, and pre-PR testing instructions across Linux, macOS, and Windows setups.
Project health files:
If the session will not start:
- Run
display-extend doctor. - If dependencies are missing, run
display-extend install-deps. - Confirm you are on X11, not Wayland.
- Check that
xrandrshows a connected main monitor and at least one disconnected output. - Read the runtime logs with
display-extend logs.