Public bug reported:

Test environment/steps:
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. (The fail rate is 6/24.)
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.

[1] https://www.freedesktop.org/wiki/Software/systemd/multiseat/
/lib/udev/rules.d/71-seat.rules
/lib/udev/rules.d/71-nvidia.rules

** Affects: gdm3 (Ubuntu)
     Importance: Undecided
     Assignee: jeremyszu (os369510)
         Status: New

** Changed in: gdm3 (Ubuntu)
     Assignee: (unassigned) => jeremyszu (os369510)

** Description changed:

- Test environment:
+ Test environment/steps:
  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 
+ $ 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.
+ But in some race condition cases, the nvidia probe is later than gnome 
launches. (The fail rate is 6/24.)
  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.
+ 
+ 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.
  
  [1] https://www.freedesktop.org/wiki/Software/systemd/multiseat/
  /lib/udev/rules.d/71-seat.rules
  /lib/udev/rules.d/71-nvidia.rules

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/1958488

Title:
  [nvidia][xorg] display hangs on boot LOGO

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/gdm3/+bug/1958488/+subscriptions


-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to