Multi-seat stopped working in Ubuntu 20.04

Bug #1891815 reported by Michel Le Bihan
36
This bug affects 6 people
Affects Status Importance Assigned to Milestone
gdm
Fix Released
Unknown
gdm3 (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

Hello,

After upgrading to Ubuntu 20.04 LTS, my multi-seat setup stopped working. My issue is what's described in https://gitlab.gnome.org/GNOME/gdm/-/issues/526, specifically:

> On seat0, as soon as I click on the GDM login screen, the entry form for the password completely vanishes and I am left with the standard gray background, with the only option to restart/stop the computer.
> On seat1, I can click and enter my password. However the desktop gets started on seat0 rather than on seat1.

> Using Wayland or X for GDM has no effect on the general behavior.

One user wrote that he has the same issue on Ubuntu 20.04 (https://gitlab.gnome.org/GNOME/gdm/-/issues/526#note_831892). The issue was fixed in one bugfix releases of GDM 3.36.x. It will probably need to be backported to 3.34.x.

tags: added: focal
Changed in gdm3 (Ubuntu):
status: New → Fix Committed
tags: added: fixed-in-3.37.1 fixed-upstream
tags: added: fixed-in-3.36.2
Revision history for this message
Dave Barker (davebarkerxyz) wrote :

We've confirmed the same issue. The issue wasn't present in Bionic, and isn't present in GDM 3.36.3 on Fedora 32.

Does anyone know if this fix would appear in 20.04 LTS or only in 20.10?

We're currently rebuilding our computing labs for remote access (Apache Guacamole -> tigervnc -> XDMCP) and are eager to upgrade from 18.04 to 20.04 (LTS to LTS).

Revision history for this message
Daniel van Vugt (vanvugt) wrote :

It's currently on the backlog targeted for inclusion in Ubuntu 20.10:

  https://trello.com/c/vv0y7BTs/26-gdm-33790

After that's done we can consider 20.04...

Iain Lane (laney)
tags: added: rls-ff-incoming
Revision history for this message
Launchpad Janitor (janitor) wrote :
Download full text (7.7 KiB)

This bug was fixed in the package gdm3 - 3.37.90-1ubuntu1

---------------
gdm3 (3.37.90-1ubuntu1) groovy; urgency=medium

  [ Marco Trevisan (Treviño) ]
  * Merge with debian, containing new upstream release
  * debian/patches: Refresh
  * d/p/nvidia_prime.patch,
    d/p/config_error_dialog.patch,
    d/p/gdm3.service-wait-for-drm-device-before-trying-to-start-i.patch:
    - Update to use meson as build system
  * d/p/meson-Fix-Xsession-input-file-name.patch:
    - Rename input file from the wrong XSession to Xsession
  * d/p/ubuntu/XSession-Use-x-terminal-emulator-as-fallback-instead-of-x.patch:
    - Use x-terminal-emulator as the fallback terminal instead of xterm,
      so that the user configured (very likely gnome-terminal) is used
  * Remaining changes with debian:
    + README.Debian: update for correct paths in Ubuntu
    + control.in:
      - Don't recommend desktop-base
      - Build depend on libgudev-1.0-dev
      - Depend on bash for config_error_dialog.patch
      - Update Vcs field
      - Recomends libpam-fprintd (instead of Suggests)
    + rules:
      - Don't override default user/group
      - -Dgdm-xsession=true to install upstream Xsession script
      - 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.{postinst,postrm}: rename user and group back to gdm
    + gdm3.postinst, gdm3.prerm: don't kill gdm on upgrade
    + gdm3.*.pam: Make pam_env read ~/.pam_environment
    + gdm3.install:
      - Stop installing default.desktop. It adds unnecessary clutter
        ("System Default") to the session chooser.
      - Don't install debian/Xsession
    + Add run_xsession.d.patch
    + Add xresources_is_a_dir.patch
      - Fix loading from /etc/X11/Xresources/*
    + Add nvidia_prime.patch:
      - Add hook to run prime-offload (as root) and prime-switch if
        nvidia-prime is installed
    + 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 debian/patches/revert_nvidia_wayland_blacklist.patch:
      - Don't blacklist nvidia for wayland
    + Add gdm3.service-wait-for-drm-device-before-trying-to-start-i.patch:
      - Wait for the first valid gdm device on pre-start
    + Add debian/default.pa
      - Disable Bluetooth audio devices in PulseAudio from gdm3.
    + debian/gdm3.install
      - Added details of the default.pa file
    + debian/gdm3.postinst
      - Added installation of default.pa and creation of dir if it doesn't
        exist.
    + debian/greeter.dconf-defaults: Don't set Debian settings in the
      greeter's dconf DB
  * debian/patches: Fix patch not to patch debian/patches/series

  [ Simon McVittie ]
  * Add patch to remove deprecated Standard...

Read more...

Changed in gdm3 (Ubuntu):
status: Fix Committed → Fix Released
Revision history for this message
Schlomo Schapiro (sschapiro) wrote :
Download full text (3.2 KiB)

In Ubuntu 20.04.1 the latest gdm3 package is only 3.36.3-0ubuntu0.20.04.1 and I have a similar, although probably different problem:

GDM wouldn't show a login screen on the second seat connected to an NVIDIA graphics card. After disabling Wayland in /etc/gdm3/custom.conf the problem disappeared and I again got a login screen on the second seat.

I would suspect that maybe the NVIDIA blacklist is part of the problem because gdm3 decides to start a Wayland session for seat0 and an X11 session for seat-1. Why can't it start a Wayland session for both seats?

My hardware:
00:02.0 VGA compatible controller: Intel Corporation Xeon E3-1200 v3/4th Gen Core Processor Integrated Graphics Controller (rev 06)
01:00.0 VGA compatible controller: NVIDIA Corporation GF119 [GeForce GT 610] (rev a1)

Intel is seat0 and NVIDIA is seat-1

Attached please find the gdm3 debug log, the interesting parts about seats look like this:

$ grep seat gdm-multiseat-wayland-nvidia-problem.txt
Okt 28 09:29:08 brho gdm3[8608]: GdmLocalDisplayFactory: enumerating seats from logind
Okt 28 09:29:08 brho gdm3[8608]: GdmLocalDisplayFactory: wayland login display for seat seat0 requested
Okt 28 09:29:08 brho gdm3[8608]: GdmLocalDisplayFactory: Adding display on seat seat0
Okt 28 09:29:08 brho gdm3[8608]: GdmDisplay: seat id: (null)
Okt 28 09:29:08 brho gdm3[8608]: GdmDisplay: seat id: seat0
Okt 28 09:29:08 brho gdm3[8608]: GdmSession: Created user session for user 129 on display /org/gnome/DisplayManager/Displays/94424245309920 (seat seat0)
Okt 28 09:29:08 brho gdm3[8608]: GdmLocalDisplayFactory: X11 login display for seat seat-1 requested
Okt 28 09:29:08 brho gdm3[8608]: GdmLocalDisplayFactory: Adding display on seat seat-1
Okt 28 09:29:08 brho gdm3[8608]: GdmDisplay: seat id: (null)
Okt 28 09:29:08 brho gdm3[8608]: GdmDisplay: seat id: seat-1
Okt 28 09:29:08 brho gdm3[8608]: GdmServer: Starting X server process: /usr/bin/Xorg :0 -background none -noreset -verbose 7 -logverbose 7 -core -auth /var/run/gdm3/auth-for-gdm-P9W4S0/database -seat seat-1
Okt 28 09:29:08 brho gdm3[8608]: GdmSession: type wayland, program? yes, seat seat0
Okt 28 09:29:08 brho gdm3[8608]: GdmSession: type wayland, program? yes, seat seat0
Okt 28 09:29:08 brho gdm3[8608]: GdmSession: type wayland, program? yes, seat seat0
Okt 28 09:29:09 brho gdm3[8608]: GdmLocalDisplayFactory: creating new display on seat0 because of VT change
Okt 28 09:29:09 brho gdm3[8608]: GdmLocalDisplayFactory: wayland login display for seat seat0 requested
Okt 28 09:29:09 brho gdm3[8608]: GdmSession: Created user session for user 129 on display /org/gnome/DisplayManager/Displays/94424245244496 (seat seat-1)
Okt 28 09:29:09 brho gdm3[8608]: GdmSession: type (null), program? yes, seat seat-1
Okt 28 09:29:09 brho gdm3[8608]: GdmSession: type (null), program? yes, seat seat-1
Okt 28 09:29:09 brho gdm3[8608]: GdmSession: type (null), program? yes, seat seat-1
Okt 28 09:29:10 brho gdm3[8608]: GdmLocalDisplayFactory: X11 login display for seat seat-1 requested

For me the workaround was to disable Wayland complete like this:

$ cat /etc/gdm3/custom.conf
[daemon]
WaylandEnable=false

It would be very nice to get multiseat to work again and...

Read more...

Changed in gdm:
status: Unknown → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.