wire your screen and audio to any TV, phone or PC
“The Internet is not something that you just dump something on. It's not a big truck. It's a series of tubes.” — Ted Stevens
Linux desktop → anything. xwire captures a monitor natively
(X11 → VAAPI) and streams it — video, system audio, a realtime cursor overlay — to
our own receiver app on an Android TV, phone or tablet, or to a native desktop client
over SSH. The remote comes back to your desktop, so the couch keyboard drives your
machine. No buffering layer, no player.
| You want to… | Run |
|---|---|
| mirror a monitor onto the couch TV — screen, audio and cursor, with the remote driving your desktop | xwire |
| extend your desktop onto the TV as a real second screen | xwire --extend right |
| extend onto a PC over SSH (no TV, no adb) | xwire --ssh host |
| cast one file or link to the TV | xcast <file|url> |
| serve a folder as a DLNA library for VLC | xshare ~/Videos |
curl -fsSL https://xwire.hkroot.de/install.sh | sh
Linux only. Runs on your own Deno (installed
automatically if missing) — a couple of megabytes of source, not a 100 MB
binary. The installer reuses an existing install, or asks whether to use
~/.local/bin, /usr/local/bin or /usr/bin
(with sudo only when it has to). Read it first —
audit the script.
| Binary | Job |
|---|---|
xshare |
serve a folder as a DLNA/UPnP media server for VLC and friends |
xcast |
cast one file or link to an Android TV (yt-dlp + adb) |
xwire |
stream a screen (+ audio, cursor, input) to a receiver |
xwire-* |
satellites: xwire-list, xwire-monitors,
xwire-rewire, xwire-daemon, xwire-remote,
xwire-install
|
screens |
desktop app that manages screens (owns the daemon) |
render |
desktop receiver for the xwire stream |
The TV side is our own Android app — no Play Store, no player. xwire builds and installs it over adb, or grab it directly:
curl -fsSL https://xwire.hkroot.de/release/xwire-receiver.apk -o xwire.apk adb install -r xwire.apk
Download xwire-receiver.apk · Android 5.0+ ·
debug-signed, built from the source in the
source tarball. While it's open and idle it
announces itself on the LAN, so xwire list and the screens
app find it — and it shows its name and LAN address under the logo, so you always know
where to point xwire.
Linux with X11 (xrandr, xdotool) and PipeWire/PulseAudio
(pactl), plus ffmpeg and adb for the TV path.
VAAPI hardware encoding (AMD/Intel) for the smoothest stream.
Will you support Wayland?
As a receiver, yes. As a sender — which compositor? The maintenance burden is too high, and most of the remote-control APIs are private (see KDE): they don't want something like this to exist. I'm sure they'll clone it as soon as they can — at least the KDE folks, who are genuinely top-notch! So if you're a KDE dev: let's talk alignment. But I think hacking into your system violates your own design philosophy. And the GNOME folks can go fuck themselves. :P
Windows / macOS support?
As a receiver — probably. For everything else, undecided. macOS: probably not, unless someone donates me a MacBook with 1 TB of RAM. :P