PunktfunkPunktfunk

Bazzite

Install the Punktfunk host on Bazzite (or any Fedora Atomic spin) as a sysext — no layering, no reboot — and stream both Gaming Mode and the desktop.

Install the host on Bazzite or another Fedora Atomic spin. Bazzite already ships the GPU driver, gamescope and KDE Plasma, and one host streams both Gaming Mode and the KDE desktop, following the box when you switch.

One command instead? The guided installer (preview) does steps 1 to 4, except the KDE desktop setup in step 3:

curl -fsSL https://punktfunk.unom.io/install.sh | sh

1. Install the host

The host installs as a signed systemd system extension: no rpm-ostree layering, no reboot, and it survives OS updates.

curl -fsSLO https://git.unom.io/unom/punktfunk/raw/branch/main/packaging/bazzite/punktfunk-sysext.shsudo bash punktfunk-sysext.sh install

This installs the host, the console, the tray, the plugin runner and the HDR punktfunk-gamescope build. sudo punktfunk-sysext update updates it and restarts the services, or use the console; sudo punktfunk-sysext status shows the installed build.

2. Let it use your controllers

Bazzite manages the input group through a recipe, so use it instead of usermod. Then log out and back in:

ujust add-user-to-input-group add    # virtual gamepads
sudo usermod -aG punktfunk "$USER"   # virtual Steam Deck controller

3. Start it

Enable the services and linger from a terminal in the desktop session. Without linger the host waits for a login that a headless box never gets:

systemctl --user enable --now punktfunk-host punktfunk-web
sudo loginctl enable-linger "$USER"

To stream the KDE desktop (Gaming Mode needs neither step): log out and back into the Desktop session once, then seed the input grant so the host doesn't wait on a dialog nobody answers:

bash /usr/share/punktfunk/bazzite/kde-desktop-setup.sh

4. Open the firewall

Bazzite runs firewalld, and no client reaches the host until you open it. Open the host, and the console for other devices:

sudo firewall-cmd --reload   # load the service definitions the image installed
sudo firewall-cmd --permanent --add-service=punktfunk-native --add-service=punktfunk-web
sudo firewall-cmd --reload

For Moonlight, also add punktfunk-gamestream (Ports & firewall).

Next: Quick Start, step 3: open the console and pair a device.

More

  • How Gaming Mode reaches the client, and how to mirror the box's own screen instead: Steam / gamescope. The desktop: KDE.
  • Stream lags, then freezes, with a DualSense pad: Troubleshooting.
  • Channels, rollback and major rebases: Updating. Remove: Uninstall.
  • Already layered with rpm-ostree? Install the sysext, which takes over at once, then sudo rpm-ostree uninstall punktfunk punktfunk-web && systemctl reboot.

On this page