GDM and Nvidia Proprietary Driver

Hi all. I am on leap but would like to upgrade to tumbleweed. In my test installs of tumbleweed I can get the NVIDIA kernel module installed from the repos just fine but if I login with gdm I am kicked to a single low resolution screen. If I switch to sddm I get full resolution on both monitors and can run X11 or Wayland. I am using a Quadro P620. Any suggestions on where to start? Thanks.

Hello and welcome to the openSUSE forums.

If SDDM works fine, what is the problem? Use what works.

I did consider that and may just do that but then no native screen locking and will sddm stop working next time I do an update?

@effie Hi and welcome to the Forum :smile:

So GDM resolution is fine? Have you gone into the GNOME Settings → Display and configured the resolution(s) there?

Hi. Thanks. GDM resolution is also single screen sub 1080p. When I login I can’t increase resolution or detect my second monitor.

No problems here with Gnome, GDM, Wayland and Nvidia… may we start with some basic info please?

inxi -GSz
zypper -si nvidia

… and, BTW, everything working on Leap?

System:
Kernel: 6.10.11-1-default arch: x86_64 bits: 64
Console: pty pts/2 Distro: openSUSE Tumbleweed 20240924
Graphics:
Device-1: Intel HD Graphics 630 driver: i915 v: kernel
Device-2: NVIDIA GP107GL [Quadro P620] driver: N/A
Display: unspecified server: X.org v: 1.21.1.12 with: Xwayland v: 24.1.2 driver: X:
loaded: nvidia unloaded: fbdev,modesetting,vesa dri: iris gpu: i915 tty: 114x31
API: EGL v: 1.5 drivers: iris,nvidia,swrast platforms: gbm,surfaceless,device
API: OpenGL v: 4.6.0 compat-v: 4.5 vendor: mesa v: 24.1.7 note: console (EGL sourced)
renderer: Mesa Intel HD Graphics 630 (KBL GT2), Quadro P620/PCIe/SSE2, llvmpipe (LLVM 18.1.8
256 bits)
API: Vulkan v: 1.3.290 drivers: N/A surfaces: N/A

I’m not quite sure why the zypper command failed:
Unknown command ‘nvidia’

@effie Hybrid setup then… @OrsoBruno has those systems…

yes, hybrid.

@effie So, suse-prime is installed, it blocks the Nvidia GPU as showing N/A… On GNOME I use switcherooctl as it has d-bus integration to launch applications on the Nvidia GPU (Prime Render Offload).

Can you show the output from /sbin/lspci -nnk | grep -EA3 "VGA|Display|3D"

00:02.0 Display controller [0380]: Intel Corporation HD Graphics 630 [8086:5912] (rev 04)
	Subsystem: Dell Device [1028:07a2]
	Kernel driver in use: i915
	Kernel modules: i915
--

01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GP107GL [Quadro P620] [10de:1cb6] (rev a1)
	Subsystem: Hewlett-Packard Company Device [103c:1264]
	Kernel driver in use: nvidia
	Kernel modules: nouveau, nvidia_drm, nvidia

@effie And also cat /proc/cmdline

This is a laptop?

It’s a desktop. Dell Optiplex 5050

BOOT_IMAGE=/boot/vmlinuz-6.10.11-1-default root=UUID=a6e28bb8-f914-44b4-8dd5-b4293bc81e7d splash=silent resume=/dev/disk/by-uuid/621bb0a2-6db1-490d-b2ea-c11f79b9ce60 mitigations=auto quiet security=apparmor

Sorry for the typo,

zypper se -si nvidia

No worries. Thanks:

S  | Name                             | Type    | Version                   | Arch   | Repository
---+----------------------------------+---------+---------------------------+--------+--------------------
i+ | kernel-firmware-nvidia           | package | 20240913-1.1              | noarch | openSUSE:Tumbleweed
i+ | kernel-firmware-nvidia           | package | 20240913-1.1              | noarch | openSUSE:Tumbleweed
i+ | kernel-firmware-nvidia           | package | 20240913-1.1              | noarch | repo-oss
i+ | libnvidia-egl-wayland1           | package | 1.1.16-1.1                | x86_64 | openSUSE:Tumbleweed
i+ | libnvidia-egl-wayland1           | package | 1.1.16-1.1                | x86_64 | openSUSE:Tumbleweed
i+ | libnvidia-egl-wayland1           | package | 1.1.16-1.1                | x86_64 | repo-oss
i+ | nvidia-compute-G06               | package | 550.107.02-26.1           | x86_64 | repo-non-free
i+ | nvidia-compute-G06-32bit         | package | 550.107.02-26.1           | x86_64 | repo-non-free
i+ | nvidia-driver-G06-kmp-default    | package | 550.107.02_k6.10.5_1-26.1 | x86_64 | repo-non-free
i+ | nvidia-gl-G06                    | package | 550.107.02-26.1           | x86_64 | repo-non-free
i+ | nvidia-gl-G06-32bit              | package | 550.107.02-26.1           | x86_64 | repo-non-free
i+ | nvidia-video-G06                 | package | 550.107.02-26.1           | x86_64 | repo-non-free
i+ | nvidia-video-G06-32bit           | package | 550.107.02-26.1           | x86_64 | repo-non-free
i+ | openSUSE-repos-Tumbleweed-NVIDIA | package | 20240712.dd8c2eb-1.1      | x86_64 | openSUSE:Tumbleweed
i+ | openSUSE-repos-Tumbleweed-NVIDIA | package | 20240712.dd8c2eb-1.1      | x86_64 | openSUSE:Tumbleweed
i+ | openSUSE-repos-Tumbleweed-NVIDIA | package | 20240712.dd8c2eb-1.1      | x86_64 | repo-oss

@effie OK, so what is your end game, just using the Nvidia gpu, or using both the Intel GPU for graphics and the Nvidia GPU for offload/cuda?

That’s what I run here;

inxi -GSz

System:
  Kernel: 6.10.11-1-default arch: x86_64 bits: 64
  Desktop: GNOME v: 46.5 Distro: openSUSE Tumbleweed 20240924
Graphics:
  Device-1: NVIDIA GM107GL [Quadro K620] driver: vfio-pci v: N/A
  Device-2: NVIDIA TU117GLM [Quadro T400 Mobile] driver: nvidia v: 560.35.03
  Device-3: Intel DG2 [Arc A380] driver: i915 v: kernel
  Display: wayland server: X.org v: 1.21.1.12 with: Xwayland v: 24.1.2
    compositor: gnome-shell driver: X: loaded: modesetting,nvidia
    unloaded: fbdev,vesa dri: iris gpu: i915 resolution: 1: 1920x1080~60Hz
    2: 1920x1080~60Hz 3: 1920x1080~60Hz
  API: EGL v: 1.5 drivers: iris,kms_swrast,nvidia,swrast
    platforms: gbm,wayland,x11,surfaceless,device
  API: OpenGL v: 4.6.0 compat-v: 4.5 vendor: intel mesa v: 24.1.7
    renderer: Mesa Intel Arc A380 Graphics (DG2)
  API: Vulkan v: 1.3.290 drivers: N/A surfaces: xcb,xlib,wayland

I would just be happy with the Nvidia gpu unless you suggest otherwise.

@effie So what are you planning on using the Nvidia GPU for? I’m guessing the Intel GPU is part of the CPU, does it have multiple graphics ports?

So the integrated gpu supports three monitors, nvidia does four. Mainly I was just enjoying the roughly 3x performance gains with the nvidia. It does make gnome run very smooth.

@effie well in actual fact GNOME (applications) works better with the Nvidia card as Prime Render offload. Many applications take advantage of compute, text editor, console (kgx), libreoffice etc these days.

So, I suspect suse-prime is installed, so if wanting to just use the Nvidia GPU, you need to disable the intel gpu in the system BIOS and set the Nvidia GPU as primary as well as uninstalling suse-prime and any bumblebee or bbswitch packages installed.

If wanting to use The intel GPU and Prime Render offload, those offending packages listed above need removing and locks added. Then can look at using switchrooctl to launch selected applications with the Nvidia GPU.

Have a read of these for some more insights;

https://forums.opensuse.org/t/two-graphic-cards-one-for-desktop-one-for-cuda-computing/178839

This about Prime Render Offload https://download.nvidia.com/XFree86/Linux-x86_64/550.107.02/README/primerenderoffload.html

This one about switcherooctl https://en.opensuse.org/SDB:NVIDIA_Switcheroo_Control