I have an optimus laptop, and after the update to KDE6 optimus-manager stopped working. I needed a second display, and all my display outputs are on the Nvdia GPU, so I needed to switch. I tried many different X11 configs, envycontrol then more X11 configs, but I couldn’t get it working right, it would only be the internal display or the external one, not both. after a few hours I gave up and tried optimus-manager again. This time I checked the error log and it was failing to load the nvidia module, I tried loading it manually but I got a “No such device” error, which is where the title of the post comes in. My GPU has disappeared from linux, it won’t show up in lspci, lshw, nvidia-smi, or anything else it should. The only reference to the thing in dmesg I can find are :

[    0.216410] pci 0000:01:00.0: [10de:1ba1] type 00 class 0x030000
[    0.216419] pci 0000:01:00.0: reg 0x10: [mem 0xde000000-0xdeffffff]
[    0.216427] pci 0000:01:00.0: reg 0x14: [mem 0xc0000000-0xcfffffff 64bit pref]
[    0.216435] pci 0000:01:00.0: reg 0x1c: [mem 0xd0000000-0xd1ffffff 64bit pref]
[    0.216440] pci 0000:01:00.0: reg 0x24: [io  0xe000-0xe07f]
[    0.216445] pci 0000:01:00.0: reg 0x30: [mem 0xdf000000-0xdf07ffff pref]
[    0.216460] pci 0000:01:00.0: Enabling HDA controller
[    0.257300] pci 0000:01:00.0: vgaarb: bridge control possible
[    0.257300] pci 0000:01:00.0: vgaarb: VGA device added: decodes=io+mem,owns=none,locks=none
[    0.270521] pci 0000:01:00.1: D0 power state depends on 0000:01:00.0

and then nothing, it doesn’t even seem to try to load the nvidia module. I tried booting into windows and it shows up there fine, so the GPU didn’t randomly die.
As far as I can tell I’ve rolled back everything I did in my histfile until it stopped working, The only thing I could think is I upgraded my kernel to (6.7.9) from (6.6.10), could that have caused it? I also tried adding pcie_port_pm=off to the kernel params from the archwiki, but still nothing. I’m just at a loss here, anyone have any ideas?

EDIT: I’m using the nvidia-dkms package
EDIT2: one kernel downgrade later and it’s still not appearing, so thats not it.
EDIT3: fixed, see comments

  • @taazA
    link
    English
    4
    edit-2
    1 month ago

    Well that is not good indeed. If you have a windows dual boot, might be worth checking if wins didn’t do their “hibernation” shutdown and left the gpu in some weird state (I don’t remember how to force windows to just shutdown instead of the hibernation/hybrid one).

    https://snoo.habedieeh.re/r/archlinux/comments/zia5dm/nvidia_discrete_gpu_not_appearing_in_lspci_and/jjsng0x/?context=3

    E: Disabling any kind of fastboot in bios might also be worth trying.

    • Thomas DouwesOP
      link
      fedilink
      21 month ago

      It disappeared without me booting into windows, I booted windows to test after it was gone. But I did just try to force a hard shutdown on windows and disabled fastboot, but it’s still not appearing.

      • @taazA
        link
        English
        3
        edit-2
        1 month ago

        Could you show the output of ls -lah /sys/bus/pci/devices/0000:01:00.0/

        • Thomas DouwesOP
          link
          fedilink
          4
          edit-2
          1 month ago

          ls: cannot access '/sys/bus/pci/devices/0000:01:00.0': No such file or directory
          I also tried booting an archiso and the GPU appears there, there must be something wrong with my install.

          • @taazA
            link
            English
            41 month ago

            Good find, I would look into udev and modprobe (blacklists and stuff like that)

            • Thomas DouwesOP
              link
              fedilink
              21 month ago

              I had a look at /etc/udev, /etc/modprobe.d and /etc/modules-load.d, and don’t see anything related to nvidia. Are there any more udev or blacklist folders to look at?

              • @taazA
                link
                English
                21 month ago

                Don’t remember other dirs, maybe some /usr/lib/… or /usr/share/… ?

                Could you try echo 1 > /sys/bus/pci/rescan and watch dmesg

                • Thomas DouwesOP
                  link
                  fedilink
                  21 month ago

                  interesting, that did show the nvidia card in dmesg, still not in lspci though

                  [ 1110.598286] pci 0000:01:00.0: [10de:1ba1] type 00 class 0x030000
                  [ 1110.598301] pci 0000:01:00.0: reg 0x10: [mem 0xde000000-0xdeffffff]
                  [ 1110.598310] pci 0000:01:00.0: reg 0x14: [mem 0xc0000000-0xcfffffff 64bit pref]
                  [ 1110.598318] pci 0000:01:00.0: reg 0x1c: [mem 0xd0000000-0xd1ffffff 64bit pref]
                  [ 1110.598324] pci 0000:01:00.0: reg 0x24: [io  0xe000-0xe07f]
                  [ 1110.598330] pci 0000:01:00.0: reg 0x30: [mem 0xdf000000-0xdf07ffff pref]
                  [ 1110.599069] pci 0000:01:00.0: vgaarb: bridge control possible
                  [ 1110.599073] pci 0000:01:00.0: vgaarb: VGA device added: decodes=io+mem,owns=none,locks=none
                  [ 1110.599078] i915 0000:00:02.0: vgaarb: VGA decodes changed: olddecodes=io+mem,decodes=none:owns=io+mem
                  [ 1110.599125] pci 0000:01:00.1: [10de:10f0] type 00 class 0x040300
                  [ 1110.599135] pci 0000:01:00.1: reg 0x10: [mem 0xdf080000-0xdf083fff]
                  [ 1110.599327] pci 0000:01:00.0: BAR 1: assigned [mem 0xc0000000-0xcfffffff 64bit pref]
                  [ 1110.599335] pci 0000:01:00.0: BAR 3: assigned [mem 0xd0000000-0xd1ffffff 64bit pref]
                  [ 1110.599341] pci 0000:01:00.0: BAR 0: assigned [mem 0xde000000-0xdeffffff]
                  [ 1110.599344] pci 0000:01:00.0: BAR 6: assigned [mem 0xdf000000-0xdf07ffff pref]
                  [ 1110.599347] pci 0000:01:00.1: BAR 0: assigned [mem 0xdf080000-0xdf083fff]
                  [ 1110.599349] pci 0000:01:00.0: BAR 5: assigned [io  0xe000-0xe07f]
                  [ 1110.599384] pci 0000:01:00.1: extending delay after power-on from D3hot to 20 msec
                  [ 1110.599418] pci 0000:01:00.1: D0 power state depends on 0000:01:00.0
                  [ 1110.599509] snd_hda_intel 0000:01:00.1: enabling device (0000 -> 0002)
                  [ 1110.599624] snd_hda_intel 0000:01:00.1: Disabling MSI
                  [ 1110.599630] snd_hda_intel 0000:01:00.1: Handle vga_switcheroo audio client
                  [ 1110.603829] i915 0000:00:02.0: vgaarb: VGA decodes changed: olddecodes=none,decodes=io+mem:owns=io+mem
                  [ 1110.628268] input: HDA NVidia HDMI/DP,pcm=3 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card2/input18
                  [ 1110.628341] input: HDA NVidia HDMI/DP,pcm=7 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card2/input19
                  [ 1110.628403] input: HDA NVidia HDMI/DP,pcm=8 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card2/input20
                  [ 1110.628464] input: HDA NVidia HDMI/DP,pcm=9 as /devices/pci0000:00/0000:00:01.0/0000:01:00.1/sound/card2/input21