Optimus laptop; switcherooctl does not list Nvidia card; external portable monitor does not work {Repost]

I am the original poster of the post:

Optimus laptop; switcherooctl does not list Nvidia card; external portable monitor does not work

The text of the post was mangled by the forum post text editor, but to summarize the issue of the original post:

In a new installation of openSUSE Tumbleweed (a re-installation) an external portable monitor plugged into an Nvidia Optimus laptop running an X11 session in Hybrid mode as set by SUSE Prime would not work, whereas it had in the previous installation. Also, swithcerooctl list only listed the integrated GPU. A related issue was that although some Nvidia modules were loaded, the nvidia_drm module was not.

In case it helps anyone else, the issue was that in the re-installation of Tumbleweed, I installed the “open” Nvidia driver, either with zypper install-new-recommends or zypper in nvidia-open-driver-G06-signed-kmp-meta – I don’t remember which. I removed the nvidia-open-driver-G06-signed-kmp-default package and installed nvidia-driver-G06-kmp-default. This change resolved the issue.

From the zypper log:

2025-08-19 01:44:45 <1> openSUSE-16ITH6(5151) [zypper++] Summary.cc(readPool):281 <uninstall> I_Tu_ru(2260)nvidia-open-driver-G06-signed-kmp-default-570.169_k6.15.4_1-2.1.x86_64(@System)
2025-08-19 01:44:45 <1> openSUSE-16ITH6(5151) [zypper++] Summary.cc(readPool):281 <uninstall> I_Tu_su(2261)nvidia-open-driver-G06-signed-kmp-default-570.172.08_k6.15.7_1-1.3.x86_64(@System)
2025-08-19 01:47:06 <1> openSUSE-16ITH6(6952) [zypper:req] SolverRequester.cc(install):290 installing U_Tu_(434)nvidia-driver-G06-kmp-default-580.76.05_k6.15.8_1-39.1.x86_64(NVIDIA:repo-non-free)
2025-08-19 01:47:06 <1> openSUSE-16ITH6(6952) [libsolv] PoolImpl.cc(logSat):134 job: install nvidia-driver-G06-kmp-default-580.76.05_k6.15.8_1-39.1.x86_64
2025-08-19 01:47:06 <1> openSUSE-16ITH6(6952) [zypper++] Summary.cc(readPool):281 <install>   U_Tu_s(434)nvidia-driver-G06-kmp-default-580.76.05_k6.15.8_1-39.1.x86_64(NVIDIA:repo-non-free)

The following image shows that the external monitor now works. The Konsole windows confirm that the session is X11, EnvyControl has set the graphics mode to “Hybrid”, switcheroo-control.service is loaded and active, swithcerooctl detects both GPUs, Kdenlive is being rendered by the Nvidia GPU (after specifying that Kdenlive should be rendered by the Nvidia GPU in KDE Menu Editor).

Nvidia Optimus; switcheroo-control lists both GPUs; external monitor works with Nvidia proprietart driver, does not with Nvidia open_1

Replies to the original post suggested that SUSEPrime was the issue. I know this was not the issue, because in the previous installation of openSUSE Tumbleweed, even with SUSEPrime active, the issue did not exist. Since openSUSE is deprecating SUSEPrime, I replaced it with EnvyControl, and as with SUSEPrime before, there is no conflict with switcheroo-control. I can set the graphics mode to Hybrid with EnvyControl, and have all the benefits of low power use with the ability to offload applications to the Nvidia GPU by using the desktop environment capabilities provided by switcheroo-contro, or directly with switcherooctl. AND, I can have the benefit of using the discrete GPU for the entire session (all applications and the desktop environment) by using EnvyControl to set the graphics mode to Nvidia (or Discrete GPU).

This was also the case with SUSEPrime. Its only problem, in my experience, was that – before its bbswitch dependncy was removed – it could not distinguish between Nvidia cards that supported RTD3 Power Management and those that did not resulting in a completely powered off computer when switching to Integrated mode in newer Optimus laptops that do support RTD3 PM. It could still be used to switch between Hybrid and Discrete modes.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.