Test environment:
1. A desktop or workstation which containing an iGPU.
2. Plug a nvidia graphic card to the system and installing proprietary nvidia driver (470 in my case)
3. Attach a monitor to dGPU and leave iGPU connect to nothing.
(in my test environment, there is the other ethernet card and TBT4 cards)
4. Reboot system.
Based on:
$ cat /lib/udev/rules.d/61-gdm.rules
# disable Wayland on Hi1710 chipsets
ATTR{vendor}=="0x19e5", ATTR{device}=="0x1711", RUN+="/usr/lib/gdm3/gdm-disable-wayland"
# disable Wayland when using the proprietary nvidia driver
DRIVER=="nvidia", RUN+="/usr/lib/gdm3/gdm-disable-wayland"
It will disable wayland by default if proprietary nvidia driver load.
But in some race condition cases, the nvidia probe is later than gnome launches.
Thus, ubuntu-gdm has a fix for Bug#1794280 to add "ExecStartPre=@libexecdir@/gdm-wait-for-drm".
The gdm-wait-for-drm is intend to make sure all drm udev devices enumerated before launching gdm.
It rely on at least one "master-of-seat" graphic card for gdm but it's not rigorous enough.
Since most of graphic cards are own "master-of-seat"[1].
In my case, it detects the iGPU is probed but dGPU.
However, the display is attached to dGPU.
We need to make sure the targeted gpu (connecting to monitor) is probe before launching gdm.
Test environment:
1. A desktop or workstation which containing an iGPU.
2. Plug a nvidia graphic card to the system and installing proprietary nvidia driver (470 in my case)
3. Attach a monitor to dGPU and leave iGPU connect to nothing.
(in my test environment, there is the other ethernet card and TBT4 cards)
4. Reboot system.
Based on: rules.d/ 61-gdm. rules =="0x19e5" , ATTR{device} =="0x1711" , RUN+="/ usr/lib/ gdm3/gdm- disable- wayland" usr/lib/ gdm3/gdm- disable- wayland"
$ cat /lib/udev/
# disable Wayland on Hi1710 chipsets
ATTR{vendor}
# disable Wayland when using the proprietary nvidia driver
DRIVER=="nvidia", RUN+="/
It will disable wayland by default if proprietary nvidia driver load. @libexecdir@ /gdm-wait- for-drm" .
But in some race condition cases, the nvidia probe is later than gnome launches.
Thus, ubuntu-gdm has a fix for Bug#1794280 to add "ExecStartPre=
The gdm-wait-for-drm is intend to make sure all drm udev devices enumerated before launching gdm.
It rely on at least one "master-of-seat" graphic card for gdm but it's not rigorous enough. of-seat" [1].
Since most of graphic cards are own "master-
In my case, it detects the iGPU is probed but dGPU.
However, the display is attached to dGPU.
We need to make sure the targeted gpu (connecting to monitor) is probe before launching gdm.
[1] https:/ /www.freedeskto p.org/wiki/ Software/ systemd/ multiseat/ rules.d/ 71-seat. rules rules.d/ 71-nvidia. rules
/lib/udev/
/lib/udev/