Nvidia modprobe no such device (with switchable graphics)

Hello!

I have a relatively old Lenovo Z400 and I have a nvidia card 740M and an integrated Intel card. It used to work well with switchable graphics using the nvidia 390xx driver but lately it’s only showing the Intel integrated graphics.

I followed the instructions on the nvidia troubleshooter in the wiki but to no avail, it did nothing.

So when I run sudo modprobe nvidia -vv I get:

modprobe: INFO: custom logging function 0x5644a5c6b7f0 registered
insmod /lib/modules/5.15.50-1-MANJARO/kernel/drivers/char/ipmi/ipmi_msghandler.ko.xz 
insmod /lib/modules/5.15.50-1-MANJARO/kernel/drivers/char/ipmi/ipmi_devintf.ko.xz 
insmod /lib/modules/5.15.50-1-MANJARO/updates/dkms/nvidia.ko.xz 
modprobe: INFO: Failed to insert module '/lib/modules/5.15.50-1-MANJARO/updates/dkms/nvidia.ko.xz': No such device
modprobe: ERROR: could not insert 'nvidia': No such device
modprobe: INFO: context 0x5644a63a7490 released

The packages I have installed with nvidia are the following:

local/bumblebee 3.2.1-22
NVIDIA Optimus support for Linux through Primus/VirtualGL
local/egl-wayland 2:1.1.10-1
EGLStream-based Wayland external platform
local/lib32-libvdpau 1.5-1
Nvidia VDPAU library
local/lib32-nvidia-390xx-utils 390.151-1
NVIDIA drivers utilities (32-bit)
local/libvdpau 1.5-1
Nvidia VDPAU library
local/libxnvctrl-390xx 390.151-1
NVIDIA NV-CONTROL X extension
local/linux510-nvidia-390xx 390.151-13 (linux510-extramodules)
NVIDIA drivers for linux
local/linux515-nvidia-390xx 390.151-46 (linux515-extramodules)
NVIDIA drivers for linux
local/mhwd-nvidia 515.57-1
MHWD module-ids for nvidia 515.57
local/mhwd-nvidia-390xx 390.151-2
MHWD module-ids for nvidia 390.151
local/mhwd-nvidia-470xx 470.129.06-1
MHWD module-ids for nvidia 470.129.06
local/nvidia-390xx-dkms 390.151-2
NVIDIA drivers - module sources
local/nvidia-390xx-utils 390.151-2
NVIDIA drivers utilities

I don’t know if there’s some blacklist I should look into though I don’t understand exactly how that works.

(I posted this on Arch Linux and they sent me here)

Thanks

output from:
mhwd -l && mhwd -li
find /etc/X11/ -name "*.conf"
inxi -xG

> 0000:00:02.0 (0300:8086:0166) Display controller Intel Corporation:
--------------------------------------------------------------------------------
                  NAME               VERSION          FREEDRIVER           TYPE
--------------------------------------------------------------------------------
           video-linux            2018.05.04                true            PCI
     video-modesetting            2020.01.13                true            PCI
            video-vesa            2017.03.12                true            PCI


> Installed PCI configs:
--------------------------------------------------------------------------------
                  NAME               VERSION          FREEDRIVER           TYPE
--------------------------------------------------------------------------------
video-hybrid-intel-nvidia-390xx-bumblebee            2021.12.18               false            PCI
           video-linux            2018.05.04                true            PCI


Warning: No installed USB configs!
/etc/X11/mhwd.d/intel.conf
/etc/X11/xorg.conf.d/00-keyboard.conf
/etc/X11/xorg.conf.d/90-mhwd.conf
/etc/X11/xorg.conf.d/middle-mouse-button.conf
/etc/X11/xorg.conf.d/10-optimus-manager.conf
/etc/X11/xorg.conf
Graphics:
  Device-1: Intel 3rd Gen Core processor Graphics vendor: Lenovo driver: i915
    v: kernel arch: Gen7 bus-ID: 00:02.0
  Device-2: Chicony Lenovo EasyCamera type: USB driver: uvcvideo
    bus-ID: 3-4:3
  Display: x11 server: X.Org v: 21.1.3 driver: X: loaded: intel
    unloaded: modesetting,nvidia gpu: i915 resolution: 1366x768
  OpenGL: renderer: Mesa Intel HD Graphics 4000 (IVB GT2)
    v: 4.2 Mesa 22.1.2 direct render: Yes

edit your post and use formatting, click this icon in editor: </> and put the output there…
your nvidia hardware is not even being detected…
output from:
pacman -Qs optimus

This is the output:


$ pacman -Qs optimus
local/bumblebee 3.2.1-22
    NVIDIA Optimus support for Linux through Primus/VirtualGL
local/linux510-bbswitch 0.8-145 (linux510-extramodules)
    kernel module allowing to switch dedicated graphics card on Optimus laptops
local/linux515-bbswitch 0.8-61 (linux515-extramodules)
    kernel module allowing to switch dedicated graphics card on Optimus laptops
local/optimus-manager 1.4-4
    Management utility to handle GPU switching for Optimus laptops

so uninstall this:

pamac remove linux510-bbswitch linux515-bbswitch optimus-manager

reboot and check again with:
inxi -xG
if your nvidia is detected post output from:
mhwd -l

1 Like

This is the output of inxi -xG:

inxi -xG
Graphics:
  Device-1: Intel 3rd Gen Core processor Graphics vendor: Lenovo driver: i915
    v: kernel arch: Gen7 bus-ID: 00:02.0
  Device-2: Chicony Lenovo EasyCamera type: USB driver: uvcvideo
    bus-ID: 3-4:3
  Display: x11 server: X.Org v: 21.1.3 driver: X: loaded: intel
    unloaded: nvidia gpu: i915 resolution: 1366x768
  OpenGL: renderer: Mesa Intel HD Graphics 4000 (IVB GT2)
    v: 4.2 Mesa 22.1.2 direct render: Yes

so you removed the packages, then rebooted?
provide output again from:
find /etc/X11/ -name "*.conf"
ls /etc/modprobe.d

Pre-compiled…

and dkms drivers:

Are installed at the same time. This will not work. Conflict.

If you want to use bumblebee (or have to):

Then have a look at this: Bumblebee - ArchWiki

It is the very early method for switchable graphics with nvidia and is rather a hack.

Optimus-manager is the normal way, nowadays:

In general you switch graphics with 390xx drivers by replacing xorg configs, which targets each GPU.
Optimus-Manager should do that for you. You need to switch and then relog.

1 Like

Yes, I removed the packages before rebooting and running the command. Now the output:

/etc/X11/mhwd.d/intel.conf
/etc/X11/xorg.conf.d/00-keyboard.conf
/etc/X11/xorg.conf.d/90-mhwd.conf
/etc/X11/xorg.conf.d/middle-mouse-button.conf
/etc/X11/xorg.conf
mhwd-bbswitch.conf  mhwd-gpu.conf  mhwd-nvidia.conf

I installed the dkms today but before it wasn’t working either.

The issue right now is that Manjaro kernel is not even detecting the nvidia card.

Output?

lspci -kv | sed -n "/VGA compatible controller/,/Kernel modules/p"
1 Like
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09) (prog-if 00 [VGA controller])
	Subsystem: Lenovo Device 3904
	Flags: bus master, fast devsel, latency 0, IRQ 29
	Memory at d3000000 (64-bit, non-prefetchable) [size=4M]
	Memory at e0000000 (64-bit, prefetchable) [size=256M]
	I/O ports at 4000 [size=64]
	Expansion ROM at 000c0000 [virtual] [disabled] [size=128K]
	Capabilities: <access denied>
	Kernel driver in use: i915
	Kernel modules: i915

output from:
cat /etc/modprobe.d/mhwd-bbswitch.conf
cat /etc/modprobe.d/mhwd-gpu.conf
cat /etc/modprobe.d/mhwd-nvidia.conf

Interesting… so if it is not listed, then that means, that even the gpu is not detected, which means it is disabled on BIOS level, faulty, lose contact or other connection error…

Are you sure this computer has a nvidia card?

Blacklisting the nvidia driver would not let the physical gpu disappear at lspci.

cat /etc/modprobe.d/mhwd-bbswitch.conf
##
## Generated by mhwd - Manjaro Hardware Detection
##
 
 
options bbswitch load_state=0 unload_state=0
cat /etc/modprobe.d/mhwd-gpu.conf
##
## Generated by mhwd - Manjaro Hardware Detection
##
cat /etc/modprobe.d/mhwd-nvidia.conf
##
## Generated by mhwd - Manjaro Hardware Detection
##
 
 
blacklist nouveau
blacklist nvidia
blacklist nvidia-modeset
blacklist nvidia-uvm
blacklist ttm
blacklist drm_kms_helper
blacklist drm

so remove these 2 configs:
sudo rm /etc/modprobe.d/mhwd-nvidia.conf
sudo rm /etc/X11/xorg.conf
reboot and check again with:
inxi -xG

1 Like

Please, I just said at the beginning that this computer was old and it has a gpu. It’s not a new computer. Before asking anything I went to the BIOS settings to see if I had disabled the switchable graphics but I didn’t, it was alright. I even pointed at an error documented in the Arch Wiki about Linux not seeing nvidia cards.

Now it doesn’t even show nvidia as unloaded:

Graphics:
  Device-1: Intel 3rd Gen Core processor Graphics vendor: Lenovo driver: i915
    v: kernel arch: Gen7 bus-ID: 00:02.0
  Device-2: Chicony Lenovo EasyCamera type: USB driver: uvcvideo
    bus-ID: 3-4:3
  Display: x11 server: X.Org v: 21.1.3 driver: X: loaded: intel gpu: i915
    resolution: 1366x768~60Hz
  OpenGL: renderer: Mesa Intel HD Graphics 4000 (IVB GT2)
    v: 4.2 Mesa 22.1.2 direct render: Yes

there is also this bbswitch leftover, so remove it:
sudo rm /etc/modprobe.d/mhwd-bbswitch.conf
reboot and check again