Bug 1404849 - Multiseat broken with GDM
Summary: Multiseat broken with GDM
Keywords:
Status: CLOSED EOL
Alias: None
Product: Fedora
Classification: Fedora
Component: gdm
Version: 25
Hardware: Unspecified
OS: Unspecified
unspecified
high
Target Milestone: ---
Assignee: Ray Strode [halfline]
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2016-12-14 19:51 UTC by Oleg Samarin
Modified: 2017-12-12 10:39 UTC (History)
4 users (show)

Fixed In Version:
Doc Type: If docs needed, set a value
Doc Text:
Clone Of:
Environment:
Last Closed: 2017-12-12 10:39:23 UTC
Type: Bug
Embargoed:


Attachments (Terms of Use)
journalctl -b result (662.55 KB, text/x-vhdl)
2016-12-14 19:51 UTC, Oleg Samarin
no flags Details
A patch solved the problem for me (556 bytes, patch)
2016-12-15 20:45 UTC, Oleg Samarin
no flags Details | Diff
Workaround: wrapper script for gnome-session (233 bytes, text/plain)
2017-01-04 20:24 UTC, Joseph Nuzman
no flags Details


Links
System ID Private Priority Status Summary Last Updated
GNOME Bugzilla 776203 0 None None None 2016-12-17 08:33:55 UTC
Red Hat Bugzilla 1403597 0 unspecified CLOSED Automatic multiseat is broken with kdm in Fedora 25 2021-02-22 00:41:40 UTC

Internal Links: 1403597

Description Oleg Samarin 2016-12-14 19:51:33 UTC
Created attachment 1231864 [details]
journalctl -b result

Description of problem:


Automatic multiseat stopped working with GDM in Fedora 24 and still does not work Fedora 25.

In Fedora 23 it used to work.


Version-Release number of selected component (if applicable):
systemd-231-10.fc25.x86_64
gdm-3.22.1-1.fc25.x86_64
gnome-session-3.22.2-1.fc25.x86_64

How reproducible:
Always

Steps to Reproduce:
1. Install F25 with GDM
2. Config multiseat

Actual results:
GDM login screen appears only on one random seat

Expected results:
GDM login screens should appear on all seats

Additional info:
Journalctl shows messages about gnome-session

Dec 14 21:59:40 oleg2.oleghome gnome-session[4200]: gnome-session-binary[4200]: WARNING: Error getting login monitor: -13
Dec 14 21:59:40 oleg2.oleghome gnome-session-binary[4200]: WARNING: Error getting login monitor: -13
Dec 14 21:59:40 oleg2.oleghome gnome-session[4200]: gnome-session-binary[4200]: WARNING: Calling name lost callback function
Dec 14 21:59:40 oleg2.oleghome gnome-session[4200]: gnome-session-binary[4200]: CRITICAL: gsm_manager_set_phase: assertion 'GSM_IS_MANAGER (manager)' failed
Dec 14 21:59:40 oleg2.oleghome gnome-session-binary[4200]: WARNING: Calling name lost callback function
Dec 14 21:59:40 oleg2.oleghome gnome-session-binary[4200]: CRITICAL: gsm_manager_set_phase: assertion 'GSM_IS_MANAGER (manager)' failed

After some investigations I found, that the reason is the change in systemd-226:

systemd now supports the concept of user buses replacing
session buses, if used with dbus-1.10 (and enabled via dbus
--enable-user-session). It previously only supported this on
kdbus-enabled systems, and this release expands this to
'dbus-daemon' systems.

GDM creates one session gnome-session with user 'gdm' for each seat. Gnome-session opens a connection to dbus and tries to aquire name "org.gnome.SessionManager" with calling g_bus_own_name

With previous systemd versions there was separate dbus instance for each seat, so there were not any problems to aquire this name several times. But since systemd-226 there is only one instance of dbus for user 'gdm' so only one of gnome-session may run and all others are terminated

Comment 1 Oleg Samarin 2016-12-15 20:45:35 UTC
Created attachment 1232321 [details]
A patch solved the problem for me

I've made a small patch to gdm that creates a new dbus session for greater. Multiseat starts working with this patch.

But I'am not sure that this patch is quite accurate. It would be better to check the current systemd-dbus mode and add dbus-run-session only if it is necessary

Comment 2 Joseph Nuzman 2017-01-04 20:24:00 UTC
Created attachment 1237315 [details]
Workaround:  wrapper script for gnome-session

Comment 3 Joseph Nuzman 2017-01-04 20:26:55 UTC
I had been blocked from upgrading from Fedora 23 due to this same issue.  I can confirm that Oleg's patch works for me as well.

For anyone else who is hitting this issue, and doesn't want to patch GDM until an update is available, the attached wrapper script (placed as /usr/local/bin/gnome-session) works around the issue in a similar way.

Comment 4 Timothy Knab 2017-06-27 13:02:58 UTC
The patch posted by Oleg works for me and results in an independent GDM login screen on both of my seats. I have a hybrid GPU system (AMD 7970 and integrated intel graphics) with one seat on the dedicated GPU and one on the iGPU. I have set MUTTER_ALLOW_HYBRID_GRAPHICS=1 in /etc/environment. 

On the seat associated with the dedicated GPU GDM runs with Wayland and launches a Wayland Gnome session. However, with the iGPU GDM is running as an X11 session and will only launch an X11 Gnome session. Without multiseat both GPUs launch Wayland sessions and the xf86-video-intel drivers are installed. Does anyone know how to get the second seat with the integrated graphics to run GDM and Gnome in wayland sessions?

I know it can be done because I had a lightdm setup which would launch Gnome sessions on both seats.

Comment 5 Fedora End Of Life 2017-11-16 18:32:20 UTC
This message is a reminder that Fedora 25 is nearing its end of life.
Approximately 4 (four) weeks from now Fedora will stop maintaining
and issuing updates for Fedora 25. It is Fedora's policy to close all
bug reports from releases that are no longer maintained. At that time
this bug will be closed as EOL if it remains open with a Fedora  'version'
of '25'.

Package Maintainer: If you wish for this bug to remain open because you
plan to fix it in a currently maintained version, simply change the 'version'
to a later Fedora version.

Thank you for reporting this issue and we are sorry that we were not
able to fix it before Fedora 25 is end of life. If you would still like
to see this bug fixed and are able to reproduce it against a later version
of Fedora, you are encouraged  change the 'version' to a later Fedora
version prior this bug is closed as described in the policy above.

Although we aim to fix as many bugs as possible during every release's
lifetime, sometimes those efforts are overtaken by events. Often a
more recent Fedora release includes newer upstream software that fixes
bugs or makes them obsolete.

Comment 6 Fedora End Of Life 2017-12-12 10:39:23 UTC
Fedora 25 changed to end-of-life (EOL) status on 2017-12-12. Fedora 25 is
no longer maintained, which means that it will not receive any further
security or bug fix updates. As a result we are closing this bug.

If you can reproduce this bug against a currently maintained version of
Fedora please feel free to reopen this bug against that version. If you
are unable to reopen this bug, please file a new report against the
current release. If you experience problems, please add a comment to this
bug.

Thank you for reporting this bug and we are sorry it could not be fixed.


Note You need to log in before you can comment on or make changes to this bug.