# pacman install scriptlet — mirrors the RPM %post / deb postinst. post_install() { udevadm control --reload-rules 2>/dev/null || true udevadm trigger --subsystem-match=misc 2>/dev/null || true # Apply the UDP socket-buffer tuning now (also auto-applied at boot by systemd-sysctl). sysctl -p /usr/lib/sysctl.d/99-punktfunk-net.conf >/dev/null 2>&1 || true cat <<'MSG' punktfunk-host installed. 1. Add yourself to the 'input' group for virtual gamepads: sudo usermod -aG input "$USER" # then re-login 2. Pick a backend config (gamescope is the no-desktop default on SteamOS/Deck): mkdir -p ~/.config/punktfunk cp /usr/share/punktfunk/host.env.bazzite ~/.config/punktfunk/host.env 3. Enable the host: systemctl --user enable --now punktfunk-host NOTE: encode is NVENC-only. Install 'nvidia-utils' on an NVIDIA host. An AMD Steam Deck is NOT yet supported — it needs a VAAPI (hevc_vaapi) encoder backend (see packaging/arch/README.md). MSG # Firewall: stock Arch ships none (ports already open), but CachyOS et al. enable firewalld. We # install firewalld service definitions but never touch the running firewall — just point the way. if command -v firewall-cmd >/dev/null 2>&1; then cat <<'MSG' 4. firewalld is active — open the streaming ports once (GameStream/Moonlight shown; use 'punktfunk-native' instead for the native-only host): sudo firewall-cmd --reload # load the new service def sudo firewall-cmd --permanent --add-service=punktfunk-gamestream sudo firewall-cmd --reload MSG fi } post_upgrade() { udevadm control --reload-rules 2>/dev/null || true sysctl -p /usr/lib/sysctl.d/99-punktfunk-net.conf >/dev/null 2>&1 || true }