Skip to content

Latest commit

 

History

History
72 lines (53 loc) · 1.71 KB

File metadata and controls

72 lines (53 loc) · 1.71 KB

Session

cardputer-zero-session defines the post-login Cardputer Zero user session.

It belongs to cardputer-zero-os because the OS profile owns login handoff. It does not implement the desktop itself.

Environment

The session exports:

XDG_SESSION_TYPE=wayland
XDG_CURRENT_DESKTOP=CardputerZero
XDG_SESSION_DESKTOP=CardputerZero
CARDPUTER_ZERO_SESSION=1

Then it reads:

/etc/cardputer-zero/session.conf

User Session Chain

cardputer-zero-session
  -> cardputer-zero-labwc-session
  -> labwc on /dev/dri/cardputer-zero-internal
  -> cardputer-zero-shell-session
  -> cardputer-zero-idle
  -> zero-window-agent
  -> /opt/cardputer-zero-shell/bin/zero-shell-wayland

cardputer-zero-labwc-session constrains wlroots/labwc with:

WLR_DRM_DEVICES=/dev/dri/cardputer-zero-internal
WLR_BACKENDS=drm,libinput
WLR_RENDERER=pixman

cardputer-zero-shell-session also starts cardputer-zero-idle when present. That helper does not implement a custom power manager. It wires the user's screen-timeout preference to the standard wlroots tools swayidle and wlopm. The preference file is:

~/.config/cardputer-zero/session/display-power.json

Boundary

cardputer-zero-session may choose the session wrapper and set session-level environment. It must not become:

  • launcher,
  • settings UI,
  • terminal UI,
  • file manager,
  • app store,
  • root service for user apps.

Those belong to cardputer-zero-shell or separate user applications.

Failure Behavior

If the labwc wrapper, zero-window-agent, the agent socket, or ZeroShell binary is missing, the session exits. Recovery uses SSH, HDMI LightDM, and system logs. The session must not start an alternate task backend.