Your response prompted me to check my program shortcuts (which I manually adjusted years ago and forgot about it). During my initial post I forgot to include the most important bit why some applications (mostly games) did not run; that is if sandboxing programs they will not detect gpu card and drivers. And games are the programs I sandbox the most. E.g. simple and quick āfirejail --noprofile --dns=0.0.0.0ā.
Now, in regards to wine, you are correct, however some games are opengl like my old vice city,
which if ran sandboxed will result in
DNS server 0.0.0.0
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 152 (GLX)
Minor opcode of failed request: 3 (X_GLXCreateContext)
Value in failed request: 0x0
Serial number of failed request: 398
Current serial number in output stream: 399
Parent is shutting down, bye...
If ran without sandboxing, then it will work as it should, without any problems. I just remembered today that i sandboxed bunch of them.
Though, I still trust this is due to missing symlinks in /etc/alternatives (which get created after dkms does setups for kernels and then triggers update-alternatives), since that was the way 535 driver worked. Yet something could have changed, so i guess it is now up to Debian devs to tweak it, since as scaronni writes some packages are no longer required (as is the case with nvidia-alternatives). And now since 580 i am able to select nvidia as glx provider, this time using āupdate-glx --config glxā.
Let me show what happens if I run a bit more modern game, when sandboxed that is:
nfs rivals
info: Game: NFS14.exe
info: DXVK: v2.7
info: Build: x86_64 gcc 15.1.0
info: Vulkan: Found vkGetInstanceProcAddr in winevulkan.dll @ 0x6ffffd13e370
info: Extension providers:
info: Platform WSI
info: OpenVR
info: OpenVR: could not open registry key, status 2
info: OpenVR: Failed to locate module
info: OpenXR
info: Enabled instance extensions:
info: VK_EXT_surface_maintenance1
info: VK_KHR_get_surface_capabilities2
info: VK_KHR_surface
info: VK_KHR_win32_surface
info: Found device: llvmpipe (LLVM 15.0.6, 256 bits) (llvmpipe 0.0.1)
warn: D3D11DeviceFeatures: External memory features not supported
info: D3D11InternalCreateDevice: Maximum supported feature level: D3D_FEATURE_LEVEL_11_1
info: D3D11InternalCreateDevice: Using feature level D3D_FEATURE_LEVEL_11_1
info: Creating device:
info: llvmpipe (LLVM 15.0.6, 256 bits):
info: Driver : llvmpipe 0.0.1
info: Queues:
info: Graphics : (0, 0)
info: Transfer : (0, 0)
info: Sparse : (0, 0)
info: Memory:
info: Heap 0: 62.70 GiB (DEVICE_LOCAL)
info: Budget: 62.70 GiB
info: Type 0: DEVICE_LOCAL | HOST_VISIBLE | HOST_COHERENT | HOST_CACHED
info: Enabled extensions:
info: VK_EXT_attachment_feedback_loop_layout
info: VK_EXT_custom_border_color
info: VK_EXT_depth_clip_enable
info: VK_EXT_descriptor_buffer
and so on ...
Debian will not show it that gpu exists nor drivers for it.
One more example, obs studio now, when ran via simple āfirejail --noprofile --dns=0.0.0.0ā will not be able to see the cards
DNS server 0.0.0.0
info: Using EGL/X11
info: Distribution: "Debian GNU/Linux" "12"
info: Session Type: x11
info: Window System: X11.0, Vendor: The X.Org Foundation, Version: 1.21.1
info: Qt Version: 5.15.8 (runtime), 5.15.8 (compiled)
info: Portable mode: false
info: OBS 29.0.2.1-1+b1 (linux)
info: audio settings reset:
samples per sec: 48000
speakers: 2
max buffering: 960 milliseconds
buffering type: dynamically increasing
info: Initializing OpenGL...
error: Failed to initialize EGL: EGL_BAD_ACCESS
error: Failed to create context!
error: device_create (GL) failed
error: Failed to initialize video. Your GPU may not be supported, or your graphics drivers may need to be updated.
info: Freeing OBS context data
And if ran as default āobsā without simple sandboxing then it will detect cards, launch properly and have NVENC available.
New stable drivers are out, will have to test them today and see how everything goes with them.