Introduction
Low-latency desktop and game streaming from a Linux host to any of your devices.
punktfunk streams your Linux desktop or games to your other devices — a laptop, a Mac, a tablet, a TV — at low latency and at each device's own resolution and refresh rate. Run the host on a Linux machine with an NVIDIA GPU, connect a client, and you're streaming.
It's built for the things that make streaming feel native:
- Your device's exact mode. The host spins up a virtual display sized to the client that's connecting — 1080p60 to your laptop, 1440p120 to your desktop, 4K to your TV — at the same time. No letterboxing, no scaling, no juggling your real monitors.
- Low latency, GPU end to end. Frames go straight from the compositor to the GPU encoder (NVENC) with zero CPU copies, and over a transport tuned for responsiveness rather than throughput.
- Works with the apps you already have. punktfunk speaks the GameStream protocol, so any Moonlight client connects out of the box — and a faster native protocol with a dedicated app for Apple devices.
- Secure by default. Hosts require a one-time PIN pairing; after that, devices reconnect on a pinned identity. No accounts, no cloud.
Pick your path
How It Works
The ideas behind punktfunk in a few minutes — virtual displays, the two protocols, pairing.
Quick Start
From nothing to streaming: set up a host and connect your first client.
Host Setup
Install the host on Ubuntu (GNOME or KDE), Fedora (KDE), or Bazzite.
Connect a Client
Stream with the Apple app, Moonlight, or the Linux client.
What you need
- A Linux host with an NVIDIA GPU (for the NVENC hardware encoder) running one of the supported setups: Ubuntu (GNOME or KDE), Fedora (KDE), or Bazzite.
- A client device to stream to — a Mac/iPhone/iPad/Apple TV (native app), or anything that runs Moonlight.
- Both on the same network (LAN or VPN). punktfunk is designed for a trusted local network.
Ready? Head to the Quick Start.