GPU Unused: Nvidia (Help, desperate)

@helplps So is bbswitch, bumblebee or suse-prime installed?

If they are remove, these files need to be deleted as well;

/usr/lib/modprobe.d/09-nvidia-modprobe-bbswitch-G04.conf
/usr/lib/modprobe.d/09-nvidia-modprobe-pm-G05.conf

Then run dracut -f --regenerate-all

They are in fact removed. Though, when I dracut, there’s a few lines saying

dracut[I]: Module '...' will not be installed, because command '...' could not be found!

could that mean something?

@helplps No that is normal output. So how about inxi -Gxxz now?

Graphics:
  Device-1: NVIDIA GA104M [GeForce RTX 3070 Mobile / Max-Q] vendor: Lenovo
    driver: N/A arch: Ampere pcie: speed: 8 GT/s lanes: 8 bus-ID: 01:00.0
    chip-ID: 10de:24dd
  Device-2: Advanced Micro Devices [AMD/ATI] Cezanne [Radeon Vega Series /
    Radeon Mobile Series] vendor: Lenovo driver: amdgpu v: kernel arch: GCN-5
    pcie: speed: 8 GT/s lanes: 16 ports: active: eDP-1 empty: none
    bus-ID: 05:00.0 chip-ID: 1002:1638 temp: 41.0 C
  Display: wayland server: X.org v: 1.21.1.12 with: Xwayland v: 24.1.3
    compositor: gnome-shell v: 47.1 driver: X: loaded: modesetting
    failed: nvidia gpu: amdgpu display-ID: 0
  Monitor-1: eDP-1 model-id: CSO 0x1609 res: 2560x1600 dpi: 188
    diag: 407mm (16")
  API: OpenGL v: 4.6 vendor: amd mesa v: 24.1.7 glx-v: 1.4 es-v: 3.2
    direct-render: yes renderer: AMD Radeon Graphics (radeonsi renoir LLVM
    18.1.8 DRM 3.59 6.11.5-2-default) device-ID: 1002:1638 display-ID: :0.0
  API: EGL Message: EGL data requires eglinfo. Check --recommends.

@helplps So still failed… so what about the lsinitrd | grep -E "nvidia|nouveau" now?

Is there any reason why your wanting to use the Nvidia cuda repo as opposed to the openSUSE repo?

I just thought I needed the CUDA repository to be able to use CUDA on my GPU. I’m guessing I was able to use CUDA with the OpenSUSE repo all this time?

-rw-r--r--   1 root     root           15 Sep 13 21:27 etc/ld.so.conf.d/nvidia-lib32.conf
-rw-r--r--   1 root     root           17 Sep 13 21:27 etc/ld.so.conf.d/nvidia-lib64.conf
-rw-r--r--   1 root     root         1755 Sep 13 21:27 etc/modprobe.d/50-nvidia-default.conf
-rw-r--r--   1 root     root           18 Sep 13 21:27 etc/modprobe.d/nvidia.conf
drwxr-xr-x   2 root     root            0 Sep 13 21:27 usr/lib/modules/6.11.5-2-default/kernel/drivers/gpu/drm/nouveau
-rw-r--r--   1 root     root      1472591 Sep 13 21:27 usr/lib/modules/6.11.5-2-default/kernel/drivers/gpu/drm/nouveau/nouveau.ko.zst
-rw-r--r--   1 root     root        14061 Sep 13 21:27 usr/lib/modules/6.11.5-2-default/kernel/drivers/hid/hid-nvidia-shield.ko.zst
-rw-r--r--   1 root     root         3022 Sep 13 21:27 usr/lib/modules/6.11.5-2-default/kernel/drivers/usb/typec/altmodes/typec_nvidia.ko.zst

@helplps Yes, I would remove all the packages from the cuda repository and then install from the openSUSE repository. If you want to run the open driver, install that from the oss repo first, then the additional packages. Mkae sure the likes of suse-prime, bumblebee and bbswitch packages are locked so they don’t install.

I have done as instructed, though I did remove the Nvidia packages from the OSS repo just to be safe. I can confirm that after a reboot of having NO nvidia driver installed, I saw the list of modules, and it was only nouveau, and when I installed the Nvidia drivers once again, the extra two modules got added back in. However, it unfortunately did not fix the problem, and my Nvidia GPU is still unused. inxi -Gxxz outputs the same thing as last time.

@helplps Have you run dracut -f --regenerate-all just to make sure the rpms are but for the running kernel?

What about zypper se -si nvidia and lsinitrd | grep -E "nvidia|nouveau" output.

I have already seen the dracut run during the Nvidia driver installation, and running it again didn’t really change much.

zypper se -si nvidia:

S  | Name                                      | Type    | Version                  | Arch   | Repository
---+-------------------------------------------+---------+--------------------------+--------+----------------------
i  | kernel-firmware-nvidia                    | package | 20241018-1.1             | noarch | Main Repository (OSS)
i+ | nvidia-open-driver-G06-signed-kmp-default | package | 550.127.05_k6.11.6_2-1.4 | x86_64 | Main Repository (OSS)
i+ | openSUSE-repos-Tumbleweed-NVIDIA          | package | 20240712.dd8c2eb-1.2     | x86_64 | Main Repository (OSS)

lsinitrd | grep -E "nvidia|nouveau":

As Malcolm mentioned, you need to install additional packages to the open kernel modules. You only have the open kernel modules installed but not any display driver package. That means you need at least kernel-firmware-nvidia-gspx-G06. Display drivers are also missing…

The missing display drivers are nvidia-video-G06 , nvidia-gl-G06 and ( nvidia-compute-G06)

Ah, thank you for mentioning that. I forgot I disabled the Nvidia repo where I get these packages and dependencies from. Here are the new outputs.
zypper se -si nvidia:

S  | Name                                      | Type    | Version                  | Arch   | Repository
---+-------------------------------------------+---------+--------------------------+--------+----------------------
i  | kernel-firmware-nvidia                    | package | 20241018-1.1             | noarch | Main Repository (OSS)
i  | libnvidia-egl-wayland1                    | package | 1.1.16-2.1               | x86_64 | Main Repository (OSS)
i+ | nvidia-compute-G06                        | package | 550.127.05-27.1          | x86_64 | NVIDIA
i  | nvidia-compute-G06-32bit                  | package | 550.127.05-27.1          | x86_64 | NVIDIA
i+ | nvidia-gl-G06                             | package | 550.127.05-27.1          | x86_64 | NVIDIA
i  | nvidia-gl-G06-32bit                       | package | 550.127.05-27.1          | x86_64 | NVIDIA
i+ | nvidia-open-driver-G06-signed-kmp-default | package | 550.127.05_k6.11.6_2-1.4 | x86_64 | Main Repository (OSS)
i+ | nvidia-video-G06                          | package | 550.127.05-27.1          | x86_64 | NVIDIA
i  | nvidia-video-G06-32bit                    | package | 550.127.05-27.1          | x86_64 | NVIDIA
i+ | openSUSE-repos-Tumbleweed-NVIDIA          | package | 20240712.dd8c2eb-1.2     | x86_64 | Main Repository (OSS)


lsinitrd | grep -E "nvidia|nouveau":

And you need kernel-firmware-nvidia-gspx-G06 for the open drivers.

Even with it, the GPU is unfortunately still unused. Though, I did see as I installed it that it said “scriptlet failed” or something along the lines. It didn’t show anything else than that.

@helplps do you see the error when running the dracut command? What about output from journalctl -b | grep -E "drm|nvidia"

I’ve done a dracut regenerate-all and no, I didn’t see a “scriptlet failed” message like when I installed the nvidia kernel firmware.

This is the output of
journalctl -b | grep -E "drm|nvidia":

Nov 10 21:34:44 localhost kernel: ACPI: bus type drm_connector registered
Nov 10 21:34:44 localhost kernel: [drm] Initialized simpledrm 1.0.0 for simple-framebuffer.0 on minor 0
Nov 10 21:34:44 localhost kernel: simple-framebuffer simple-framebuffer.0: [drm] fb0: simpledrmdrmfb frame buffer device
Nov 10 21:34:46 localhost kernel: [drm] amdgpu kernel modesetting enabled.
Nov 10 21:34:46 localhost kernel: [drm] initializing kernel modesetting (RENOIR 0x1002:0x1638 0x17AA:0x3A54 0xC5).
Nov 10 21:34:46 localhost kernel: [drm] register mmio base: 0xD1500000
Nov 10 21:34:46 localhost kernel: [drm] register mmio size: 524288
Nov 10 21:34:46 localhost kernel: [drm] add ip block number 0 <soc15_common>
Nov 10 21:34:46 localhost kernel: [drm] add ip block number 1 <gmc_v9_0>
Nov 10 21:34:46 localhost kernel: [drm] add ip block number 2 <vega10_ih>
Nov 10 21:34:46 localhost kernel: [drm] add ip block number 3 <psp>
Nov 10 21:34:46 localhost kernel: [drm] add ip block number 4 <smu>
Nov 10 21:34:46 localhost kernel: [drm] add ip block number 5 <dm>
Nov 10 21:34:46 localhost kernel: [drm] add ip block number 6 <gfx_v9_0>
Nov 10 21:34:46 localhost kernel: [drm] add ip block number 7 <sdma_v4_0>
Nov 10 21:34:46 localhost kernel: [drm] add ip block number 8 <vcn_v2_0>
Nov 10 21:34:46 localhost kernel: [drm] add ip block number 9 <jpeg_v2_0>
Nov 10 21:34:46 localhost kernel: [drm] vm size is 262144 GB, 4 levels, block size is 9-bit, fragment size is 9-bit
Nov 10 21:34:46 localhost kernel: [drm] Detected VRAM RAM=4096M, BAR=4096M
Nov 10 21:34:46 localhost kernel: [drm] RAM width 128bits DDR4
Nov 10 21:34:46 localhost kernel: [drm] amdgpu: 4096M of VRAM memory ready
Nov 10 21:34:46 localhost kernel: [drm] amdgpu: 13956M of GTT memory ready.
Nov 10 21:34:46 localhost kernel: [drm] GART: num cpu pages 262144, num gpu pages 262144
Nov 10 21:34:46 localhost kernel: [drm] PCIE GART of 1024M enabled.
Nov 10 21:34:46 localhost kernel: [drm] PTB located at 0x000000F4FFC00000
Nov 10 21:34:46 localhost kernel: [drm] Loading DMUB firmware via PSP: version=0x0101002B
Nov 10 21:34:46 localhost kernel: [drm] Found VCN firmware Version ENC: 1.23 DEC: 8 VEP: 0 Revision: 1
Nov 10 21:34:47 localhost kernel: [drm] Display Core v3.2.291 initialized on DCN 2.1
Nov 10 21:34:47 localhost kernel: [drm] DP-HDMI FRL PCON supported
Nov 10 21:34:47 localhost kernel: [drm] DMUB hardware initialized: version=0x0101002B
Nov 10 21:34:47 localhost kernel: [drm] kiq ring mec 2 pipe 1 q 0
Nov 10 21:34:47 localhost kernel: [drm] Initialized amdgpu 3.59.0 for 0000:05:00.0 on minor 1
Nov 10 21:34:47 localhost kernel: fbcon: amdgpudrmfb (fb0) is primary device
Nov 10 21:34:47 localhost kernel: [drm] pre_validate_dsc:1578 MST_DSC dsc precompute is not needed
Nov 10 21:34:48 localhost kernel: amdgpu 0000:05:00.0: [drm] fb0: amdgpudrmfb frame buffer device
Nov 10 21:34:49 localhost systemd[1]: Starting Load Kernel Module drm...
Nov 10 21:34:49 localhost systemd[1]: modprobe@drm.service: Deactivated successfully.
Nov 10 21:34:49 localhost systemd[1]: Finished Load Kernel Module drm.
Nov 10 21:34:50 localhost kernel: nvidia: loading out-of-tree module taints kernel.
Nov 10 21:34:50 localhost kernel: nvidia-nvlink: Nvlink Core is being initialized, major device number 235
Nov 10 21:34:50 localhost kernel: nvidia-nvlink: Unregistered Nvlink Core, major device number 235
Nov 10 21:34:50 localhost systemd-udevd[960]: modprobe: ERROR: could not insert 'nvidia': No such device
Nov 10 21:34:50 localhost kernel: nvidia_modeset: Unknown symbol nvidia_get_rm_ops (err -2)
Nov 10 21:34:50 localhost kernel: nvidia-nvlink: Nvlink Core is being initialized, major device number 235
Nov 10 21:34:51 localhost kernel: nvidia-nvlink: Unregistered Nvlink Core, major device number 235
Nov 10 21:34:51 localhost systemd-udevd[1292]: modprobe: ERROR: could not insert 'nvidia': No such device

@helplps what are the contents of the following two files;

/etc/modprobe.d/50-nvidia-default.conf
/etc/modprobe.d/nvidia.conf

And also inxi -GSaz

While I have no 50-nvidia-default.conf, I do have a

50-nvidia-default.conf.rpmsave:

blacklist nouveau
options nvidia NVreg_DeviceFileUID=0 NVreg_DeviceFileGID=483 NVreg_DeviceFileMode=0660 NVreg_PreserveVideoMemoryAllocations=1
options nvidia-drm modeset=1 fbdev=1
install nvidia PATH=$PATH:/bin:/usr/bin; if /sbin/modprobe --ignore-install nvidia; then   if /sbin/modprobe nvidia_uvm; then     if [ ! -c /dev/nvidia-uvm ]; then       mknod -m 660 /dev/nvidia-uvm c $(cat /proc/devices | while read major device; do if [ "$device" == "nvidia-uvm" ]; then echo $major; break; fi ; done) 0;        chown :video /dev/nvidia-uvm;     fi;     if [ ! -c /dev/nvidia-uvm-tools ]; then       mknod -m 660 /dev/nvidia-uvm-tools c $(cat /proc/devices | while read major device; do if [ "$device" == "nvidia-uvm" ]; then echo $major; break; fi ; done) 1;       chown :video /dev/nvidia-uvm-tools;     fi;   fi;   if [ ! -c /dev/nvidiactl ]; then     mknod -m 660 /dev/nvidiactl c 195 255;     chown :video /dev/nvidiactl;   fi;   devid=-1;   for dev in $(ls -d /sys/bus/pci/devices/*); do      vendorid=$(cat $dev/vendor);     if [ "$vendorid" == "0x10de" ]; then       class=$(cat $dev/class);       classid=${class%%00};       if [ "$classid" == "0x0300" -o "$classid" == "0x0302" ]; then          devid=$((devid+1));         if [ ! -L /run/udev/static_node-tags/uaccess/nvidia${devid} ]; then           ln -snf /dev/nvidia${devid} /run/udev/static_node-tags/uaccess/nvidia${devid};         fi;         if [ ! -c /dev/nvidia${devid} ]; then            mknod -m 660 /dev/nvidia${devid} c 195 ${devid};            chown :video /dev/nvidia${devid};         fi;       fi;     fi;   done;   /sbin/modprobe nvidia_drm;   if [ ! -c /dev/nvidia-modeset ]; then     mknod -m 660 /dev/nvidia-modeset c 195 254;     chown :video /dev/nvidia-modeset;   fi; fi


nvidia.conf:

blacklist nouveau


inxi -GSaz:

System:
  Kernel: 6.11.6-2-default arch: x86_64 bits: 64 compiler: gcc v: 14.2.1
    clocksource: hpet avail: acpi_pm
    parameters: BOOT_IMAGE=/boot/vmlinuz-6.11.6-2-default
    root=/dev/mapper/lvmlmde-root splash
    resume=/dev/disk/by-uuid/44375b7f-170a-41a0-ac74-6b7ff8ef1b79 psi=1
    mitigations=auto security=apparmor amd_iommu=on kvm.ignore_msrs=1
  Desktop: GNOME v: 47.1 tk: GTK v: 3.24.43 wm: gnome-shell
    tools: gsd-screensaver-proxy avail: xscreensaver dm: GDM v: 47.0
    Distro: openSUSE Tumbleweed 20241103
Graphics:
  Device-1: NVIDIA GA104M [GeForce RTX 3070 Mobile / Max-Q] vendor: Lenovo
    driver: N/A alternate: nouveau, nvidia_drm, nvidia non-free: 550.xx+
    status: current (as of 2024-09; EOL~2026-12-xx) arch: Ampere code: GAxxx
    process: TSMC n7 (7nm) built: 2020-2023 pcie: gen: 3 speed: 8 GT/s
    lanes: 8 link-max: gen: 4 speed: 16 GT/s lanes: 16 bus-ID: 01:00.0
    chip-ID: 10de:24dd class-ID: 0300
  Device-2: Advanced Micro Devices [AMD/ATI] Cezanne [Radeon Vega Series /
    Radeon Mobile Series] vendor: Lenovo driver: amdgpu v: kernel arch: GCN-5
    code: Vega process: GF 14nm built: 2017-20 pcie: gen: 3 speed: 8 GT/s
    lanes: 16 link-max: gen: 4 speed: 16 GT/s ports: active: eDP-1 empty: none
    bus-ID: 05:00.0 chip-ID: 1002:1638 class-ID: 0300 temp: 44.0 C
  Display: wayland server: X.org v: 1.21.1.12 with: Xwayland v: 24.1.3
    compositor: gnome-shell driver: X: loaded: modesetting failed: nvidia
    gpu: amdgpu display-ID: 0
  Monitor-1: eDP-1 model-id: CSO 0x1609 built: 2021 res: 2560x1600 dpi: 188
    gamma: 1.2 size: 345x215mm (13.58x8.46") diag: 407mm (16") ratio: 16:10
    modes: max: 2560x1600 min: 640x480
  API: OpenGL v: 4.6 vendor: amd mesa v: 24.1.7 glx-v: 1.4 es-v: 3.2
    direct-render: yes renderer: AMD Radeon Graphics (radeonsi renoir LLVM
    18.1.8 DRM 3.59 6.11.6-2-default) device-ID: 1002:1638 memory: 3.91 GiB
    unified: no display-ID: :0.0
  API: EGL Message: EGL data requires eglinfo. Check --recommends.

@malcolmlewis helplps is using Wayland. Is this the possible cause of the trouble? I was not able to get Wayland running on my Optimus setup…but X11 works flawlessly on my Optimus laptop with the same driver versions (closed source).