Is it safe to switch from Nvidia to an open driver?

I still use the Nvidia driver because my computer didn’t work with the open driver.

Operating System: openSUSE Tumbleweed 20251029
KDE Plasma Version: 6.5.1
KDE Frameworks Version: 6.19.0
Qt Version: 6.10.0
Kernel Version: 6.17.5-1-default (64-bit)
Graphics Platform: X11
Processors: 22 × Intel® Core™ Ultra 7 155H
Memory: 32 GiB of RAM (30.7 GiB usable)
Graphics Processor: NVIDIA GeForce RTX 4060 Laptop GPU
Product Name: NUC14SRK-B
System Version: 90AR0042-M00150
localhost:~ # inxi -GSaz
System:
  Kernel: 6.17.5-1-default arch: x86_64 bits: 64 compiler: gcc v: 15.2.1
    clocksource: tsc avail: acpi_pm
    parameters: BOOT_IMAGE=/boot/vmlinuz-6.17.5-1-default
    root=UUID=f04e02f3-2470-4c27-90cc-d60e6d122ec4 splash=silent nomodeset
    mitigations=auto quiet security=selinux selinux=1
    rd.driver.blacklist=nouveau
  Console: pty pts/0 wm: kwin_x11 DM: SDDM Distro: openSUSE Tumbleweed
    20251029
Graphics:
  Device-1: Intel Meteor Lake-P [Intel Arc Graphics] vendor: ASUSTeK
    driver: N/A alternate: i915, xe arch: Xe-LPG process: Intel 4 (7nm+)
    built: 2023+ bus-ID: 00:02.0 chip-ID: 8086:7d55 class-ID: 0300
  Device-2: NVIDIA AD107M [GeForce RTX 4060 Max-Q / Mobile] vendor: ASUSTeK
    driver: nvidia v: 580.95.05 alternate: nouveau,nvidia_drm
    non-free: 550-580.xx+ status: current (as of 2025-08) arch: Lovelace
    code: AD1xx process: TSMC n4 (5nm) built: 2022+ pcie: gen: 4
    speed: 16 GT/s lanes: 8 ports: active: none off: HDMI-A-1 empty: DP-1,DP-2
    bus-ID: 01:00.0 chip-ID: 10de:28a0 class-ID: 0300
  Display: unspecified server: X.Org v: 21.1.15 with: Xwayland v: 24.1.8
    compositor: kwin_x11 driver: X: loaded: nvidia unloaded: modesetting,vesa
    alternate: fbdev,nouveau,nv gpu: nvidia,nvidia-nvswitch display-ID: :0
    screens: 1
  Screen-1: 0 s-res: 1920x1080 s-dpi: 81 s-size: 602x343mm (23.70x13.50")
    s-diag: 693mm (27.28")
  Monitor-1: HDMI-A-1 mapped: HDMI-0 note: disabled model: Asus MX279
    serial: <filter> built: 2016 res: mode: 1920x1080 hz: 60 scale: 100% (1)
    dpi: 82 gamma: 1.2 size: 598x336mm (23.54x13.23") diag: 686mm (27")
    ratio: 16:9 modes: max: 1920x1080 min: 640x480
  API: EGL v: 1.5 hw: drv: nvidia platforms: device: 0 drv: nvidia device: 2
    drv: swrast gbm: drv: nvidia surfaceless: drv: nvidia x11: drv: nvidia
    inactive: wayland,device-1
  API: OpenGL v: 4.6.0 compat-v: 4.5 vendor: nvidia mesa v: 580.95.05
    glx-v: 1.4 direct-render: yes renderer: NVIDIA GeForce RTX 4060 Laptop
    GPU/PCIe/SSE2 memory: 7.81 GiB
  API: Vulkan v: 1.4.328 layers: 3 device: 0 type: discrete-gpu name: NVIDIA
    GeForce RTX 4060 Laptop GPU driver: nvidia v: 580.95.05
    device-ID: 10de:28a0 surfaces: N/A device: 1 type: cpu name: llvmpipe
    (LLVM 21.1.4 256 bits) driver: mesa llvmpipe v: 25.2.5 (LLVM 21.1.4)
    device-ID: 10005:0000 surfaces: N/A
  Info: Tools: api: clinfo, eglinfo, glxinfo, vulkaninfo
    de: kscreen-console,kscreen-doctor gpu: nvidia-smi wl: wayland-info
    x11: xdpyinfo, xprop, xrandr
localhost:~ # 
localhost:~ # zypper se -si nvidia
Luetaan asennuslähteiden tietoja...
Luetaan asennettuja paketteja...

S  | Name                          | Type    | Version                  | Arch   | Repository
---+-------------------------------+---------+--------------------------+--------+-----------------
i  | kernel-firmware-nvidia        | paketti | 20251018-1.1             | noarch | openSUSE:Factory
i  | kernel-firmware-nvidia        | paketti | 20251018-1.1             | noarch | repo-oss
i  | libnvidia-egl-gbm1            | paketti | 1.1.2-7.15               | x86_64 | repo-non-free
i  | libnvidia-egl-gbm1-32bit      | paketti | 1.1.2-7.10               | x86_64 | repo-non-free
i  | libnvidia-egl-wayland1        | paketti | 1.1.20-52.1              | x86_64 | repo-non-free
i  | libnvidia-egl-wayland1-32bit  | paketti | 1.1.20-52.1              | x86_64 | repo-non-free
i  | libnvidia-egl-x111            | paketti | 1.0.3-21.2               | x86_64 | repo-non-free
i  | libnvidia-egl-x111-32bit      | paketti | 1.0.3-21.2               | x86_64 | repo-non-free
i  | libnvidia-gpucomp             | paketti | 580.95.05-41.1           | x86_64 | repo-non-free
i  | libnvidia-gpucomp-32bit       | paketti | 580.95.05-41.1           | x86_64 | repo-non-free
i  | nvidia-common-G06             | paketti | 580.95.05-41.1           | x86_64 | repo-non-free
i  | nvidia-compute-G06            | paketti | 580.95.05-41.1           | x86_64 | repo-non-free
i  | nvidia-compute-utils-G06      | paketti | 580.95.05-41.1           | x86_64 | repo-non-free
i  | nvidia-driver-G06-kmp-default | paketti | 580.95.05_k6.17.0_2-41.3 | x86_64 | repo-non-free
i  | nvidia-gl-G06                 | paketti | 580.95.05-41.1           | x86_64 | repo-non-free
i  | nvidia-gl-G06-32bit           | paketti | 580.95.05-41.1           | x86_64 | repo-non-free
i  | nvidia-modprobe               | paketti | 580.95.05-19.1           | x86_64 | repo-non-free
i  | nvidia-persistenced           | paketti | 580.95.05-2.1            | x86_64 | repo-non-free
i  | nvidia-userspace-meta-G06     | paketti | 580.95.05-17.1           | noarch | repo-non-free
i  | nvidia-userspace-meta-G06     | paketti | 580.95.05-17.1           | noarch | repo-non-free
i  | nvidia-video-G06              | paketti | 580.95.05-41.1           | x86_64 | repo-non-free
i  | openSUSE-repos-MicroOS-NVIDIA | paketti | 20250728.9adc675-1.1     | x86_64 | openSUSE:Factory
i  | openSUSE-repos-MicroOS-NVIDIA | paketti | 20250728.9adc675-1.1     | x86_64 | repo-oss
localhost:~ # 


1 Like

I have a similiar Nvidia card as you and use the latest open driver:

nvidia-open-driver-G06-signed-kmp-default-580.95.05_k6.17.3_1-3.2.x86_64.rpm

from the Main OSS repo.

This works fine. Although the ‘cudo’ version of this may be more appilcable for you - sorry I have no experience of dual grahics.

The differences are that I don’t have a secondary graphics like you. My ‘zypper se -si nvidia’ entry the same as yours except that I have the above driver installed instead of ‘nvidia-driver-G06-kmp-default 580.95.05_k6.17.0_2-41.3’ and don’t have any 32-bit or the MicroOS versions.

@raijar So you have nomodeset in your boot options? This looks like it’s disabling the Intel GPU? Have you tried switching to the Xe diver instead of i915?

I’m really unsure about how to boot my computer because I did a lot of “work” to get it working.
I removed the nomodeset parameter and the computer still booted properly.

splash=silent quiet security=selinux selinux=1 

But I still don’t dare to move on from this situation (=working system) because I’m afraid my computer will get corrupted.
Can I save startup files etc. so I can safely install a new driver and remove the old ones? Or can I save the system files somehow?

There are no open-source kernel modules for the latest kernel version you (or any of us at the moment) are using (6.17.5). The latest seem to be 580.95.05_k6.17.3_1-3.2.

This will not work until the kernel version and nvidia-open-driver-G06-signed-kmp-default version match

This is a very bad system and forcing the use of the “legacy” modules if the user wants to keep Tumbleweed up to date.

Please do not spread false informations. This topic was already explained countless times. The kernel modules are built on the users machine. Only if KABI is incompatible between kernels, a new package is needed.

The open kernel module is working properly with the latest kernel:

:~> uname -r
6.17.6-1-default
:~> zypper se -si nvidia-open-driver-G06-signed-kmp-default
Repository-Daten werden geladen...
Installierte Pakete werden gelesen...

S  | Name                                      | Type  | Version                 | Arch   | Repository
---+-------------------------------------------+-------+-------------------------+--------+-----------
i+ | nvidia-open-driver-G06-signed-kmp-default | Paket | 580.95.05_k6.17.3_1-3.2 | x86_64 | repo-oss
:~> nvidia-smi
Sun Nov  2 15:58:25 2025       
+-----------------------------------------------------------------------------------------+
| NVIDIA-SMI 580.95.05              Driver Version: 580.95.05      CUDA Version: 13.0     |
+-----------------------------------------+------------------------+----------------------+
| GPU  Name                 Persistence-M | Bus-Id          Disp.A | Volatile Uncorr. ECC |
| Fan  Temp   Perf          Pwr:Usage/Cap |           Memory-Usage | GPU-Util  Compute M. |
|                                         |                        |               MIG M. |
|=========================================+========================+======================|
|   0  NVIDIA GeForce RTX 3080 Ti     On  |   00000000:01:00.0  On |                  N/A |
|  0%   32C    P8             26W /  350W |     591MiB /  12288MiB |      1%      Default |
|                                         |                        |                  N/A |
+-----------------------------------------+------------------------+----------------------+

+-----------------------------------------------------------------------------------------+
| Processes:                                                                              |
|  GPU   GI   CI              PID   Type   Process name                        GPU Memory |
|        ID   ID                                                               Usage      |
|=========================================================================================|
|    0   N/A  N/A            1420      G   /usr/bin/Xorg.bin                        21MiB |
|    0   N/A  N/A            1667      G   /usr/bin/ksecretd                         3MiB |
|    0   N/A  N/A            1705      G   /usr/bin/kwin_wayland                    37MiB |
|    0   N/A  N/A            1783      G   /usr/bin/Xwayland                         4MiB |
|    0   N/A  N/A            1800      G   /usr/bin/ksmserver                        3MiB |
|    0   N/A  N/A            1802      G   /usr/bin/kded6                            3MiB |
|    0   N/A  N/A            1912      G   /usr/bin/plasmashell                    165MiB |
|    0   N/A  N/A            1927      G   /usr/bin/kaccess                          3MiB |
|    0   N/A  N/A            1928      G   ...it-kde-authentication-agent-1          3MiB |
|    0   N/A  N/A            1930      G   ...ibexec/xdg-desktop-portal-kde          3MiB |
|    0   N/A  N/A            2050      G   /usr/libexec/DiscoverNotifier             3MiB |
|    0   N/A  N/A            2161      G   /usr/bin/konsole                          3MiB |
|    0   N/A  N/A            2223      G   /opt/google/chrome/chrome                 3MiB |
|    0   N/A  N/A            2270      G   ...rack-uuid=3190708988185955192         95MiB |
|    0   N/A  N/A            2277      G   /usr/bin/kwalletd6                        3MiB |

That is not so for the open driver.

@raijar So is there a BIOS option to select the Primary GPU? Strange that Nvidia is working and not i915/xe…

Indeed, 6.17.6 seems to work with the current open driver package.

Have had so much grief with the updates, was under the assumption there is a need for constant parity with kernel and module version. Glad to see this is not the case.

I’m sorry I can’t explain the problem without offending someone.
The situation is that I bought a computer. Maybe this:

ASUS RNUC14SRKU910002I Barebone Intel Core Ultra 9 185H NVIDIA GeForce RTX 4070 Kit L6 EU Cord

I thought it would be easy to install opensuse tumbleweed, but it didn’t work. I had a lot of problems, even though I installed my first linux in 1994.
And greetings to pullasuti

And you were absolutely correct for the open driver which is built (and signed) on the build system and provided as binary, not as source compiled on the user system.

nvidia-open-driver-G06-signed-kmp-default-580.95.05_k6.17.3_1-3.2
kernel-default-6.17.6-1

…works.

Where is the need for “parity” of kernel and module version?

It works not because it is compiled on the end user system, but because the kernel symbols required by the compiled binary module did not change between minor kernel updates.

There need to be parity between the symbols exported by kernel and the symbols used (and required) by the binary module.

So, yes - a kernel module compiled for some kernel version may work with a different kernel version. No, it happens not because this kernel module is rebuilt on the user system, but because kernel changes did not affect this module. I am not sure whether OBS detects that the new kernel becomes incompatible with the existing binary and rebuilds affected modules automatically.

But that is not specific to NVIDIA driver in any way, it affects any other out-of-tree kernel module provided as a separate package. Changes between minor kernel versions are hopefully minor, so we can expect a module built for 6.17.3 to work with 6.17.6. It is very unlikely that this module will work with the 6.18 (while closed source driver package will work as long as it still compiles).

I’m sorry, but I still don’t understand the root cause of this problem.

There are 3 ports on the back of my computer:

  • HDMI Port 1
  • DisplayPort Ports 2
    I only use the HDMI port because I only have one monitor and I don’t have a DP-HDMI cable.
    So, for example, is the HDMI port hardwired to a specific graphics driver? And if I had a DP-HDMI cable, would I be able to select the driver I want (i915/nvidia) from the DisplayPort Ports?

@raijar very likely the DP port will be connected to the Intel device, get a DP-HDMI cable or adapter and test. You can then use that and it’s features and Nvidia for Prime Render Offload, which is what I use here…

Thanks for the info!
I was already looking for a DP-HDMI cable or adapter. But I live in such a small town that the store didn’t have one.
I’ll let you know when I get the cable.

@raijar make sure it’s a good quality one and meets the spec for your ASUS DP port :wink:

I finally got a PD-HDMI cable and connected it between my computer and the monitor.
I’m so stupid that I don’t understand which graphics driver is currently in use but it works fine.

localhost:~ # inxi -GSaz
System:
  Kernel: 6.17.6-1-default arch: x86_64 bits: 64 compiler: gcc v: 15.2.1
    clocksource: tsc avail: acpi_pm
    parameters: BOOT_IMAGE=/boot/vmlinuz-6.17.6-1-default
    root=UUID=f04e02f3-2470-4c27-90cc-d60e6d122ec4 splash=silent quiet
    security=selinux selinux=1 rd.driver.blacklist=nouveau mitigations=auto
  Console: pty pts/0 wm: kwin_x11 DM: SDDM Distro: openSUSE Tumbleweed
    20251031
Graphics:
  Device-1: Intel Meteor Lake-P [Intel Arc Graphics] vendor: ASUSTeK
    driver: i915 v: kernel alternate: xe arch: Xe-LPG process: Intel 4 (7nm+)
    built: 2023+ ports: active: none empty: DP-1,DP-2 bus-ID: 00:02.0
    chip-ID: 8086:7d55 class-ID: 0300
  Device-2: NVIDIA AD107M [GeForce RTX 4060 Max-Q / Mobile] vendor: ASUSTeK
    driver: nvidia v: 580.105.08 alternate: nouveau,nvidia_drm
    non-free: 550-580.xx+ status: current (as of 2025-08) arch: Lovelace
    code: AD1xx process: TSMC n4 (5nm) built: 2022+ pcie: gen: 2 speed: 5 GT/s
    lanes: 8 link-max: gen: 4 speed: 16 GT/s ports: active: none off: DP-4
    empty: DP-3,HDMI-A-1 bus-ID: 01:00.0 chip-ID: 10de:28a0 class-ID: 0300
  Display: unspecified server: X.Org v: 21.1.15 with: Xwayland v: 24.1.8
    compositor: kwin_x11 driver: X: loaded: modesetting,nvidia unloaded: vesa
    alternate: fbdev,intel,nouveau,nv dri: iris gpu: nvidia,nvidia-nvswitch
    display-ID: :0 screens: 1
  Screen-1: 0 s-res: 1920x1080 s-dpi: 81 s-size: 602x343mm (23.70x13.50")
    s-diag: 693mm (27.28")
  Monitor-1: DP-4 mapped: DP-3 note: disabled model: Asus MX279
    serial: <filter> built: 2016 res: mode: 1920x1080 hz: 60 scale: 100% (1)
    dpi: 82 gamma: 1.2 size: 598x336mm (23.54x13.23") diag: 686mm (27")
    ratio: 16:9 modes: max: 1920x1080 min: 640x480
  API: EGL v: 1.5 hw: drv: intel iris drv: nvidia platforms: device: 0
    drv: nvidia device: 2 drv: iris device: 3 drv: swrast gbm: drv: nvidia
    surfaceless: drv: nvidia x11: drv: nvidia inactive: wayland,device-1
  API: OpenGL v: 4.6.0 compat-v: 4.5 vendor: nvidia mesa v: 580.105.08
    glx-v: 1.4 direct-render: yes renderer: NVIDIA GeForce RTX 4060 Laptop
    GPU/PCIe/SSE2 memory: 7.81 GiB
  API: Vulkan v: 1.4.328 layers: 3 device: 0 type: discrete-gpu name: NVIDIA
    GeForce RTX 4060 Laptop GPU driver: nvidia v: 580.105.08
    device-ID: 10de:28a0 surfaces: N/A device: 1 type: integrated-gpu
    name: Intel Arc Graphics (MTL) driver: mesa intel v: 25.2.6
    device-ID: 8086:7d55 surfaces: N/A device: 2 type: cpu name: llvmpipe
    (LLVM 21.1.4 256 bits) driver: mesa llvmpipe v: 25.2.6 (LLVM 21.1.4)
    device-ID: 10005:0000 surfaces: N/A
  Info: Tools: api: clinfo, eglinfo, glxinfo, vulkaninfo
    de: kscreen-console,kscreen-doctor gpu: nvidia-smi wl: wayland-info
    x11: xdpyinfo, xprop, xrandr
localhost:~ # 

@raijar follow the card and the connections on the Monitor output;
DP-4 mapped: DP-3 so it’s running off the Nvidia GPU, so try different ports to see what maps to what. Ideally you want the monitor running off the Intel GPU.

I’m sorry, but I don’t think I know how to do that. However, I know that the first printout is from when I connected the cable to the first DP port and the printout below is from when I connected the cable to the second DP port. And both work OK.
How can I print the actual information of the computer, i.e. not commercial information? Maybe that would help further.
On the other hand, I just need to get rid of the nvidia driver, if that’s even possible.

System:
  Kernel: 6.17.6-1-default arch: x86_64 bits: 64 compiler: gcc v: 15.2.1
    clocksource: tsc avail: acpi_pm
    parameters: BOOT_IMAGE=/boot/vmlinuz-6.17.6-1-default
    root=UUID=f04e02f3-2470-4c27-90cc-d60e6d122ec4 splash=silent quiet
    security=selinux selinux=1 rd.driver.blacklist=nouveau mitigations=auto
  Console: pty pts/0 wm: kwin_x11 DM: SDDM Distro: openSUSE Tumbleweed
    20251031
Graphics:
  Device-1: Intel Meteor Lake-P [Intel Arc Graphics] vendor: ASUSTeK
    driver: i915 v: kernel alternate: xe arch: Xe-LPG process: Intel 4 (7nm+)
    built: 2023+ ports: active: none empty: DP-1,DP-2 bus-ID: 00:02.0
    chip-ID: 8086:7d55 class-ID: 0300
  Device-2: NVIDIA AD107M [GeForce RTX 4060 Max-Q / Mobile] vendor: ASUSTeK
    driver: nvidia v: 580.105.08 alternate: nouveau,nvidia_drm
    non-free: 550-580.xx+ status: current (as of 2025-08) arch: Lovelace
    code: AD1xx process: TSMC n4 (5nm) built: 2022+ pcie: gen: 1
    speed: 2.5 GT/s lanes: 8 link-max: gen: 4 speed: 16 GT/s ports:
    active: none off: DP-3 empty: DP-4,HDMI-A-1 bus-ID: 01:00.0
    chip-ID: 10de:28a0 class-ID: 0300
  Display: unspecified server: X.Org v: 21.1.15 with: Xwayland v: 24.1.8
    compositor: kwin_x11 driver: X: loaded: modesetting,nvidia unloaded: vesa
    alternate: fbdev,intel,nouveau,nv dri: iris gpu: nvidia,nvidia-nvswitch
    display-ID: :0 screens: 1
  Screen-1: 0 s-res: 1920x1080 s-dpi: 81 s-size: 602x343mm (23.70x13.50")
    s-diag: 693mm (27.28")
  Monitor-1: DP-3 mapped: DP-1 note: disabled model: Asus MX279
    serial: <filter> built: 2016 res: mode: 1920x1080 hz: 60 scale: 100% (1)
    dpi: 82 gamma: 1.2 size: 598x336mm (23.54x13.23") diag: 686mm (27")
    ratio: 16:9 modes: max: 1920x1080 min: 640x480
  API: EGL v: 1.5 hw: drv: intel iris drv: nvidia platforms: device: 0
    drv: nvidia device: 2 drv: iris device: 3 drv: swrast gbm: drv: nvidia
    surfaceless: drv: nvidia x11: drv: nvidia inactive: wayland,device-1
  API: OpenGL v: 4.6.0 compat-v: 4.5 vendor: nvidia mesa v: 580.105.08
    glx-v: 1.4 direct-render: yes renderer: NVIDIA GeForce RTX 4060 Laptop
    GPU/PCIe/SSE2 memory: 7.81 GiB
  API: Vulkan v: 1.4.328 layers: 3 device: 0 type: discrete-gpu name: NVIDIA
    GeForce RTX 4060 Laptop GPU driver: nvidia v: 580.105.08
    device-ID: 10de:28a0 surfaces: N/A device: 1 type: integrated-gpu
    name: Intel Arc Graphics (MTL) driver: mesa intel v: 25.2.6
    device-ID: 8086:7d55 surfaces: N/A device: 2 type: cpu name: llvmpipe
    (LLVM 21.1.4 256 bits) driver: mesa llvmpipe v: 25.2.6 (LLVM 21.1.4)
    device-ID: 10005:0000 surfaces: N/A
  Info: Tools: api: clinfo, eglinfo, glxinfo, vulkaninfo
    de: kscreen-console,kscreen-doctor gpu: nvidia-smi wl: wayland-info
    x11: xdpyinfo, xprop, xrandr
localhost:~ #