When Nvidia driver installed - xorg start once in ten try-boots

Problem - boot just turn on PC - 9 times of 10 “Failed to start X Display Manager.” - and only terminal works.

It was working perfectly fine on kernel 6.7.7
Yesterday updated to kernel 6.7.9 - it is now.

Nvidia driver 550.54.14

I boot from ssd - so it fast few sec.
I tried deleting all kernel-boot parameters, even adding/deleting quiet - still same.

Nvidia driver do load when xorg can not start, I run nvidia-smi in terminal - it works and show GPU state.
There also no error in boot-log about Nvidia, it always loaded.

Logs:
/var/log/Xorg.0.log - error - no screen found. That all.
xorg created by Nvidia driver, it has section Screen

Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
    DefaultDepth    24
    SubSection     "Display"
        Depth       24
    EndSubSection
EndSection

Log when xorg can not start:
journalctl --boot=-1 | grep nvidia

kernel: nvidia: loading out-of-tree module taints kernel.
kernel: nvidia: module license 'NVIDIA' taints kernel.
kernel: nvidia: module verification failed: signature and/or required key missing - tainting kernel
kernel: nvidia: module license taints kernel.
kernel: audit: type=1400 audit(1710594203.822:2): apparmor="STATUS" operation="profile_load" profile="unconfined" name="nvidia_modprobe" pid=791 comm="apparmor_parser"
kernel: audit: type=1400 audit(1710594203.822:3): apparmor="STATUS" operation="profile_load" profile="unconfined" name="nvidia_modprobe//kmod" pid=791 comm="apparmor_parser"
kernel: nvidia-nvlink: Nvlink Core is being initialized, major device number 237
kernel: nvidia 0000:01:00.0: vgaarb: VGA decodes changed: olddecodes=io+mem,decodes=none:owns=none
kernel: nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms  550.54.14  Thu Feb 22 01:25:25 UTC 2024
kernel: [drm] [nvidia-drm] [GPU ID 0x00000100] Loading driver
kernel: [drm] Initialized nvidia-drm 0.0.0 20160202 for 0000:01:00.0 on minor 1

Log when xorg can start:
journalctl --boot=0 | grep nvidia

kernel: nvidia: loading out-of-tree module taints kernel.
kernel: nvidia: module license 'NVIDIA' taints kernel.
kernel: nvidia: module verification failed: signature and/or required key missing - tainting kernel
kernel: nvidia: module license taints kernel.
kernel: audit: type=1400 audit(1710594246.763:2): apparmor="STATUS" operation="profile_load" profile="unconfined" name="nvidia_modprobe" pid=822 comm="apparmor_parser"
kernel: audit: type=1400 audit(1710594246.763:3): apparmor="STATUS" operation="profile_load" profile="unconfined" name="nvidia_modprobe//kmod" pid=822 comm="apparmor_parser"
kernel: nvidia-nvlink: Nvlink Core is being initialized, major device number 237
kernel: nvidia 0000:07:00.0: vgaarb: VGA decodes changed: olddecodes=io+mem,decodes=none:owns=none
kernel: nvidia-modeset: Loading NVIDIA Kernel Mode Setting Driver for UNIX platforms  550.54.14  Thu Feb 22 01:25:25 UTC 2024
kernel: [drm] [nvidia-drm] [GPU ID 0x00000700] Loading driver
kernel: [drm] Initialized nvidia-drm 0.0.0 20160202 for 0000:07:00.0 on minor 1

difference - only index of device

P.S. also suspend does not work anymore, in 6.7.7 on same Nvidia driver it was working.

P.S.S. This PC have integrated AMD GPU - and integrated GPU does start xorg every time - problem seems with Nvidia driver or kernel.

Update:

Found reason.

Hint was above, but I dig into it today - reason was:

xorg.conf generated by nvidia-xconfig had this:

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BusID          "PCI:7:0:0"
EndSection

and when I was not able to boot I launched nvidia-xconfig again:

Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BusID          "PCI:1:0:0"
EndSection

Fix:
remove BusID "PCI:1:0:0" from xorg.conf

Why GPU have different PCIE every boot - I have no idea.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.