I recently found that the HDMI port on my Acer Nitro 5 would not work when using openSUSE, but worked fine in Windows. This is really just a graphical walk through of what is posted at:
- https://en.opensuse.org/SDB:NVIDIA_drivers
- https://en.opensuse.org/SDB:NVIDIA_SUSE_Prime
- https://forums.opensuse.org/showthread.php/538877-optimus-laptop-and-leap-15-1-do-not-connect-to-external-hdmi-monitor/page3
Procedure
Confirm that multiversion is supported:
grep multiversion /etc/zypp/zypp.conf
You should see (or need to edit to change):
Next, add the NVIDIA repo:
zypper addrepo --refresh 'https://download.nvidia.com/opensuse/leap/$releasever' NVIDIA
Now we need to identify the correct graphics card model:
sudo lspci | grep VGA
You should see the standard graphcs controlle (e.g. Intel graphics), as well as the Nvidia graphics card. In this case, the GeForce RTX 3060.
Now for a bit of detective work. We need to identify the correct driver version, using Nvidia's driver search engine (link). Populate the search fields based on the model you have just positively identified using the previous step. For example:
Using the version information, we can search zypper for the correct driver:
sudo zypper se -s x11-video-nvidiaG0*
* 5 May 2023: The package names have subsequently changed for G06:
To install, copy the name and do a normal zypper install. For example:
sudo zypper in x11-video-nvidiaG06
sudo zypper in nvidia-video-G06
If you are using EFI and signed drivers, see the original links above for the extra steps.
Since this is on a laptop, we need to use the SUSE Prime tool to activate the Nvidia graphics as the chosen graphics.
To activate the Nvidia graphics:
*21 March 2025: "prime" is being replaced with switcheroo-control. But in some cases prime-select is still being used.
sudo prime-select nvidia
And to switch back to Intel graphics:
sudo prime-select intel
You will have to logout, maybe even restart.
Re-installing (added 21 March 2025)
Recently I had an error "Failed to start NVIDIA Persistence Daemon", after updating my NVIDIA drivers to 570.133.07-lp156.33.1. A reinstall did the trick.
- Note the current installed drivers as reference: sudo zypper se -si nvidia-* >> nvidia.log
- Uninstall the NVIDIA drivers: sudo zypper rm nvidia-*
- (Also uninstall prime-select, switcheroo-control, bumblebee)
- Reboot
- Install the drivers (as above): sudo zypper in nvidia-video-G06
- Reboot
I did note, in my case, that nvidia-utils were not installed, and that their version was not compatible (yet) - possibly this was the cause of the error in the first place...
Final comments
- Enabling the Nvidia graphics got my HDMI output working
- I also found the overall temperature of my laptop was reduced when using the Nvidia graphics over the Intel graphics
- Another handy tool in nvidia-settings.