Notes, thoughts, and tutorials from building Punktfunk.
Punktfunk has a native app for LG webOS TVs, built by dyptan-io. It streams up to 4K120 with HDR through the TV's own video hardware.
A friend wants to join tonight but isn't on your Wi-Fi. Let them reach one Punktfunk host, and nothing else on your network.
A Linux host can give each streaming device its own game: its own screen, input, sound and mic, and optionally its own Steam.
Punktfunk's Windows display driver encodes each frame as Windows composes it, and the host only sends the result. On an RTX 4090 at 4K120 that means 4–8 ms end to end.
The BC-250's video encoder doesn't work, so most streaming hosts can't use it. Punktfunk's PyroWave codec encodes on the GPU's shader cores instead, over a cable.
A 4-digit PIN has only 10,000 values. With SPAKE2 pairing, an attacker gets one online guess per PIN and nothing to crack offline.
A game at 100 % GPU makes the stream wait its turn. Punktfunk asks for real-time GPU priority by default on Windows and Linux. Where, and what it costs.
A headless streaming PC needs a virtual display. Punktfunk's Windows driver matches your client's mode and HDR, shows the lock screen, and encodes the frames itself.
Punktfunk's virtual screens skip Desktop Duplication and WGC. Its own display driver receives each frame from Windows and encodes it there.
Vulkan games read HDR from the GPU driver, which hides it on a virtual display. Three checks show whether that is your problem.
NVIDIA and AMD Vulkan drivers accept an HDR swapchain on a virtual display but don't list the format. A small implicit layer adds the missing entries.
NVIDIA and AMD Vulkan drivers hide HDR from games on a virtual display. Punktfunk's Windows installer ships a Vulkan layer that shows it to them again.
Small text smears because most streams send a quarter of the colour detail. Where Punktfunk sends full 4:4:4 chroma, and how to turn it on.
Which virtual pad a Punktfunk host creates, what each client forwards, and what to pick for gyro, adaptive triggers and DualSense haptics.
How Punktfunk carries game sound, surround and your microphone, keeps audio in step with the picture, and what to check when it crackles.
Punktfunk gives each device its own virtual screen instead of capturing one of your monitors, and lets you decide what your monitors do meanwhile.
A fair roundup of self-hosted game streaming: Sunshine + Moonlight, Apollo, Parsec, Steam Remote Play and Punktfunk, with a pick for each setup.
Sunshine + Moonlight is the open-source default for streaming your PC. Where Punktfunk differs, and where Sunshine + Moonlight is still the better pick.
The Punktfunk Decky plugin puts your hosts in the Quick Access Menu and on Steam's own Play button, so streaming stays in Gaming Mode.
Punktfunk builds the host's display at your client's exact size, so a 21:9 or 32:9 screen gets its own shape instead of black bars.
Streamed HDR works only when host, codec and client all carry 10-bit PQ. Which Punktfunk hosts and apps do, and how to check what you got.
Punktfunk creates a display at your device's resolution and refresh rate on KDE, GNOME, gamescope, sway and Hyprland. No monitor, no EDID file.