Commit Graph

2 Commits

Author SHA1 Message Date
7bfaa3a498 Auto-recover from sunshine-bin library drift; reset-failed before service start
Two robustness fixes for failures hit on a real install.

lib/packages.sh
- After installing $SUNSHINE_PKG, run ldd against the binary and check for
  "not found" entries. sunshine-bin ships against whichever ICU was current
  at AUR-build time; on rolling Arch (jarvis is on ICU 78, package built
  against ICU 76) this leaves libicuuc.so.76 unresolved and sunshine exits
  127 on every start, eventually tripping the systemd start-limit.
- If sunshine-bin has unresolved deps, remove it and fall back to the
  source build (AUR 'sunshine'), then re-verify. If the user explicitly
  chose --from-source and it still fails, bail with the ldd diagnostic.

lib/service.sh
- systemctl --user reset-failed before restart, so a previous attempt that
  hit start-limit-hit doesn't immediately reject the new start request.
  (Re-running install.sh after a broken first attempt was failing because
  systemd remembered the prior rate-limit trip.)
2026-05-18 10:47:50 -06:00
a9dcbc1db8 Initial scaffold: idempotent Sunshine + Moonlight installer for Omarchy
Sets up bidirectional game streaming across Omarchy/Hyprland/Wayland
machines (NVIDIA desktop and AMD Framework laptop), with the Macbook
as an additional Moonlight client.

The same install.sh runs on either machine; GPU vendor is detected at
runtime and the appropriate hardware-encode packages are installed.

Includes:
- KMS capture setup (cap_sys_admin on sunshine, input group, uinput udev rule)
- ufw / firewalld port opening when a firewall is active
- systemd --user service + loginctl enable-linger for always-on hosting
- uninstall.sh with --purge for user data removal
- Flags to install host-only or client-only
2026-05-18 10:11:53 -06:00