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.
Remove a Punktfunk host you built on a Steam Deck or another SteamOS box, including the files that would otherwise survive every SteamOS update.
SteamOS / Steam Deck host (on-device build)
There is no uninstall script. sh install.sh --uninstall only stops the services; do the rest by
hand, in this order.
-
Stop and remove the user services:
systemctl --user disable --now punktfunk-host punktfunk-web \ punktfunk-scripting punktfunk-rebuild-check rm -f ~/.config/systemd/user/punktfunk-*.service rm -rf ~/.config/systemd/user/punktfunk-*.service.d systemctl --user daemon-reload sudo loginctl disable-linger "$USER" # only if nothing else on the Deck needs it -
Remove the build container and the files under your home:
distrobox rm -f pf2 # the build container (~1 GB) rm -f ~/.local/bin/punktfunk-scripting ~/.local/bin/punktfunk-gamescope rm -rf ~/.local/lib/punktfunk-scripting ~/.local/share/punktfunk-scripting rm -f ~/.local/share/punktfunk/gamescope.stamp rm -f ~/.local/share/applications/io.unom.punktfunk.host.desktop rm -f ~/.local/bin/punktfunk-tray ~/.config/autostart/io.unom.punktfunk.tray.desktop rm -f ~/.local/share/applications/io.unom.punktfunk.starthost.desktop rm -f ~/.local/share/icons/hicolor/*/apps/punktfunk-tray*.png rm -rf ~/punktfunk # the source checkout and its buildThe container shares your home, so
~/.cargo,~/.rustupand~/.bunare there too. Delete them only if nothing else of yours uses Rust or bun. -
If you set up Reachable without logging in, turn it off under Profiles first, then remove it. The last line deletes every seat's home and the shared games folder:
sudo systemctl disable --now punktfunk-web-door punktfunk-door punktfunk-seats \ var-lib-punktfunk.mount 'var-lib-punktfunk\x2dseats.mount' sudo rm -rf /opt/punktfunk /etc/systemd/system/punktfunk-seat@.service.d sudo rm -f /etc/systemd/system/punktfunk-{seats,seat@,door,web-door,door-on@,door-off@}.service \ /etc/systemd/system/var-lib-punktfunk*.mount \ /etc/systemd/system/user@.service.d/50-punktfunk-seats.conf \ /etc/systemd/user/punktfunk-scripting.service /etc/pam.d/punktfunk-seat \ /etc/polkit-1/rules.d/49-punktfunk-door.rules \ /etc/udev/rules.d/65-punktfunk-seats.rules /etc/tmpfiles.d/punktfunk-seats.conf sudo rm -rf /home/.steamos/offload/var/lib/punktfunk /home/.steamos/offload/var/lib/punktfunk-seatsEach seat's account stays:
getent passwd | grep punktfunk-seat=lists them forsudo userdel, andsudo userdel punktfunkremoves the door's. Then drop the groups it used:sudo groupdel punktfunk-door; sudo groupdel punktfunk-update; sudo groupdel punktfunk-games. -
Remove the root-owned tuning. Don't skip it: the keep-list entry carries these files through every SteamOS update.
sudo rm -f /etc/atomic-update.conf.d/punktfunk.conf \ /etc/udev/rules.d/60-punktfunk.rules \ /etc/modules-load.d/punktfunk.conf \ /etc/sysctl.d/99-punktfunk-net.conf \ /etc/NetworkManager/dispatcher.d/90-punktfunk-frame-adapter \ /etc/systemd/system/user@.service.d/50-punktfunk-nice.conf sudo udevadm control --reload-rules sudo systemctl daemon-reload -
Optional:
rm -rf ~/.config/punktfunkfor a clean slate, andsudo gpasswd -d "$USER" punktfunk; sudo groupdel punktfunk. If you had no KDE RemoteDesktop grant before, the installer seeded~/.local/share/flatpak/db/kde-authorized; delete it if nothing else relies on it. Yourinputgroup membership is harmless to keep.