Uninstalling
Remove the Punktfunk host or a client for each install method, and clear what the removal leaves behind.
Remove Punktfunk the way you installed it, then clear what stays behind if you want a clean slate.
- A Linux host from packages, the Bazzite sysext or NixOS: Linux hosts, below.
- A host built on a Steam Deck or another SteamOS box: Uninstalling a SteamOS Host.
- The Windows host: Uninstalling the Windows Host.
- A client app, on any device: Uninstalling a Client.
- Plugins, on any host: Plugins and the script runner, before you remove the host.
Removal never deletes the config directory: ~/.config/punktfunk on Linux, %ProgramData%\punktfunk
for the Windows host. It holds the host's identity, paired devices, console password, host.env,
library, logs and plugins, so a reinstall picks up where you left off.
Linux hosts
The guided installer does steps 1 and 2 for apt, dnf,
pacman and the Bazzite sysext: sh install.sh --uninstall (fetch it with
curl -fsSLO https://punktfunk.unom.io/install.sh).
With Reachable without logging in or seat profiles set up, open Profiles in the console before step 1: turn Reachable without logging in off and remove the seat profiles, which deletes their accounts.
-
Stop the user services first. Package removal can't see the links
enablewrote in your home, and the units then fail at every login:systemctl --user disable --now punktfunk-host punktfunk-web punktfunk-scriptingAdd
punktfunk-kde-sessionif you set up the headless KDE session. -
Remove the packages and the repository. Name only the packages you installed:
How you installed Remove Ubuntu (apt) sudo apt purge punktfunk-host punktfunk-web punktfunk-scripting punktfunk-seats punktfunk-gamescope punktfunk-bun punktfunk-client, thensudo rm -f /etc/apt/sources.list.d/punktfunk.list /etc/apt/keyrings/punktfunk.asc && sudo apt updateFedora (dnf) sudo dnf remove punktfunk punktfunk-web punktfunk-scripting punktfunk-client, thensudo rm -f /etc/yum.repos.d/punktfunk.repoBazzite / Fedora Atomic, layered RPMs sudo rpm-ostree uninstall punktfunk punktfunk-web(whatrpm-ostree statuslists), remove/etc/yum.repos.d/punktfunk.repo, then rebootBazzite sysext See below Arch / CachyOS (pacman) sudo pacman -Rns punktfunk-host punktfunk-web punktfunk-scripting punktfunk-client, then delete the[punktfunk](or[punktfunk-canary]) section from/etc/pacman.confOmarchy punktfunk-omarchy removefirst, then as ArchSteam Deck on-device build Uninstalling a SteamOS Host NixOS See below -
Clear what stays behind — the config directory, the tray's autostart entry, the three groups the packages create, lingering and the unit drop-ins:
rm -rf ~/.config/punktfunk ~/.config/systemd/user/punktfunk-*.service.d rm -f ~/.config/autostart/io.unom.punktfunk.tray.desktop sudo groupdel punktfunk-update sudo groupdel punktfunk-door sudo gpasswd -d "$USER" punktfunk; sudo groupdel punktfunk sudo loginctl disable-linger "$USER" # only if nothing else needs itDrop the
punktfunkgroup rather than keeping it: it can attach emulated USB devices. If Reachable without logging in was on, runsudo userdel punktfunkfirst, orgroupdel punktfunk-doorrefuses: the door's user holds that group. Seats leave apunktfunk-gamesgroup:sudo groupdel punktfunk-games. -
Close the firewall ports you opened:
Firewall Close ufw sudo ufw delete allow punktfunk-native, andpunktfunk-gamestream/punktfunk-webif you allowed themfirewalld sudo firewall-cmd --permanent --remove-service=punktfunk-native(and the other two), thensudo firewall-cmd --reloadIf the setup moved the management port next to Sunshine, also remove
47991/tcp.
On Arch you can drop the repository key too:
sudo pacman-key --delete E0CA04465C99C936E0B0C6510A317015A34DDD69.
Bazzite / Fedora Atomic (systemd-sysext)
Stop the services (step 1) before you remove the image, because the binaries leave with it:
sudo punktfunk-sysext remove
sudo rm -f /etc/modules-load.d/punktfunk.conf /etc/udev/rules.d/60-punktfunk.rulesremove deletes the image, /etc/punktfunk-sysext.conf and the gamescope session drop-in
unless you edited it. The two files above it leaves. On a Bazzite with Steam's
session manager it may also have added an SELinux module: sudo semodule -r punktfunk-ds-inhibit.
Then do steps 3 and 4.
SteamOS / Steam Deck host (on-device build)
The on-device build has no uninstall script; remove it by hand with Uninstalling a SteamOS Host.
NixOS
Remove what you declared: the services.punktfunk.* options, punktfunk.nixosModules.default and
the punktfunk flake input. Then sudo nixos-rebuild switch. The unit, udev rules, tuning,
firewall ports and group memberships go with the generation; store paths stay until you
garbage-collect, and ~/.config/punktfunk stays regardless.
Plugins and the script runner
Plugins live in the host's config directory, so they survive host removal. Remove them first, or delete the directories afterwards:
punktfunk-host plugins list # what's installed
punktfunk-host plugins remove <name> # uninstall one
punktfunk-host plugins disable # stop and disable the runnerOn Windows run these from an elevated PowerShell. plugins remove leaves each plugin's settings and
cache in plugin-state/<plugin>/ (including API keys you entered) and the runner's plugin-token;
deleting the config directory removes them. The runner package (punktfunk-scripting) comes off
with the host packages; on Windows it goes with the host installer.
Removing the pairing, not the software
- On the host: unpair the device in the web console. It stops being trusted immediately.
- On a Linux or Windows client:
punktfunk hosts forget <host>drops one saved host;punktfunk resetdrops all of them and the stream settings but keeps the client's identity. The Linux desktop app also takespunktfunk-client --forget-host <fingerprint|host[:port]>.
See Pairing for how the two halves fit.
Release Channels
Stable follows releases, canary follows main — pick one per machine, subscribe to it, pin a version or switch.
Uninstalling a SteamOS Host
Remove the host you built on a Steam Deck or another SteamOS box — the services, the build container, the files under your home and the root-owned tuning.