mirror of
https://github.com/lhns/steam-frame-nix.git
synced 2026-10-06 05:00:24 +02:00
One page per feature group (sessions, keyboard, launcher menu, dashboard, SteamVR debugger, Firefox, Jellyfin, UI patches, changes outside Nix) and the full options table in docs/options.md.
1.6 KiB
1.6 KiB
Two sessions
The Frame runs two graphical sessions at once; most workarounds exist because of their differences:
| Steam / VR session | Nested Plasma desktop | |
|---|---|---|
| Compositor | gamescope | KWin (nested, shown as a VR window) |
| Displays | X display :0 (apps show as floating VR windows) |
own Wayland + Xwayland :2 |
| D-Bus | the outer session bus, /run/user/1000/bus |
a private bus |
XDG_RUNTIME_DIR |
/run/user/1000 |
its own |
| systemd user manager | yes | not reachable |
Consequences:
- Wallet: there should be one
kwalletd6, on the outer bus; apps started from the desktop would otherwise start a second one whose secrets VR can't see. Prefix launchers'Exec=withsteamFrame.session.busEnv(session settings). - User services: home-manager skips
reloadSystemdwhen switching from the desktop terminal, sosteamFrame.session.servicestalks to the outer user manager directly. - Launchers: the "+" menu only sees
~/.local/share/applications(not~/.nix-profile/share), so entries are written there, shadowing Flatpak/package entries with the same ID. - Keyboard layout: KDE's layout only affects the nested desktop (keyboard layout).
- Clipboard: separate per session (clipboard sync).
- Firefox: the sessions can't see each other's Firefox, so a second instance stops at the locked profile (desktop profile).
Switch (home-manager switch) from a terminal in the nested desktop, so
clipboard-sync restarts with the desktop's environment.