finds.dev← search

// the find

selkies-project/selkies

★ 1,881 · Python · MPL-2.0 · updated Jul 2026

Open-Source Low-Latency Accelerated Linux WebRTC HTML5 Remote Desktop Streaming Platform for Self-Hosting, Containers, Kubernetes, or Cloud/HPC

Selkies streams a Linux X11 desktop over WebRTC to any browser, with GPU acceleration via GStreamer. It started as a Google internal tool for cloud GPU workloads and is now maintained by academic/HPC community contributors. The target is Kubernetes/SLURM clusters where you need a graphical session without RDP or VNC infrastructure.

GPU-accelerated encoding through GStreamer means it can actually hit 60fps at 1080p where noVNC would choke. The WebRTC transport handles NAT traversal properly, including a bundled coturn TURN server for the hard cases. The joystick interposer (a C shim that intercepts udev calls) is a genuinely clever solution for passing gamepad input through to containerized apps that expect real hardware. DevContainer feature support means you can drop a desktop session into a Codespaces or Coder workspace with a few lines of JSON.

The setup complexity is real: you need GStreamer with the right plugins built from source, a TURN server, a signaling server, and an X virtual framebuffer all running correctly before a single pixel appears. The README leads with a 'we need maintainers' callout, which is honest but signals that bus factor is a problem. The Python WebRTC stack in src/selkies/webrtc/ appears to be a vendored fork of aiortc — it's not clear how far it has diverged or how security patches would flow in. Two parallel dashboard implementations (selkies-dashboard and selkies-dashboard-wish) exist side by side with no indication which one is current or which will be dropped.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →