MicroOS SUSE Prime switching to Intel causes black screen with login and unable to switch to Nvidia

A user of Micro OS Gnome here. My laptop uses the hybrid graphic. I installed the Nvidia G06 driver with suse-prime and bbswitch. Here are two issues I found:

  1. When I put sudo prime-select intel, my laptop immediately turned into black screen with login. After rebooting the device, /usr/sbin/prime-select get-current still said no driver configured. sudo prime-select unset and sudo prime-select service restore won’t help.
  2. If I select sudo prime-select Nvidia, I was able to log out and log in successfully. However, my /usr/sbin/prime-select get-current said I’m using Intel with bbswitch on.

I think these are MicroOS exclusive issues, as I never encountered them on Tumbleweed. Switching to Nvidia G05 driver doesn’t help either. By default, MicroOS comes with less installed packages than Tumbleweed, nor does it have ‘recommended packages’ like Tumbleweed. For example, my Tumbleweed ships with packages like intel-media-driver intel-vaapi-driver xorg-x11-driver-video libvulkan_intel Mesa-vulkan-device-select, which MicroOS doesn’t. Here I’m wondering if missing driver-related packages are missing might be the cause of the issues mentioned above.

@highgrounder Gnome uses Wayland by default and nvidia is blacklisted via udev rule, logout and switch to Xorg, else consider just using prime render offload.

In my memory Nvidia G06 worked fine on Gnome Wayland when I was using Tumbleweed.

I switched to Xorg . After resetting prime-select and trying to put sudo prime-select Nvidia, I was able to log out but not be able log in. The login GUI didn’t allow me to login even I put the correct password. It just bounced back to the same login GUI screen immediately.

Prime-offload gave me a black screen login page as well. Every problem I described here didn’t happen on my Tumbleweed previously, only on the current MicroOS installation.

@highgrounder I only have an intel based system running MicroOS, main system is Tumbleweed, Xorg, Quadro T400 and Prime Render Offload to a Tesla P4.

Depending on your end use, Prime Render Offload is done without suse-prime, bbswitch etc… basically running intel all the time and then just (in GNOME switcherooctl) running the applications you want with the nvidia gpu. But if running games like steam and proton YMMV…

Ref: Chapter 35. PRIME Render Offload

@highgrounder do you have the kernel boot option nvidia_drm.modeset=1 if this is not set wayland is disabled.

I suggest a browse of /usr/lib/udev/rules.d/61-gdm.rules hybrid graphics is disables wayland as well…

I didn’t have it. I added this option and switching to Intel still gave me a black screen with login. I switched to Xorg this time.

So provide full output of journalctl -b as root after booting into “black screen with login”. Upload to https://susepaste.org.

Here you go! The log starts with the moment I put sudo prime-select unset and sudo prime-select service restore. Then I put sudo prime-select intel to switch the graphic.

https://paste.opensuse.org/pastes/a9ab4d9c929c

That is not what I requested. It was done as normal user, not root, and does not capture system log. Besides, some lines are truncated. Do not copy-paste from terminal, redirect output to a file.

Update: I took a look at the prime-select.log and here is what I found (copied and pasted from the bug report page):

According to `prime-select.log’, it couldn’t detect Intel when I tried to switch to it. Then it would attempt to switch to Nvidia instead and caused black screen with login, because it also couldn’t detect Nvidia. Here is the part of the log:

[ 18:36:16 ] service restored by user
[ 18:38:35 ] user_logout_waiter: started
[ 18:38:35 ] user_logout_waiter: X restart detected, preparing switch to intel
[ 18:38:35 ] Forcing nvidia due to Intel card not found
[ 18:38:35 ] Unloading bbswitch and switching nvidia ON...
[ 18:38:38 ] PCI BusID of NVIDIA card could not be detected!
[ 18:38:38 ] Configuration failed
[ 18:39:42 ] Boot: setting-up  card
[ 18:39:42 ] HotSwitch: completed!

Interestingly, when I switched to Nvidia, suse-prime complained about not able to detect Nvidia and wanted to switch to Intel. This time the Intel just mysteriously worked along with bbswitch.

[ 20:47:07 ] user_logout_waiter: started
[ 20:47:07 ] user_logout_waiter: X restart detected, preparing switch to nvidia
[ 20:47:07 ] Forcing intel due to NVIDIA card not found
[ 20:47:07 ] NVIDIA card will be switched off, NVIDIA offloading will not be available
[ 20:47:07 ] trying switch OFF nvidia: [bbswitch] NVIDIA card is OFF
[ 20:47:07 ] Intel card correctly set
[ 20:47:07 ] HotSwitch: starting Display Manager
[ 20:47:08 ] HotSwitch: completed!

Problem solved by installing inxi and nvidia-utils-G06. Not sure the latter is really needed but I’m pretty sure inxi is required and MicroOS doesn’t install it by default.