Suse prime not working with nvidia laptop

Hey! I’m using laptop with intel iGPU and nvidia 1050Ti dGPU. Trying to get suse-prime to work. (Trying to run switch emulator yuzu but it cant detect my graphics card)

glxinfo | grep ‘OpenGL renderer string’ gives Mesa Intel(R) UHD Graphics 630 (CFL GT2)

First I tried automatic nvidia driver installation, followed by suse-prime installation, but when i use prime-select boot nvidia and log out, i get black screen.

Tried WaylandEnable=false inside /etc/gdm/custom.conf but still black screen.

Tried following a thread on the forum
image
switcherooctl list give no output

Uninstalled nvidia drivers through Yast and reinstalled g06 drivers, no difference.

Found something else
Force use of Xorg as follows:

temporarily edit Grub to boot to init 3
remove nouveau drivers (by full zypper removal or blacklisting in /etc/modprobe.d)
install nvidia drivers as expected (https://en.opensuse.org/SDB:NVIDIA_drivers)
edit /etc/gdm/custom.conf to uncomment (set) WaylandEnable=false
reboot

but im unsure how to follow step 1. I am first time linux user.

im using GNOME

You are refering to some threads but don’t show them…

I recently bought a used Optimus laptop and the Nvidia driver installation was a smooth ride whilst following this instructions:
https://en.opensuse.org/SDB:NVIDIA_SUSE_Prime

  • KDE Plasma with X11
  • installed G06 drivers according SDB:NVIDIA drivers - openSUSE Wiki
  • installed suse-prime and bbswitch-kmp-default packages
  • executed # xrandr --listproviders to see that booth cards (Intel and Nvidia) are detected
  • executed # glxinfo | grep 'OpenGL renderer string' to see that Intel is in use
  • executed # prime-select boot nvidia
    → the system rebooted into a black screen with a cursor in the upper left corner. But no reaction to cursor
    → simply hitting CTRL+ALT+DEL brought up the login screen immediately
  • verified via # glxinfo | grep 'OpenGL renderer string' that Nvidia is used

The system is running stable, had already several Nvidia and Kernel updates and no issues so far. No tinkering with any configs necessary…
I don’t use the offload approach as i want to have the Nvidia card permanently in use.

As you are using Gnome with Wayland, you should first boot up with Intel and make sure that you are using X11 instead of Wayland. This is described in the Troubleshooting section:
https://en.opensuse.org/SDB:NVIDIA_SUSE_Prime#Troublehooting

GNOME and Wayland don’t play well… hybrid graphics is disabled. I prefer to use switcheroolctl on GNOME as it has Prime Render Offload dbus integration. Likewise bbswitch is unsupported… Finally better battery life if just running on the iGPU and use the dGPU on demand.

Wayland runs fine on my Intel/Intel and AMD/AMD setups, Desktop has Nvidia/Nvidia with Xorg. No luck with Intel (ARC)/Nvidia (Quadro).

my bad! it was this thread

i remember at some point xrandr --listprovidersshowed both cards but at the moment its showing 0 cards. not sure what i messed up;
i guess i didnt try ctrl+alt+delete.

Im starting to understand what these words mean.

I realised Xorg is something i can choose in the login screen so I did.
No clue how snapper works so I
restarted with a clean install of openSuse

Followed the instructions step by step. prime-select confirms nvidia for the next boot, but after I boot in its still Intel. This time im gonna hold off on tinkering;

image

loginctl show-session 1 | grep Type says Type=x11

btw, whats the difference between doc.opensuse and en.opensuse

on this clean install i see 2 providers using xrandr --listproviders

Hm…I use prime-select get current for the current status, and mostly use offload for the Nvidia driver.
Or am I on the wrong page here?

image

maybe its a nvidia driver problem?

im new to terminal but I tried uninstalling and reinstalling go6 drivers through YaST2; unsuccesfully

i tried offload too, followed by prime-run yuzu; still doesnt detect my graphics card

Are you sure the G06 is the right driver?
I run the G05 on my ThinkPad X1 Extreme

I tried g05, g05 has x11 driver that g06 didnt have so i was hopeful

but alas, after much rebooting

image

do you know what the difference is between these kernel drivers, (whats gsp/gspx) maybe i need one of these with g06 to make it work

image

found some useful commands here

also nvidia-settings

nouveau drivers are a problem iirc

reinstalled go6 drivers, gonna try to install the kernel drivers manually now

inxi -Fz

image

restarted 10000 times trying every combination of kernel and drivers. unsuccessfull. gspx is newer than gsp. nvm, gspx is the open source kernel. we need closed source. tried blacklisting nouveau using dracut from here . Still no luck.

maybe secure boot is the problem
maybe dual booting windows is the problem
so long video games; i enjoyed playing while i could

secure boot is not the problem

followed the MOK steps listed here

image

maybe i will reinstall TW without secure boot and try installing nvidia driver “the hard way”

@kavser you don’t need either of the firmware files, they are related to the open Nvidia driver and not applicable to your GPU.

What BIOS options do you have for your GPU? Is nouveau blacklisted lsinitrd | grep nouveau?

Again, SUSE prime has it’s issues, bbswitch has no support and deprecated…

Use X11, are there any xorg.conf files in /etc/X11 or /etc/X11/xorg.conf.d?

1 Like

@kavser Might want to peruse here too https://forums.opensuse.org/t/howto-tumbleweed-desktop-nvidia-prime-render-offload/165723/

1 Like

I remember adding noveu blacklist to etc/mod . . . .
image

image

I see, I assumed that since this used strictly Nvidia it would be the simpler solution. Will try your solution from the other thread

@kavser It’s not blacklisted you should see something like;

lsinitrd | grep nouv
-rw-r--r--   1 root     root           76 Nov 14  2022 usr/lib/modprobe.d/nvidia-installer-disable-nouveau.conf


@kavser Just tested here, did you add via YaST bootloader the kernel option nvidia_drm.modeset=1 and also remove and lock suse-prime. I think if want to use suse-prime then it may be nosimplefb=0.

No suse-prime (uninstalled and locked so it doesn’t install);

switcherooctl list

Device: 0
  Name:        Intel® HD Graphics P4000
  Default:     yes
  Environment: DRI_PRIME=pci-0000_00_02_0

Device: 1
  Name:        NVIDIA Corporation GM107GL [Quadro K620]
  Default:     no
  Environment: __GLX_VENDOR_LIBRARY_NAME=nvidia __NV_PRIME_RENDER_OFFLOAD=1 __VK_LAYER_NV_optimus=NVIDIA_only

pinxi -Gaz

Graphics:
  Device-1: Intel Xeon E3-1200 v2/3rd Gen Core processor Graphics driver: i915
    v: kernel arch: Gen-7 process: Intel 22nm built: 2012-13 ports:
    active: HDMI-A-2 empty: DP-1, DP-2, DP-3, HDMI-A-1, HDMI-A-3, VGA-1
    bus-ID: 00:02.0 chip-ID: 8086:016a class-ID: 0300
  Device-2: NVIDIA GM107GL [Quadro K620] vendor: Hewlett-Packard
    driver: nvidia v: 545.29.06 alternate: nouveau,nvidia_drm non-free: 545.xx+
    status: current (as of 2024-02; EOL~2026-12-xx) arch: Maxwell code: GMxxx
    process: TSMC 28nm built: 2014-2019 pcie: gen: 1 speed: 2.5 GT/s lanes: 16
    link-max: gen: 2 speed: 5 GT/s ports: active: none empty: DP-4,DVI-I-1
    bus-ID: 01:00.0 chip-ID: 10de:13bb class-ID: 0300
  Display: x11 server: X.org v: 1.21.1.11 with: Xwayland v: 23.2.4
    compositor: gnome-shell v: 45.3 driver: X: loaded: modesetting,nvidia
    unloaded: fbdev,vesa alternate: intel,nouveau,nv dri: crocus gpu: i915
    display-ID: :0 screens: 1
  Screen-1: 0 s-res: 1920x1080 s-size: <missing: xdpyinfo>
  Monitor-1: HDMI-A-2 mapped: HDMI-2 model: AAA built: 2012 res: 1920x1080
    hz: 60 dpi: 85 size: 575x323mm (22.64x12.72") modes: max: 1920x1080
    min: 720x400
  API: EGL v: 1.5 hw: drv: intel crocus drv: nvidia platforms: device: 0
    drv: nvidia device: 1 drv: crocus device: 3 drv: swrast gbm: drv: crocus
    surfaceless: drv: nvidia x11: drv: crocus inactive: wayland,device-2
  API: OpenGL v: 4.6.0 compat-v: 4.2 vendor: intel mesa v: 23.3.5 glx-v: 1.4
    direct-render: yes renderer: Mesa Intel HD Graphics P4000 (IVB GT2)
    device-ID: 8086:016a memory: 1.46 GiB unified: yes

glxinfo | grep "OpenGL renderer"
OpenGL renderer string: Mesa Intel(R) HD Graphics P4000 (IVB GT2)

switcherooctl glxinfo | grep "OpenGL renderer"
OpenGL renderer string: Quadro K620/PCIe/SSE2
1 Like

Started from clean Install

  • Added suse-prime and bbswitch to never install
  • Followed SDB:NVIDIA the hard way - openSUSE Wiki
    ** Booted without nouveau (nomodeset 3)
    ** Blacklisted nouveau (modprobe.d)
    ** dracut -f
  • Reboot and hwinfo --gfxcard

Nvidia driver install failed because of some key-pair mishap , so installed via zyp (easy way)
nvidia-utils-G06 installed seperately for nvidia-settings

image

However,

CANT GET RID OF NOVEAU;;

OH MY GOD NVIDIA_SETTINGS FINALLY SHOWED UP

@malcolmlewis this is amazing

CAN I KISS YOU PLEASE

Concluding steps to install nvidia:

  • Install dependencies
  • Block suse-prime and bbswitch using Yast2
  • BLOCK noveau has hard as u can
  • Follow quick install
  • Drugs
  • Many diagnostic commands above!

@kavser If you install switcherooctl and enable the service, then if you right click on any desktop icon, there is the option to run with the dedicated gpu and use intel for all the rest…

switcherooctl is installed. I checked the command exists. I don’t know how itwas installed. I never installed it myself.

But the service does not exist. What is the name of the service ?

Thanks