Skip to content

[BUG] Umbriel does not export a compositor-PID variable (like labwc's LABWC_PID), so session apps cannot log out the compositor → GDM login loop #77

Description

@datbtw

Submission checklist

  • I have searched existing issues and confirmed this is not a duplicate.
  • I am using the latest release or a recent build of main.
  • I confirmed this happens in Umbriel itself, not in a desktop shell, a portal backend, or a single application.
  • I checked whether my configuration causes it, for example by reproducing with the packaged examples/config.toml.

Bug description

Umbriel publishes session environment variables for its child processes (WAYLAND_DISPLAY, DISPLAY, XDG_CURRENT_DESKTOP, ...) but provides no way for session control apps to discover/terminate the compositor. Noctalia's session logout relies on LABWC_PID (labwc) and, since Umbriel never sets it, logging out only exits Noctalia while umbriel.service keeps running → next sign-in via GDM is a login loop ("An Umbriel session is already running").
Started at a dedicated TTY via GDM's gdm-wayland-session --handle-registration start-umbriel, managed by systemd (umbriel.service).

Steps to reproduce

  1. Sign in to the Umbriel session via GDM (shell = Noctalia).
  2. Log out (e.g. noctalia msg session logout).
  3. Try to sign in again through GDM.
  4. Observe login loop — previous umbriel.service still active.

Expected behavior

Umbriel should export a PID variable (analogous to labwc's LABWC_PID) that session control apps can use to terminate the compositor, OR otherwise integrate cleanly with the session manager on logout.

Actual behavior

Logging out leaves the Umbriel compositor running; subsequent sign-in loops.

Umbriel version

umbriel 0.1.0 (f2faf0d)

Last working version

N/A

Session type

Native session (TTY or display manager)

Installation method

Source build (just install)

Affected area

Session lock, clipboard, or screen capture

Distribution

Gentoo-based

Environment information

- Distribution: Gentoo Linux x86_64
- Installation method: source build (GURU, live git)
- Kernel: 7.3.0-rc1-datexe
- GPU: Intel Iris Xe Graphics (i915), Mesa 26.2.1
- Session manager: GDM 50.1 (Wayland)
- Session type: Umbriel managed by systemd
- Umbriel version: 0.1.0 (f2faf0dd05ac)
- Output: 1920x1200 @60Hz scale 1 [built-in panel]
wlroots: bundled in Umbriel source; SceneFX: bundled in Umbriel source

Logs and error output

`noctalia msg session logout` prints: `logout: LABWC_PID is not set`
ug 31 18:58:14 gentoo umbriel[1432]: 18:58:14.452 [INF] [seat] keyboard: keymap loaded
Aug 31 18:58:14 gentoo umbriel[1430]:  2026-08-31T11:58:14.462Z INFO  xwayland_process           > The XKEYBOARD keymap compiler (xkbcomp) reports:
Aug 31 18:58:14 gentoo umbriel[1430]:  2026-08-31T11:58:14.462Z INFO  xwayland_process           > > Warning:          Unsupported maximum keycode 709, clipping.
Aug 31 18:58:14 gentoo umbriel[1430]:  2026-08-31T11:58:14.462Z INFO  xwayland_process           > >                   X11 cannot support keycodes above 255.
Aug 31 18:58:14 gentoo umbriel[1430]:  2026-08-31T11:58:14.463Z INFO  xwayland_process           > > Warning:          Virtual modifier Hyper multiply defined
Aug 31 18:58:14 gentoo umbriel[1430]:  2026-08-31T11:58:14.463Z INFO  xwayland_process           > >                   Using 0, ignoring 0
Aug 31 18:58:14 gentoo umbriel[1430]:  2026-08-31T11:58:14.463Z INFO  xwayland_process           > > Warning:          Virtual modifier ScrollLock multiply defined
Aug 31 18:58:14 gentoo umbriel[1430]:  2026-08-31T11:58:14.463Z INFO  xwayland_process           > >                   Using 0, ignoring 0
Aug 31 18:58:14 gentoo umbriel[1430]:  2026-08-31T11:58:14.465Z INFO  xwayland_process           > Errors from xkbcomp are not fatal to the X server
Aug 31 18:58:16 gentoo umbriel[1414]: 18:58:16.981 [INF] [main] shutting down
Aug 31 18:58:16 gentoo umbriel[1432]: 18:58:16.984 [INF] [main] Wayland display closed during failed to read Wayland events; shutting down (display_error=104 (Connection reset by peer))
Aug 31 18:58:16 gentoo umbriel[1432]: 18:58:16.984 [INF] [app] shutdown
Aug 31 18:58:16 gentoo umbriel[1432]: 18:58:16.988 [INF] [texcache] evicted /home/datexe/Pictures/Wallpapers/wallhaven-9mdmwd.jpg
Aug 31 18:58:16 gentoo umbriel[1432]: 18:58:16.996 [INF] [logind] logind sleep delay inhibit released
Aug 31 18:58:17 gentoo systemd[1349]: umbriel.service: Consumed 3.408s CPU time over 8.048s wall clock time, 843.7M memory peak.
=== END ===

Additional context

Related Noctalia bug: noctalia-dev/noctalia#4175

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workinggentooIssue reported for this Linux distribution familysession:nativeIssue reported for this Umbriel session type

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions