Nvidia Drivers OpenGL nightmare - Cinnamon - Ryzen™ AI 9 HX 370 - GeForce RTX 5070

Which Linux distro are you using? Debian

Which release version? Linux framework 6.17.13+deb14-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.17.13-1 (2025-12-20) x86_64 GNU/Linux

Which kernel are you using?

Which BIOS version are you using?

$ sudo fwupdmgr get-updates --force
Place your right index finger on the fingerprint reader
Devices with no available firmware updates:
• KEK CA
• Laptop Webcam Module (2nd Gen)
• Option ROM UEFI CA
• WD BLACK SN770M 2TB
• WD BLACK SN850X 8000GB
• Windows UEFI CA
• frame.work-LaptopDB
• frame.work-LaptopKEK
Devices with the latest available firmware version:
• Fingerprint Sensor
• Laptop 16 Keyboard Module - ISO
• Laptop 16 Numpad Module
• System Firmware
• UEFI CA
• UEFI dbx
No updates available

Which Framework Laptop 16 model are you using? Ryzen™ AI 9 HX 370 - GeForce RTX 5070

These are the nvidia packages on my system (both amd64 and i386, I’m a gamer)

sudo apt list --installed |grep nvidia

WARNING: apt does not have a stable CLI interface. Use with caution in scripts.

firmware-nvidia-graphics/unstable,unstable,testing,testing,unstable,unstable,now 20251111-1 all [installed]
firmware-nvidia-gsp/unknown,now 590.48.01-1 amd64 [installed,automatic]
libegl-nvidia0/unknown,now 590.48.01-1 amd64 [installed,automatic]
libegl-nvidia0/unknown,now 590.48.01-1 i386 [installed,automatic]
libgles-nvidia1/unknown,now 590.48.01-1 amd64 [installed,automatic]
libgles-nvidia1/unknown,now 590.48.01-1 i386 [installed,automatic]
libgles-nvidia2/unknown,now 590.48.01-1 amd64 [installed,automatic]
libgles-nvidia2/unknown,now 590.48.01-1 i386 [installed,automatic]
libglx-nvidia0/unknown,now 590.48.01-1 amd64 [installed,automatic]
libglx-nvidia0/unknown,now 590.48.01-1 i386 [installed,automatic]
libnvidia-allocator1/unknown,now 590.48.01-1 amd64 [installed,automatic]
libnvidia-allocator1/unknown,now 590.48.01-1 i386 [installed,automatic]
libnvidia-api1/unknown,now 590.48.01-1 amd64 [installed,automatic]
libnvidia-cfg1/unknown,now 590.48.01-1 amd64 [installed,automatic]
libnvidia-egl-gbm1/unknown,now 1.1.2.1-2 amd64 [installed,automatic]
libnvidia-egl-gbm1/unknown,now 1.1.2.1-2 i386 [installed,automatic]
libnvidia-egl-wayland1/unknown,now 1:1.1.21-1 amd64 [installed,automatic]
libnvidia-egl-wayland1/unknown,now 1:1.1.21-1 i386 [installed,automatic]
libnvidia-egl-xcb1/unknown,now 1:1.0.4-1 amd64 [installed,automatic]
libnvidia-egl-xcb1/unknown,now 1:1.0.4-1 i386 [installed,automatic]
libnvidia-egl-xlib1/unknown,now 1:1.0.4-1 amd64 [installed,automatic]
libnvidia-egl-xlib1/unknown,now 1:1.0.4-1 i386 [installed,automatic]
libnvidia-eglcore/unknown,now 590.48.01-1 amd64 [installed,automatic]
libnvidia-eglcore/unknown,now 590.48.01-1 i386 [installed,automatic]
libnvidia-encode1/unknown,now 590.48.01-1 amd64 [installed,automatic]
libnvidia-encode1/unknown,now 590.48.01-1 i386 [installed]
libnvidia-fbc1/unknown,now 590.48.01-1 amd64 [installed,automatic]
libnvidia-glcore/unknown,now 590.48.01-1 amd64 [installed,automatic]
libnvidia-glcore/unknown,now 590.48.01-1 i386 [installed,automatic]
libnvidia-glvkspirv/unknown,now 590.48.01-1 amd64 [installed,automatic]
libnvidia-glvkspirv/unknown,now 590.48.01-1 i386 [installed,automatic]
libnvidia-gpucomp/unknown,now 590.48.01-1 amd64 [installed,automatic]
libnvidia-gpucomp/unknown,now 590.48.01-1 i386 [installed,automatic]
libnvidia-ml1/unknown,now 590.48.01-1 amd64 [installed,automatic]
libnvidia-ml1/unknown,now 590.48.01-1 i386 [installed,automatic]
libnvidia-ngx1/unknown,now 590.48.01-1 amd64 [installed,automatic]
libnvidia-nvvm4/unknown,now 590.48.01-1 amd64 [installed,automatic]
libnvidia-nvvm704/unknown,now 590.48.01-1 amd64 [installed,automatic]
libnvidia-opticalflow1/unknown,now 590.48.01-1 amd64 [installed,automatic]
libnvidia-pkcs11-openssl3/unknown,now 590.48.01-1 amd64 [installed,automatic]
libnvidia-present/unknown,now 590.48.01-1 amd64 [installed,automatic]
libnvidia-ptxjitcompiler1/unknown,now 590.48.01-1 amd64 [installed,automatic]
libnvidia-ptxjitcompiler1/unknown,now 590.48.01-1 i386 [installed,automatic]
libnvidia-rtcore/unknown,now 590.48.01-1 amd64 [installed,automatic]
libnvidia-sandboxutils/unknown,now 590.48.01-1 amd64 [installed,automatic]
libnvidia-tileiras/unknown,now 590.48.01-1 amd64 [installed,automatic]
libnvidia-vksc-core/unknown,now 590.48.01-1 amd64 [installed,automatic]
nvidia-driver-cuda/unknown,now 590.48.01-1 amd64 [installed,automatic]
nvidia-driver-libs/unknown,now 590.48.01-1 amd64 [installed,automatic]
nvidia-driver-libs/unknown,now 590.48.01-1 i386 [installed]
nvidia-driver/unknown,now 590.48.01-1 amd64 [installed]
nvidia-egl-icd/unknown,now 590.48.01-1 i386 [installed,automatic]
nvidia-kernel-open-dkms/unknown,now 590.48.01-1 amd64 [installed]
nvidia-kernel-support/unknown,now 590.48.01-1 amd64 [installed,automatic]
nvidia-modprobe/unknown,now 590.48.01-1 amd64 [installed,automatic]
nvidia-opencl-icd/unknown,now 590.48.01-1 amd64 [installed,automatic]
nvidia-persistenced/unknown,now 590.48.01-1 amd64 [installed,automatic]
nvidia-settings/unknown,now 590.48.01-1 amd64 [installed]
nvidia-vdpau-driver/unknown,now 590.48.01-1 amd64 [installed,automatic]
nvidia-vulkan-icd/unknown,now 590.48.01-1 amd64 [installed,automatic]
nvidia-vulkan-icd/unknown,now 590.48.01-1 i386 [installed,automatic]
xserver-xorg-video-nvidia/unknown,now 590.48.01-1 amd64 [installed]

Nvidia drivers seem to be installed and loaded properly:

$ sudo lsmod |grep nvidia
nvidia_uvm 2248704 0
nvidia_drm 151552 9
nvidia_modeset 2097152 8 nvidia_drm
nvidia 16310272 133 nvidia_uvm,nvidia_modeset
nvidia_wmi_ec_backlight 12288 0
drm_ttm_helper 16384 3 amdgpu,nvidia_drm
drm_client_lib 12288 2 amdgpu,nvidia_drm
drm_kms_helper 258048 5 drm_display_helper,amdgpu,drm_ttm_helper,nvidia_drm,drm_client_lib
drm 843776 26 gpu_sched,i2c_hid,drm_panel_backlight_quirks,drm_kms_helper,drm_exec,drm_suballoc_helper,drm_display_helper,nvidia,drm_buddy,amdgpu,drm_ttm_helper,nvidia_drm,drm_client_lib,ttm,amdxcp
video 81920 3 nvidia_wmi_ec_backlight,amdgpu,nvidia_modeset
wmi 28672 3 video,nvidia_wmi_ec_backlight,wmi_bmof

$ sudo dkms status
nvidia/590.48.01, 6.17.13+deb14-amd64, x86_64: installed

I’m using Cinnamon and I can’t get OpenGL applications to use the nvidia drivers. Vulkan works fine though. Any help would be appreciated.

Cinnamon uses Xorg, as it hangs when I start the Wayland version.

For instance, when I launch a game through Dolphin, it’s using the mesa driver. When I launch Dolphin on the Discrete Graphics Adapter, I get a message “failed to launch the video backend”.

Is there any place I should look for more information?

Update, adding the output of glxinfo

$ glxinfo -B
name of display: :0
pci id for fd 4: 10de:2d58, driver (null)
pci id for fd 5: 10de:2d58, driver (null)
pci id for fd 6: 10de:2d58, driver (null)
glx: failed to create dri3 screen
failed to load driver: nvidia-drm
display: :0 screen: 0
direct rendering: Yes
Extended renderer info (GLX_MESA_query_renderer):
Vendor: Mesa (0xffffffff)
Device: llvmpipe (LLVM 21.1.8, 256 bits) (0xffffffff)
Version: 25.3.2
Accelerated: no
Video memory: 95841MB
Unified memory: yes
Preferred profile: core (0x1)
Max core profile version: 4.5
Max compat profile version: 4.5
Max GLES1 profile version: 1.1
Max GLES[23] profile version: 3.2
Memory info (GL_ATI_meminfo):
VBO free memory - total: 0 MB, largest block: 0 MB
VBO free aux. memory - total: 86655 MB, largest block: 86655 MB
Texture free memory - total: 0 MB, largest block: 0 MB
Texture free aux. memory - total: 86655 MB, largest block: 86655 MB
Renderbuffer free memory - total: 0 MB, largest block: 0 MB
Renderbuffer free aux. memory - total: 86655 MB, largest block: 86655 MB
Memory info (GL_NVX_gpu_memory_info):
Dedicated video memory: 0 MB
Total available memory: 95841 MB
Currently available dedicated video memory: 0 MB
OpenGL vendor string: Mesa
OpenGL renderer string: llvmpipe (LLVM 21.1.8, 256 bits)
OpenGL core profile version string: 4.5 (Core Profile) Mesa 25.3.2-2
OpenGL core profile shading language version string: 4.50
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 4.5 (Compatibility Profile) Mesa 25.3.2-2
OpenGL shading language version string: 4.50
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile

OpenGL ES profile version string: OpenGL ES 3.2 Mesa 25.3.2-2
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20

And now with the offload_renderer option:

$ __NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia glxinfo -B
name of display: :0
X Error of failed request: BadWindow (invalid Window parameter)
Major opcode of failed request: 156 (NV-GLX)
Minor opcode of failed request: 4 ()
Resource id in failed request: 0x3200003
Serial number of failed request: 41
Current serial number in output stream: 41

After much searching, I found the root cause of the issue: a symbolic link is missing from the debian 590 driver package, the fix is described here 565 release feedback & discussion - #126 by dwm - Linux - NVIDIA Developer Forums

I can now run hardware-accelerated OpenGL applications on Xorg as well as Wayland! I would love to update the title of my post (as well as the initial message) to mark this as resolved, but apparently I can’t edit it anymore!

$ glxinfo -B
name of display: :0
display: :0 screen: 0
direct rendering: Yes
Memory info (GL_NVX_gpu_memory_info):
Dedicated video memory: 8151 MB
Total available memory: 8151 MB
Currently available dedicated video memory: 6952 MB
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: NVIDIA GeForce RTX 5070 Laptop GPU/PCIe/SSE2
OpenGL core profile version string: 4.6.0 NVIDIA 590.48.01
OpenGL core profile shading language version string: 4.60 NVIDIA
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile

OpenGL version string: 4.6.0 NVIDIA 590.48.01
OpenGL shading language version string: 4.60 NVIDIA
OpenGL context flags: (none)
OpenGL profile mask: (none)

OpenGL ES profile version string: OpenGL ES 3.2 NVIDIA 590.48.01
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20