Files
lhns--steam-frame-nix/docs/two-sessions.md
T
Pierre Kisters 13d7a437f8 docs: split feature details into docs/
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.
2026-09-29 00:31:35 +02:00

34 lines
1.6 KiB
Markdown

# 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=` with `steamFrame.session.busEnv`
([session settings](desktop-integration.md#session-settings-and-services)).
- **User services:** home-manager skips `reloadSystemd` when switching from
the desktop terminal, so `steamFrame.session.services` talks 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](keyboard.md#layout)).
- **Clipboard:** separate per session ([clipboard sync](desktop-integration.md#clipboard-sync)).
- **Firefox:** the sessions can't see each other's Firefox, so a second
instance stops at the locked profile ([desktop profile](firefox.md#options)).
Switch (`home-manager switch`) from a terminal **in the nested desktop**, so
clipboard-sync restarts with the desktop's environment.