Thanks, Alessandro, for the fast turnaround on this — really appreciate the
work. Good to see the fix already shipped in Stonking and on its way to
Resolute via SRU. Will continue running LightDM in the meantime and test
GDM once the patched gdm3 lands on 26.04.

Grateful for the careful packaging notes in the changelog, too — the
Ubuntu/Debian merge work is genuinely valuable.

Best
Antonio

On Fri, Jun 5, 2026 at 1:35 AM Launchpad Bug Tracker <
[email protected]> wrote:

> This bug was fixed in the package gdm3 - 50.1-0ubuntu1
>
> ---------------
> gdm3 (50.1-0ubuntu1) stonking; urgency=medium
>
>   * Merge with debian. Remaining changes:
>     + readme.debian: update for correct paths in ubuntu
>     + control:
>       - don't recommend desktop-base
>       - depend on bash for config_error_dialog.patch
>       - update vcs field
>     + rules:
>       - don't override default user/group
>       - override dh_installinit with --no-start to avoid session being
> killed
>     + rules, readme.debian, gdm3.8.pod:
>       use upstream custom.conf instead of daemon.conf
>     + gdm3.sysusers: rename user and group back to gdm
>     + debian/tests/control:
>       - Use gdm user name
>     + gdm3.*.pam: make pam_env read ~/.pam_environment, as we use in g-c-c
>       settings
>     + add revert_override_lang_with_accountservices.patch:
>       - on ubuntu accountservices only stores the language and not the
>         full locale as needed by lang.
>     + add dont_set_language_env.patch:
>       - don't run the set_up_session_language() function, since it
>         overrides variable values set by ~/.pam_environment
>     + add config_error_dialog.patch:
>       - show warning dialog in case of error in ~/.profile etc. and
>         don't let a syntax error make the login fail
>     + add prefer_ubuntu_session_fallback.patch:
>       - Prefer ubuntu session as fallback instead of GNOME
>     + add start-after-cloudinit.patch:
>       - wait for cloud-init to configure locales
>     + debian/greeter.dconf-defaults:
>       - don't set debian settings in the greeter's dconf db
>       - keep smartcard auth enabled by default
>     + Add systemd drop-in to skip snapd.session-agent in the greeter
> session
>       (LP #2125133)
>     + debian/watch: Look for alpha releases
>   * Xsession: Define has_option before sourcing Xsession.d.
>     Scripts in Xsession.d actually rely on has_option to be present.
>     So we need debian/implement-has_option-in-Xsession.patch to add
>     OPTIONS and has_option at a location before sourcing of Xsession.d
>     added by the subsequent debian/run_xsession.d.patch.
>   * New upstream release (LP: #2152848)
>
>  -- Alessandro Astone <[email protected]>  Fri, 29 May
> 2026 10:26:27 +0200
>
> ** Changed in: gdm3 (Ubuntu Stonking)
>        Status: Fix Committed => Fix Released
>
> --
> You received this bug notification because you are subscribed to the bug
> report.
> https://bugs.launchpad.net/bugs/2152848
>
> Title:
>   GDM 50 incorrectly sets XDG_SESSION_TYPE=wayland for X11 user
>   sessions, breaking Cinnamon and other X11-only desktops
>
> Status in gdm:
>   Fix Released
> Status in gdm3 package in Ubuntu:
>   Fix Released
> Status in gdm3 source package in Resolute:
>   Triaged
> Status in gdm3 source package in Stonking:
>   Fix Released
>
> Bug description:
>   [ Impact ]
>
>   When GDM 50 is configured to launch an X11 user session (e.g., Cinnamon),
>   the spawned session incorrectly sets XDG_SESSION_TYPE=wayland.
> gdm-x-session then broadcasts this incorrect value through
> dbus-update-activation-environment to all D-Bus-activated session services.
> Components like cinnamon-screensaver
>   honor XDG_SESSION_TYPE and exit immediately ("disabled in wayland
> sessions"),
>   causing required-component failure for cinnamon-session, and muffin
>   attempts to initialize a native Wayland backend instead of X11, hitting
>   EBUSY because GDM's Wayland compositor still holds DRM control.
>
>   Net effect: Cinnamon (and presumably other X11-only desktops) cannot be
>   launched from GDM on Ubuntu 26.04 — every login attempt times out at 30
>   seconds and returns to the greeter.
>
>   [ Test Plan ]
>
>   1. Fresh Ubuntu 26.04 install with GDM (default).
>   2. `sudo apt install cinnamon-desktop-environment`
>   3. Reboot.
>   4. At GDM greeter, select user → cog icon → choose "Cinnamon" (Xorg) →
> log in.
>
>   Expected: Cinnamon X11 session loads.
>   Actual: Black screen for ~30 seconds, then returns to GDM greeter.
>
>   [ Other info ]
>
>   ## Evidence (from journalctl of the failed boot)
>
>   Environment GDM sets for the X session, captured from gdm-x-session's
>   dbus-update-activation-environment output:
>
>     XDG_SESSION_DESKTOP=cinnamon
>     XDG_SESSION_TYPE=wayland       ← incorrect for an X11 session
>     XDG_SESSION_EXTRA_DEVICE_ACCESS=render:accel
>     GDMSESSION=cinnamon
>     DESKTOP_SESSION=cinnamon
>
>   Then in the failing session:
>
>     cinnamon[N]: Failed to create backend: Could not take control:
>       GDBus.Error:System.Error.EBUSY: Device or resource busy
>     org.cinnamon.ScreenSaver: cinnamon-screensaver is disabled in
>       wayland sessions. Exiting.
>     cinnamon-session-binary: WARNING: t+30s: Application
>       'cinnamon.desktop' failed to register before timeout
>     cinnamon-session-binary: CRITICAL: Unable to start session: A program
>       required by the session failed to start.
>
>   ## Causal chain (verified)
>
>     GDM greeter (Wayland) ──PAM session──▶ gdm-session-worker
>                                               │ sets
> XDG_SESSION_TYPE=wayland
>                                               ▼
>                                          gdm-x-session
>                                          (starts Xorg correctly,
>                                           but inherited env unchanged)
>                                               │
>                                               ▼
>                                      dbus-update-activation-environment
>                                      broadcasts XDG_SESSION_TYPE=wayland
>                                      to all D-Bus services in the session
>                                               │
>                          ┌────────────────────┴────────────────────┐
>                          ▼                                         ▼
>                 cinnamon (muffin)                     cinnamon-screensaver
>                 tries native Wayland backend          exits: "disabled in
>                 → DRM EBUSY                            wayland sessions"
>                 → no compositor                       → required-component
>                 → no shell, blank X screen              failure cascade
>
>   Note: `loginctl show-session $N` reports Type=x11 correctly for the user
>   session. The bug is specifically in the D-Bus activation environment
>   gdm-x-session broadcasts.
>
>   ## Workaround
>
>   Replace GDM with LightDM:
>
>     sudo apt install lightdm lightdm-gtk-greeter slick-greeter
>     sudo dpkg-reconfigure lightdm    # choose lightdm
>     sudo systemctl reboot
>
>   LightDM does not run a Wayland greeter, so XDG_SESSION_TYPE=x11
> propagates
>   correctly and Cinnamon launches normally. Confirmed working on the same
>   hardware.
>
>   WaylandEnable=false in /etc/gdm3/custom.conf does NOT fix the bug. Its
>   semantics changed in GDM ~44 to only hide Wayland from the user session
>   chooser; GDM's own greeter still runs Wayland regardless.
>
>   ## System info
>
>   - Ubuntu 26.04 LTS (Resolute Raccoon)
>   - Kernel 7.0.0-17-generic
>   - GDM3 50.0-0ubuntu1
>   - Cinnamon 6.4.13 (universe)
>   - Hardware: Razer Blade 15 Early 2020 (Intel UHD + GTX 1660 Ti hybrid,
> PRIME on-demand)
>   - Nvidia driver: 595.58.03
>
>   ## Notes for triage
>
>   - Reproducible: yes, every boot
>   - The bug likely affects any X11-only desktop (MATE, XFCE may be
> similar),
>     not just Cinnamon — anything whose components check XDG_SESSION_TYPE
>     or whose compositor uses the env-var to pick backend.
>   - Possible upstream fix path: gdm-x-session should override
>     XDG_SESSION_TYPE=x11 in the environment
>   - I have additional logs available if useful.
>
>   ProblemType: Bug
>   DistroRelease: Ubuntu 26.04
>   Package: gdm3 50.0-0ubuntu1
>   ProcVersionSignature: Ubuntu 7.0.0-17.17-generic 7.0.2
>   Uname: Linux 7.0.0-17-generic x86_64
>   ApportVersion: 2.34.0-0ubuntu2
>   Architecture: amd64
>   CasperMD5CheckResult: pass
>   CurrentDesktop: X-Cinnamon
>   Date: Sun May 17 13:53:27 2026
>   InstallationDate: Installed on 2025-05-31 (351 days ago)
>   InstallationMedia: Ubuntu 25.04 "Plucky Puffin" - Release amd64
> (20250415.3)
>   ProcEnviron:
>    LANG=en_US.UTF-8
>    PATH=(custom, no user)
>    SHELL=/bin/bash
>    TERM=xterm-256color
>    XDG_RUNTIME_DIR=<set>
>   SourcePackage: gdm3
>   UpgradeStatus: No upgrade log present (probably fresh install)
>   mtime.conffile..etc.gdm3.custom.conf: 2026-05-17T03:41:22.118500
>
> To manage notifications about this bug go to:
> https://bugs.launchpad.net/gdm/+bug/2152848/+subscriptions
>
>

-- 
You received this bug notification because you are a member of Ubuntu
Desktop Bugs, which is subscribed to gdm3 in Ubuntu.
https://bugs.launchpad.net/bugs/2152848

Title:
  GDM 50 incorrectly sets XDG_SESSION_TYPE=wayland for X11 user
  sessions, breaking Cinnamon and other X11-only desktops

To manage notifications about this bug go to:
https://bugs.launchpad.net/gdm/+bug/2152848/+subscriptions


-- 
desktop-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/desktop-bugs

Reply via email to