A Rust library for connecting apps by public key, with QUIC transport, hole-punching, and relay fallback so peers can connect regardless of IP address.
Techlm77/LinuxPlay
An open-source, low-latency remote desktop for Linux, written in Rust with WebRTC transport and GStreamer hardware encoding.
Open-source alternative to:TeamViewer
AnyDesk
- Stars
- 633
- Forks
- 16
- Open issues
- 1
- Last commit
- yesterday
What is it?
LinuxPlay is a remote desktop tool for Linux that lets you view and control another computer's screen. The transport is WebRTC over mutual-TLS signalling, and connections are peer-to-peer and encrypted. Video is encoded through GStreamer using hardware H.264, H.265 or AV1 where available (VA-API on Intel and AMD, NVENC on Nvidia), with a software fallback, and audio uses Opus. The client is a GTK4 and libadwaita application.
Security relies on self-signed certificates pinned by fingerprint. A first pairing is authenticated with a PIN, and the host must approve every incoming connection, which can be set to view-only. The codec, bitrate and framerate adapt to the network, and multiple monitors can be offered and streamed at once. It works on X11 with any window manager and on Wayland through xdg-desktop-portal, and the project includes an unattended mode for machines without someone at the keyboard.
Key features
- 01Peer-to-peer WebRTC transport with mutual-TLS signalling
- 02Hardware H.264, H.265 and AV1 encoding with software fallback
- 03Per-device pairing with PIN, certificate pinning and host-side approval
- 04View-only or full-control sessions
- 05Adaptive codec, bitrate and framerate based on the link
- 06Multi-monitor streaming and Tailscale-aware network binding
Use cases
- Accessing a home or office Linux workstation from another machine on the same network
- Remotely administering a headless or unattended Linux box over a Tailscale network
- Demonstrating or supporting a Linux desktop with view-only sessions
Topics
FAQ
- What is LinuxPlay?
- An open-source, low-latency remote desktop for Linux, written in Rust with WebRTC transport and GStreamer hardware encoding. LinuxPlay is a remote desktop tool for Linux that lets you view and control another computer's screen. The transport is WebRTC over mutual-TLS signalling, and connections are peer-to-peer and encrypted. Video is encoded through GStreamer using hardware H.264, H.265 or AV1 where available (VA-API on Intel and AMD, NVENC on Nvidia), with a software fallback, and audio uses Opus. The client is a GTK4 and libadwaita application.
- Is LinuxPlay free to use? What license does it have?
- LinuxPlay is open source under the GPL-3.0 license. Check the license terms before using it in commercial products.
- Is LinuxPlay still maintained?
- Actively maintained. The last commit to LinuxPlay was on Oct 17, 2026.
- What can I use LinuxPlay for?
- Accessing a home or office Linux workstation from another machine on the same network Remotely administering a headless or unattended Linux box over a Tailscale network Demonstrating or supporting a Linux desktop with view-only sessions
- Where can I get LinuxPlay?
- The source code and installation instructions are on GitHub: https://github.com/Techlm77/LinuxPlay
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A cross-platform command-line replacement for Xcode that builds, signs and installs iOS apps from SwiftPM packages on Linux, Windows and macOS.
A unified web development toolchain that bundles Vite, Vitest, Oxlint, Oxfmt, Rolldown and task caching behind one `vp` command.
Fair-code workflow automation platform for building AI agents and workflows, with a visual canvas, custom code, and 1500+ integrations.
Self-hosted photo and video management app for backing up, browsing and searching your media, a Google Photos alternative.
A free, open-source app for sharing files and messages with nearby devices over the local network, without internet or third-party servers.