TigerVNC recently released a new version that gives you OpenGL and Vulkan acceleration out-of-box for headless sessions. This is very appealing for deployments where users can share a powerful system.
This works very nicely for AMD and Intel GPUs, but unfortunately not with Nvidia cards.
The key components that TigerVNC has added for this are DRI3 and GBM, which is what the open-source drivers use. But I guess Nvidia is not using that? At least not completely?
There has been a lot of information about better GBM support in Nvidia, but I guess something is still missing?
On Fedora 40 with the 555.58.02 driver, things superficially look like they work, but performance is poor. I guess the driver is using a CPU fallback?
On RHEL 9 with the 560.28.03 driver, Vulkan still seems to be using the CPU, and OpenGL crashes:
Polygons in scene: 62464 (61 spheres * 1024 polys/spheres)
GLX FB config ID of window: 0xee (8/8/8/0)
Visual ID of window: 0x31d
Context is Direct
OpenGL Renderer: NVIDIA GeForce RTX 4060/PCIe/SSE2
Program received signal SIGSEGV, Segmentation fault.
0x00007ffff5ec3c29 in ?? () from /lib64/libnvidia-glcore.so.560.28.03
(gdb) bt
#0 0x00007ffff5ec3c29 in ?? () from /lib64/libnvidia-glcore.so.560.28.03
#1 0x00007ffff5ed8433 in ?? () from /lib64/libnvidia-glcore.so.560.28.03
#2 0x00007ffff5eda656 in ?? () from /lib64/libnvidia-glcore.so.560.28.03
#3 0x00007ffff5edab9d in ?? () from /lib64/libnvidia-glcore.so.560.28.03
#4 0x00007ffff5ef5bd0 in ?? () from /lib64/libnvidia-glcore.so.560.28.03
#5 0x00007ffff5df3c7e in ?? () from /lib64/libnvidia-glcore.so.560.28.03
#6 0x00007ffff5ec7bfe in ?? () from /lib64/libnvidia-glcore.so.560.28.03
#7 0x00007ffff5ebc1ff in ?? () from /lib64/libnvidia-glcore.so.560.28.03
#8 0x00007ffff7579d2e in ?? () from /lib64/libGLX_nvidia.so.0
#9 0x00007ffff7548450 in ?? () from /lib64/libGLX_nvidia.so.0
#10 0x0000555555559a1a in display ()
#11 0x00005555555586f3 in main ()
nvidia-bug-report.fedora40.log.gz (722.0 KB)
nvidia-bug-report.rhel9.log.gz (361.5 KB)