Open source · MIT License · Local network only

Your Linux PC,
in the palm of your hand.

Hydra Controller turns your phone or tablet into a dedicated touch screen for your computer: open your Linux apps in isolated sessions, watch them in real time, and control them with your fingers. No monitor mirroring. No cloud. No accounts.

  • Dedicated virtual sessions (your desktop stays untouched)
  • Real multitouch with up to 10 fingers
  • Zero data leaves your Wi-Fi

How it works

Three simple pieces, all on your local network.

  1. 1 · Install the serverOne command on your Linux PC. It generates its own TLS certificate and shows you a QR code.
  2. 2 · Scan and tapOpen the web app on your phone, pick an app, and it launches on its own virtual display.
  3. 3 · Watch and controlVideo arrives over WebSocket and your fingers come back as mouse and keyboard events.
Phone (PWA) ──HTTPS/WSS :4096──▶ Node server
                                        ├─ headless gamescope (isolated display :N)
                                        ├─ GStreamer + PipeWire ──▶ MJPEG ──▶ phone
                                        └─ your fingers ──▶ xdotool ──▶ app

Built for tinkering

Isolated sessions

Every app runs on its own virtual display. Your main monitor never notices.

Real touch

Multitouch pointer, native mobile keyboard, and floating controls.

Real time

PipeWire capture and MJPEG over WebSocket with congestion control. No cloud in the middle.

QR pairing

Self-signed TLS generated on your machine. Scan it and you're in.

Seriously tested

Unit tests, e2e with gray-frame detection, and stress suites.

Actually MIT

Read it, modify it, use it. No telemetry, no fine print.

Install it today

Linux with gamescope and Node.js. Five minutes.

sudo pacman -S gcc make ffmpeg gamescope nodejs npm   # or apt/dnf equivalents
sudo usermod -aG input $USER   # permission for /dev/uinput (optional)
npm install && npm run build
npm start   # scan the QR with your phone (same Wi-Fi)

Full step-by-step guide, local development, and troubleshooting in the repository README.

We could really use your help

Hydra Controller is built by people like you, in their spare time. No need to be an expert in everything: there are small, well-scoped tasks.

⌨️ Full keyboard

Extend the key map (A–Z letters are still missing) to type anything from your phone.

🎬 Better video

Try real H.264/WebRTC against today's MJPEG and measure latency.

👆 Wayland input

Bring touch to native Wayland apps beyond the current X11 bridge.

🧪 Tests & docs

End-to-end on real hardware, guides, and translations. Ideal first contribution.

  1. Fork itthe repo and clone it to your machine.
  2. Create a branchwith a clear name: fix/…, feat/….
  3. Open a PRtelling us what you tested on real hardware. We'll review and celebrate it.