I know there are several threads on this topic already, but that is kind of my point: it seems very hard to find clear info regarding the recommended (and working) ways to set up dual Intel/NVIDIA GPU’s on Tumbleweed from the default installation(s). Sorry about the quite long post - this is not a complaint; people are very helpful here
My system is a Lenovo Legion 7i laptop with an Intel iGPU and an NVIDIA 4060 dGPU. I have chosen openSUSE Tumbleweed specifically to get a more up-to-date desktop experience - I use Debian on my other machines.
I am quite impressed with Tumbleweed when I just ignore that I have the NVIDIA card and run everything on the Intel graphics. But of course I want to be able to use the laptop for gaming as well (without rebooting into Windows).
So far every time I install an NVIDIA driver, the system becomes extremely unstable and crashes hard a few minutes after rebooting. The laptop runs well under Windows (except for - well - having to run Windows…), and also seems much more stable with a Fedora 40 install on an external SSD (even detecting the NVIDIA driver for ollama as well as running Steam games ).
I run a standard openSUSE Tumbleweed installation with GNOME/Wayland, and secure boot i disabled in the BIOS. My latest effort was simply enabling the NVIDIA repository (I had not approved the key before), and install nvidia-drivers-g06. After rebooting inxi showed the NVIDIA driver, but Steam hardware info still detected Intel. I tried to install switcheroo-control, but the machine froze during post install scripts Not just the graphics, but the system (could not SSH into it).
Have I just installed Tumbleweed at an unfortunate point in time and should wait for Mesa 24.1 with the NVK drivers and/or the proprietary NVIDIA v555 drivers? Both should be on their way. Or is there a simple recipe for a safe “install from scratch” method?
Or what am I missing? I don’t mind messing with configurations to “optimize” settings, but having hard crashes is not fun, and should be a very rare thing to happen on Linux! Thank god for snapper rollback one of the reasons I am really impressed by the distro in many other ways!
I’ll leave it here; guess I will try again when Mesa 24.1 and NVIDIA 555 are included in the Tumbleweed repositories.
…another observation: I have installed Pop!_OS on an external SSD and it works with both GPU’s out of the box (but of course is a much more dated desktop based on X11, not Wayland)…
@Jaybe It all depends on the hardware setup by the manufacturer, there seems to be many variations of how it’s deployed…
So, did you confirm whether you were running Xorg or Wayland on openSUSE? By default suse-prime seems to be installed (maybe switcherooctl as well), this does seem to cause issues, but it may/may not work, again likely manufacturer implementation.
With respect to your PopOS setup, what kernel, Xorg or Wayland, what Nvidia driver, what kernel options, what Nvidia module options?
The other issue with lets say boutique distributions is no money, don’t care about patents or any legal ramifications… openSUSE and by association with our primary sponsors SUSE does care about this, hence the distribution of the nvidia rpms is done by Nvidia etc…
So my current desktop setup is Intel ARC with Nvidia Quadro T400 on Wayland (but would not switch from Xorg, so had to do a gdm rules tweak). Likewise I use the run file here rather than the rpm for finer grain control.
If you inspect the default nvidia options, there is a note about enabling NVreg_PreserveVideoMemoryAllocations when on GNOME etc…
Writing this from an “Optimus” dual Intel / Nvidia laptop, pretty much standard TW Gnome Wayland install, accepting the Nvidia repo, installing nvidia-drivers-g06etc.
The critical point, following Malcolm’s advice in other threads, was uninstalling and locking suse-prime, then enabling the switcheroo-control.service (I think switcheroo-control was already installed but the service not enabled).
Now Libreoffice automatically used OpenCL on Nvidia when needed, video decoding is done by HW on Nvidia when supported (but using codecs, Mesa from Packman) and I can launch any app on Nvidia by a “Right-click” on the Gnome desktop launchers.
So the critical point seems to be the conflict between suse-prime and switcheroo-control, but one or the other apparently doesn’t work well with all HW configurations and that might add to the confusion.
I have now installed the NVIDIA G06 drivers, locked the suse-prime package, installed switcheroo-control and started the service. For some reason the GNOME context menu allows me to run apps with the integrated GPU and I have to start Steam normally (just clicking the application icon) to use the NVIDIA GPU. i thought it should be the other way around?
But now it works until I close the game, then the system freezes. It must have something to do with the switching back to the iGPU? Anyway; progress
I’ll look into the NVreg_PreserveVideoMemoryAllocations next
@malcolmlewis Yeah that’s what I thought - but the menu says launch with integrated graphics card and if I do that Steam reports Intel as the video driver. If I just launch Steam by clicking the app icon Steam reports NVIDIA GPU and the games are clearly running with the NVIDIA card… But then the system freezes when I close the game.
Next I wanted to disable the switcheroo service (systemctl disable…) to do some experiments. When I ran that command the laptop immediately froze. Go figure!?
It is only the Steam app that shows the integrated graphics as an option - other apps show discrete graphics. I guess it is the steam app that is configured to used the dGPU as default (makes sense).
I have added the NVreg_PreserveVideoMemoryAllocations option to the kernel module and added nvidia_drm.modeset=1 to GRUB.
Tried the same with steam and works as well. Closed the game and the laptop didn’t freeze. It does freeze when I launch Steam from the app icon - so I won’t do that again for now
Now I need to get some sleep Will continue tomorrow!
Okay, what seemed quite successful last night turns out not so much… I seem to have ended in a state where I am logged into X11 (not Wayland) and the system is unstable again. Maybe for X11 I should switch back to suse-prime?
Anyway, I need the laptop to function for other stuff so I will probably wait a bit before doing further experiments