# Clean Reset: Remove All User Modifications When Sunshine was modified with workarounds (uinput shim, input bridge, custom config) and you want to go back to a completely clean package state — removing everything created by the user, keeping only what the .deb package installed. ## What to remove ```bash # Systemd override (all user-added drop-ins) rm -rf ~/.config/systemd/user/app-dev.lizardbyte.app.Sunshine.service.d/ # Stale manual service file (user-created, not from .deb package) rm -f ~/.config/systemd/user/sunshine.service # Workaround files rm -f ~/.config/sunshine/input_bridge.py rm -f ~/.config/sunshine/uinput_fix.so rm -f ~/.config/sunshine/sunshine_state.json.bak # Custom config (let package defaults regenerate) rm -f ~/.config/sunshine/sunshine.conf rm -f ~/.config/sunshine/apps.json # Reload systemd systemctl --user daemon-reload ``` ## What to keep - `~/.config/sunshine/credentials/` — pairing certificates, needed for Moonlight clients to reconnect - `~/.config/sunshine/sunshine.log` — runtime log artifact, harmless ## After reset Sunshine regenerates `sunshine.conf` and `apps.json` with package defaults on next start. The web UI at `https://localhost:47990` prompts for first-time username/password setup. All previously paired Moonlight clients must be re-paired. ## Ubuntu 26.04 note Kernel 7.0.0 has broken uinput. A clean install means NO input workarounds — keyboard/mouse injection will fail silently. The uinput diagnostic (see `scripts/diagnose-uinput.sh`) returns -25. To get input working, you must re-deploy either: - The LD_PRELOAD shim (`scripts/uinput-shim.c`) — but this may not intercept Inputtino's internal code path - The xdotool input bridge (`scripts/sunshine-input-bridge.py`) — reliable fallback