Screen Freezes with Wayland, KDE Plasma, and NVIDIA G06 Drivers on Laptop with NVIDIA Optimus (i.e., NVIDIA discrete alongside Intel integrated graphics cards)

Greetings! This issue started at openSUSE Forum Thread and detoured
into Zypper issues in another Forum Thread, so I am making a new Forum
Post since I have learned more and wanted a Forum Thread with a more
appropriate title for posterity. I have a laptop with NVIDIA Optimus
technology, i.e., it has a discrete NVIDIA Pascal-era graphics card
alongside an integrated Intel one. The actual cards are listed
below. I need to keep the NVIDIA driver versions at G06. The screen
freezes after a few seconds of being logged into “KDE Plasma
(Wayland)” whereas it is fine with “KDE Plasma (X11).” This used to
work fine up until sometime this year.

The compounding issues documented in the aforementioned Forum Threads
led me to reinstall openSUSE Tumbleweed, which I document below for
reference. Anyways, the problem persists despite the
reinstallation. So, I installed the GNOME Pattern (thank you for the
idea @OrsoBruno), which uses Wayland, and it seems to work fine. I
have another computer (a.k.a. Desktop A) that only has a discrete
NVIDIA graphics card and it has no issues with KDE Plasma (Wayland). I
also have another laptop (a.k.a. Laptop B) that only has Intel
integrated graphics and it also has no issues with KDE Plasma
(Wayland). This highly suggests the issue is with “KDE Plasma
(Wayland)” when run on a system with NVIDIA Optimus technology and the
G06 NVIDIA drivers.

My goal is to open this Forum Thread now that some additional
information has been gathered before I make formal bug report(s) in
case others have fixes. Do others have “KDE Plasma (Wayland)” working
on an Optimus system with G06 drivers? If so, can you share any
additional information that will address the issue? Thank you for your
help with this.

Graphics Cards Present

    $ switcherooctl list
    Device: 0
      Name:        Intel® UHD Graphics 630
      Default:     yes
      Discrete:    no
      Environment: DRI_PRIME=pci-0000_00_02_0 VK_LOADER_DRIVERS_SELECT=*intel*
    
    Device: 1
      Name:        NVIDIA Corporation GP104M [GeForce GTX 1070 Mobile]
      Default:     no
      Discrete:    yes
      Environment: __GLX_VENDOR_LIBRARY_NAME=nvidia __NV_PRIME_RENDER_OFFLOAD=1 __VK_LAYER_NV_optimus=NVIDIA_only VK_LOADER_DRIVERS_SELECT=*nvidia*

G06 NVIDIA Packages Present

    $ zypper se -i -sd nvidia | grep -i 580
    i  | libnvidia-gpucomp-G06         | package | 580.159.03-48.1            | x86_64 | repo-non-free
    i  | libnvidia-gpucomp-G06-32bit   | package | 580.159.03-48.1            | x86_64 | repo-non-free
    i  | nvidia-common-G06             | package | 580.159.03-48.1            | x86_64 | repo-non-free
    i  | nvidia-compute-G06            | package | 580.159.03-48.1            | x86_64 | repo-non-free
    i  | nvidia-compute-G06-32bit      | package | 580.159.03-48.1            | x86_64 | repo-non-free
    i  | nvidia-compute-utils-G06      | package | 580.159.03-48.1            | x86_64 | repo-non-free
    i  | nvidia-driver-G06-kmp-default | package | 580.159.03_k6.19.12_1-48.1 | x86_64 | repo-non-free
    i  | nvidia-driver-G06-kmp-meta    | package | 580.159.03-48.1            | x86_64 | repo-non-free
    i  | nvidia-gl-G06                 | package | 580.159.03-48.1            | x86_64 | repo-non-free
    i  | nvidia-gl-G06-32bit           | package | 580.159.03-48.1            | x86_64 | repo-non-free
    i  | nvidia-modprobe               | package | 580.159.03-26.1            | x86_64 | repo-non-free
    i  | nvidia-persistenced           | package | 580.159.03-2.1             | x86_64 | repo-non-free
    i  | nvidia-userspace-meta-G06     | package | 580.159.03-48.1            | x86_64 | repo-non-free
    i  | nvidia-video-G06              | package | 580.159.03-48.1            | x86_64 | repo-non-free
    i  | nvidia-video-G06-32bit        | package | 580.159.03-48.1            | x86_64 | repo-non-free

Reinstallation Notes

  • Relevant Selections Made During Installation
    • GRUB2 with EFI
    • KDE Plasma
  • Installed NVIDIA Drivers
    • Followed instructions here
    • Specifically, did zypper install-new-recommends
  • Installed Switcheroo
    • Followed instructions here
    • Specifically, did the commands below
  • Installed GNOME via sudo zypper in -t pattern gnome
    $ sudo zypper remove suse-prime
    $ sudo zypper al suse-prime
    $ sudo zypper in switcheroo-control
    $ sudo systemctl enable --now switcheroo-control.service

Version Information

    $ lsb_release -a
    LSB Version:    n/a
    Distributor ID: openSUSE
    Description:    openSUSE Tumbleweed
    Release:        20260430
    Codename:       n/a

Hiya. I see you’re running 20260430 snapshot. Are you using 7.0.2 kernel?

Try to downgrade he Nvidia driver to the 580.142 version and if that works lock them for the time being. For reference, the following works here:

LT-B:~ # zypper se -si nvidia
Loading repository data...
Reading installed packages...

S  | Name                             | Type    | Version                 | Arch   | Repository
---+----------------------------------+---------+-------------------------+--------+--------------
il | libnvidia-egl-gbm1               | package | 1.1.3-11.1              | x86_64 | repo-non-free
il | libnvidia-egl-wayland1           | package | 1.1.22-57.3             | x86_64 | repo-non-free
il | libnvidia-egl-x111               | package | 1.0.5-26.1              | x86_64 | repo-non-free
il | libnvidia-gpucomp-G06            | package | 580.142-49.1            | x86_64 | repo-non-free
il | nvidia-common-G06                | package | 580.142-49.1            | x86_64 | repo-non-free
il | nvidia-compute-G06               | package | 580.142-49.1            | x86_64 | repo-non-free
il | nvidia-compute-utils-G06         | package | 580.142-49.1            | x86_64 | repo-non-free
il | nvidia-driver-G06-kmp-default    | package | 580.142_k6.19.11_1-49.1 | x86_64 | repo-non-free
il | nvidia-driver-G06-kmp-meta       | package | 580.142-44.1            | x86_64 | repo-non-free
il | nvidia-gl-G06                    | package | 580.142-49.1            | x86_64 | repo-non-free
il | nvidia-libXNVCtrl                | package | 580.159.03-56.1         | x86_64 | repo-non-free
il | nvidia-modprobe                  | package | 580.142-25.1            | x86_64 | repo-non-free
il | nvidia-persistenced              | package | 580.142-2.1             | x86_64 | repo-non-free
il | nvidia-userspace-meta-G06        | package | 580.142-44.1            | x86_64 | repo-non-free
il | nvidia-video-G06                 | package | 580.142-49.1            | x86_64 | repo-non-free
i+ | openSUSE-repos-Tumbleweed-NVIDIA | package | 20260423.1a6a0f3-2.1    | x86_64 | repo-oss
LT-B:~ # 

I have the 580.159 working on Leap 16, but that has a 6.12 kernel.

Yes, this system is currently running the 7.0.x minor release. It definitely started in the 6.19.x and, possibly, in the 6.18.x timeframes (ca. last December). I am not sure if the issues coincide with a Linux kernel version release or something with the Nvidia drivers, esp. at around the time that G07 were made.

Linux foo.lan 7.0.2-1-default #1 SMP PREEMPT_DYNAMIC Tue Apr 28 04:27:33 UTC 2026 (46da294) x86_64 x86_64 x86_64 GNU/Linux

One thing that can upset the apple cart so to speak is vulkan fighting with each other. The Dell XE3 has a nice feature as a desktop system as when a discrete card is installed and set to the default it will switch the 630 GPU to Display Controller and let the dGPU take over.

In your case I would suggest removing the libvulkan_intel package and ensuring the Nvidia GPU is used for vulkan by adding a /etc/environment file and in that add;

MESA_VK_DEVICE_SELECT="YOUR CARD PCI ID"

The id can be seen from inxi or lspci info.

For example I have used MESA_VK_DEVICE_SELECT="10de:1eb1" for my Quadro RTX4000.

I haven’t done that regularly so I’m rusty; I’ll look into it later today when I have some time to research how to do it. The versions you list seem older than the one you said to use, which uses the 6.19.x kernel series. Will the backwards version force me to go back on Linux version as well? Thank you for your help with this.

Then you probably have broken Nvidia driver. A lot of people are having issues with Nvidia on kernel 7.0 at the moment. It’s better to use lts kernel or rollback to 6.19.12 for now.

The easiest way is via Myrlyn and its “Version” tab. Start by downgrading the two -meta packages, they should bring the others automatically. Anyway check the others too before rebooting.
The 580.142 driver builds for the 7.0.x kernel too, so don’t worry.

While the 6.18 LTS kernel might be an option, using the 7.0.x kernel per se does not seem “the” problem as it works here with an older proprietary driver. Of course, using an older open driver with the 7.0.x kernel is not as straightforward as a “zypper dup”.

It sure isn’t straightforward but I still think it’s a better option. A lot of people have issue with proprietary G06, open G06 and open G07 Nvidia drivers on 7.0. Some are getting working system, some have black screen, some even have graphical artifacts and occasional screen blinking. That it works on your system doesn’t mean it’ll work on all systems.

This did not work for me. I have my notes below for posterity (and in case I did something wrong). The following shows the PCI ID of the Nvidia GPU.

$ lspci | grep -i nvidia
01:00.0 VGA compatible controller: NVIDIA Corporation GP104M [GeForce GTX 1070 Mobile] (rev a1)
01:00.1 Audio device: NVIDIA Corporation GP104 High Definition Audio Controller (rev a1)

So, I added the following to /etc/environment.

MESA_VK_DEVICE_SELECT="01:00.0"

That variable alone wasn’t enough to address the issue (verified after a reboot and attempting to log into Plasma (Wayland)). Next was to remove the packages.

$ zypper search vulkan | grep '^i'
i  | libgstvulkan-1_0-0                 | GStreamer Streaming-Media Framework Plug-Ins                                         | package
i  | libvulkan1                         | The Vulkan 3D graphics and compute API                                               | package
i  | libvulkan1-32bit                   | The Vulkan 3D graphics and compute API                                               | package
i  | libvulkan_intel                    | Mesa vulkan driver for Intel GPU                                                     | package
i  | libvulkan_intel-32bit              | Mesa vulkan driver for Intel GPU                                                     | package
i  | libvulkan_lvp                      | Mesa vulkan driver for LVP                                                           | package
i  | Mesa-vulkan-device-select          | Vulkan layer to select Vulkan devices provided by Mesa                               | package
i  | Mesa-vulkan-device-select-32bit    | Vulkan layer to select Vulkan devices provided by Mesa                               | package
i  | vulkan-tools                       | Diagnostic utilities for Vulkan                                                      | package

So, I did the following.

$ sudo zypper remove libvulkan_intel libvulkan_intel-32bit

This did not address the issue (verified after a reboot and attempting to log into Plasma (Wayland).

Should I change anything from the information above? Thank you for your help with this.

This the wrong command. You need to use:

:~> lspci -nn | grep "VGA compatible controller"
00:02.0 VGA compatible controller [0300]: Intel Corporation CometLake-H GT2 [UHD Graphics] [8086:9bc4] (rev 05)
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation TU117M [GeForce GTX 1650 Ti Mobile] [10de:1f95] (rev a1)

The value in the brackets from the output above is the correct ID. So in my case:

MESA_VK_DEVICE_SELECT="10de:1f95"

Thank you for the clarification. My updated information is below for posterity. After making these changes, I checked and this does not address the overall issue.

$ lspci -nn | grep VGA
00:02.0 VGA compatible controller [0300]: Intel Corporation CoffeeLake-H GT2 [UHD Graphics 630] [8086:3e9b]
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP104M [GeForce GTX 1070 Mobile] [10de:1ba1] (rev a1)

Now, the item in /etc/environment turns into the following.

MESA_VK_DEVICE_SELECT="10de:1ba1"

When I downgraded the versions per your recommendation, I was able to boot into “Plasma (Wayland)” which is definitely progress! However, it froze when I launched Steam to test things out. So, it’s closer but not quite done yet. Any ideas how to deal with Steam in this context? Thank you for your help with this.

I am going to give the downgraded Nvidia items a try first before downgrading kernels. When it is time for me to try a different kernel, how does one set Tumbleweed’s kernel per your recommendations? Thank you for your help with this.

I had problems with the update but not as much as many other users. Perhaps because my hardware is very new.

Do you use SDDM to log in?

If so, try replacing it with GDM and then try logging in.

Why?

I was also having problems:

  • crashes on the login screen

  • KWin constantly resetting the visual effects

  • KDE crashes.

Since I switched to GDM, I haven’t had any more problems.

I tested by switching back to SDDM: the problems started again.

So I switched back to GDM and haven’t had any problems since.

sudo zypper in kernel-longterm -kernel-default should do the trick. You should get output similar to this:

Refreshing service 'NVIDIA'.
Refreshing service 'openSUSE'.
Loading repository data...
Reading installed packages...
Resolving package dependencies...

Problem: 1: the installed nvidia-open-driver-G06-signed-kmp-default-580.159.03_k7.0.5_1-2.3.x86_64 requires 'ksym(default:__acpi_video_get_backlight_type) = 727e57a3', but this requirement cannot be provided
deleted providers: kernel-default-7.0.3-1.1.x86_64

 Solution 1: deinstallation of nvidia-open-driver-G06-signed-kmp-default-580.159.03_k7.0.5_1-2.3.x86_64
 Solution 2: keep kernel-default-7.0.5-1.1.x86_64
 Solution 3: break nvidia-open-driver-G06-signed-kmp-default-580.159.03_k7.0.5_1-2.3.x86_64 by ignoring some of its dependencies

Choose from above solutions by number or cancel [1/2/3/c/d/?] (c): 1

Resolving dependencies...
Resolving package dependencies...

The following package is suggested, but will not be installed:
  systemd-boot

The following 2 NEW packages are going to be installed:
  kernel-longterm nvidia-open-driver-G06-signed-kmp-longterm

The following 3 packages are going to be REMOVED:
  kernel-default-7.0.3-1.1 kernel-default-7.0.5-1.1 nvidia-open-driver-G06-signed-kmp-default

The following package requires a system reboot:
  kernel-longterm

2 new packages to install, 3 to remove.

Package download size:   206.4 MiB

Package install size change:
              |     288.1 MiB  required by packages that will be installed
  -283.9 MiB  |  -  571.9 MiB  released by packages that will be removed

    Note: System reboot required.

Backend:  classic_rpmtrans
Continue? [y/n/v/...? shows all options] (y):

It should suggest to replace nvidia-driver-G06-kmp-default with nvidia-driver-G06-kmp-longterm.

I’ve tested plenty of Nvidia driver versions including both flavours of G06 and G07 but none of them work reliably with 7.0.x kernels on my PC. Your mileage may vary.