Bug 2092450

Summary: Downstream patches in mutter break GDM with XDMCP
Product: Red Hat Enterprise Linux 8 Reporter: Olivier Fourdan <ofourdan>
Component: mutterAssignee: Jonas Ådahl <jadahl>
Status: CLOSED ERRATA QA Contact: Michal Odehnal <modehnal>
Severity: unspecified Docs Contact:
Priority: unspecified    
Version: 8.6CC: fmuellner, tpelka
Target Milestone: rcKeywords: Triaged
Target Release: ---   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: mutter-3.32.2-68.el8 Doc Type: If docs needed, set a value
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2023-05-16 08:38:28 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Deadline: 2023-01-16   
Attachments:
Description Flags
Fix downstream synaptics patches breaking xdmcp none

Description Olivier Fourdan 2022-06-01 14:57:02 UTC
Description of problem:

Downstream patches prevent mutter / gnome-shell from working with XDMCP.

Version-Release number of selected component (if applicable):

mutter-3.32.2-64.el8

How reproducible:

Always

Steps to Reproduce:

1. Setup xdmcp on el8 (see https://access.redhat.com/solutions/2736)
2. Try to connect to the host using Xorg, Xnest or Xwayland

Actual results:

Nothing happens, no greeter is shown

Expected results:

GDM greeter appears

Additional info:

In the debug logs, we can see an XError:

org.gnome.Shell.desktop[24817]: X Error of failed request:  BadMatch (invalid parameter attributes)
org.gnome.Shell.desktop[24817]:   Major opcode of failed request:  131 (XInputExtension)
org.gnome.Shell.desktop[24817]:   Minor opcode of failed request:  22 (X_GetFeedbackControl)
org.gnome.Shell.desktop[24817]:   Serial number of failed request:  416
org.gnome.Shell.desktop[24817]:   Current serial number in output stream:  416


So this is XGetFeedbackControl() returning a BadMatch.

I spent quite some time trying to figure where that call to XGetFeedbackControl() could come from, as it was nowhere to be found in mutter, gnome-shell or even gnome-settings-daemon, even though gdb was telling me that was coming from libmutter.

…until I realized that's from a downstream patch actually:

  0001-backends-x11-Support-synaptics-configuration.patch

which does:

  states = XGetFeedbackControl (xdisplay, xdevice, &num_feedbacks);

Removing this patch (and a few other dependent ones) allows GDM greeter to work just fine with xdmcp.

The fix should be fairly trivial I reckon, those calls need to be within an X error trap push/pop.

Comment 1 Olivier Fourdan 2022-06-03 13:42:33 UTC
Created attachment 1886373 [details]
Fix downstream synaptics patches breaking xdmcp

Patch to apply to the mutter repo.

Comment 6 errata-xmlrpc 2023-05-16 08:38:28 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory (mutter bug fix and enhancement update), and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

https://access.redhat.com/errata/RHBA-2023:2856