Settings TUI (bin/deckshift-settings):
- Don't crash when the saved OUTPUT_CONNECTOR is no longer plugged in
(stale connector → empty mode list → grep + pipefail killed the script)
- Add [hybrid-nvidia] GPU mode for NVIDIA dGPU + AMD/Intel iGPU laptops:
sets __NV_PRIME_RENDER_OFFLOAD / __VK_LAYER_NV_optimus / __GLX_VENDOR_LIBRARY_NAME
so games inside gamescope render on NVIDIA while gamescope itself runs on
the iGPU (necessary on hybrid laptops where eDP is wired to the iGPU)
- Add [hybrid-amd] GPU mode for AMD dGPU + AMD/Intel iGPU laptops: sub-menu
to pick the dGPU, then sets DRI_PRIME + MESA_VK_DEVICE_SELECT
- Single GPU-mode line in the status panel covering all five states
(auto / NVIDIA direct / AMD direct / hybrid-nvidia / hybrid-amd)
- Switch GPU selection to clear-then-set so mode-switching never leaves
stale flags behind
Installer (deckshift.sh):
- Drop monitor / resolution / refresh selection from the installer entirely;
display keys are owned by the TUI now. Avoids stale OUTPUT_CONNECTOR
values when the configured display is later unplugged
- Switch gamescope-session-plus.conf writer from heredoc-overwrite to
per-key set/unset (sed-based, mirrors flush_pending in the TUI) so the
installer is idempotent and re-runs preserve user-set display values
- Strip stale opposite-GPU keys when re-running on a changed GPU
(e.g. NVIDIA → AMD swap clears VULKAN_ADAPTER / GBM_BACKEND)
- Fix switch-to-desktop: replace racy `stop sddm` + disowned `start sddm`
with a single atomic `systemctl restart sddm`. The disowned start was
getting killed by user-session teardown before SDDM came back up,
leaving the user on a black screen after Super+Shift+R