Booting with nvidia proprietary drivers 550.67 results in gdm3 being displayed on X11 rather than Wayland

Bug #2062128 reported by Jamie R. McPeek
8
This bug affects 1 person
Affects Status Importance Assigned to Milestone
gdm3 (Ubuntu)
New
Undecided
Unassigned

Bug Description

I am testing Ubuntu 24.04 beta and using the proprietary NVIDIA drivers (550.67).

Prior to installing the drivers packages (using nouveau), the system would load gdm3 in Wayland.

After installer the drivers package, the system would load gdm3 in X11.

This appears to be caused by the configuration file at /usr/lib/udev/rules.d/61-gdm.rules

However, according to the comments in the rules file, it should prefer Wayland:

# Disable wayland when nvidia modeset is disabled or when drivers are a lower
# version than 470,
# For versions above 470 but lower than 510 prefer Xorg,
# Above 510, prefer Wayland.

I am able to work around this by making a system override on the file, in /etc/udev/rules.d:

lrwxrwxrwx 1 root root 9 Apr 18 00:34 61-gdm.rules -> /dev/null

With this in place, when booting, gdm3 will be loaded with Wayland.

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

This is correct behaviour because Wayland is not yet stable in the presence of an Nvidia proprietary driver. We hope to fix that by Ubuntu 24.10.

The original intention was to enable Wayland for hybrid systems:

gdm3 (42.0-1ubuntu7) jammy; urgency=medium

  [ Alberto Milone ]
  * Default to Wayland for hybrid systems with Nvidia graphics drivers.
    Default to Xorg but offer Wayland with the gear button on the login
    screen for non-hybrid systems with Nvidia graphics drivers. (LP: #1968929)

 -- Jeremy Bicha <email address hidden> Thu, 21 Apr 2022 06:32:09 -0400

but even that turned out to be unreliable. And added to that there was an uninitialized variable in gdm3(?) we fixed a year or two ago which was also causing the session selection to not follow the udev rules.

So it's all very complicated. Overall we would prefer Nvidia systems DID NOT show a Wayland login option yet, but since you've figured out how to enable it, please be aware of the bug list:

https://bugs.launchpad.net/ubuntu/+bugs?field.tag=nvidia-wayland

Changed in gdm3 (Ubuntu):
status: New → Won't Fix
tags: added: noble nvidia
Revision history for this message
Daniel van Vugt (vanvugt) wrote (last edit ):

Sorry, that was a rushed response and clearly something needs correcting even if it's just the 61-gdm.rules

Our intent is not usually to disable Wayland, but offer Xorg as the default when an Nvidia driver is present.

I *think* of the drivers available in Noble it would make sense that Wayland is listed for 535 and above. Just never as the default option.

Support for Wayland in Mutter on Nvidia-470 has regressed in recent months/years and may never get fixed since it relies on EGLDevice support which is being abandoned by both GNOME and Nvidia. So "lower version than 470" sounds like it needs changing if we can't fix Mutter.

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

Is the machine a desktop with a single GPU or laptop with hybrid GPUs?

Changed in gdm3 (Ubuntu):
status: Won't Fix → Incomplete
Revision history for this message
Jamie R. McPeek (jrmcpeek) wrote (last edit ):

>>> Is the machine a desktop with a single GPU or laptop with hybrid GPUs?

This machine is a hybrid/optimus setup with an Intel iGPU and NVIDIA dGPU:

00:02.0 VGA compatible controller: Intel Corporation Alder Lake-HX GT1 [UHD Graphics 770] (rev 0c)
01:00.0 VGA compatible controller: NVIDIA Corporation GA107GLM [RTX A2000 8GB Laptop GPU] (rev a1)

The system UEFI is configured to enable hybrid and the proprietary NVIDIA driver is configured as "on demand".

In the setup at my desk, I am connected to a thunderbolt dock, which is connected to external monitors via DisplayPort. The laptop operates "closed lid" from power up.

tags: added: hybrid i915
Changed in gdm3 (Ubuntu):
status: Incomplete → New
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.