This is pretty big and exciting, the open source NVK driver for NVIDIA GPUs is on a path towards getting NVIDIA DLSS support. Announced on their Bluesky profile by one of Valve's Linux developers, Autumn Ashton, who has previously done a fair amount of work on the likes of DXVK and VKD3D-Proton (and created D9VK).
Ashton mentioned how it took 3 days but they got DLSS to work on NVK noting:
After about 3 days of work, I got DLSS to work on NVK (the open source NVIDIA driver in Mesa)!
DLSS is essentially just some launched Cuda kernels, so it was just a matter of implementing the VK_NVX_binary_import and VK_NVX_image_view_handle extensions.
With an image noted to be "(Control, 960x540 -> 1920x1080)":
Further in the Bluesky thread Ashton noted:
These extensions are used by DXVK and VKD3D-Proton via. DXVK-NVAPI to implement DLSS. Although, that alone was not an easy feat because the surface area of Cuda is pretty huge and parsing the cubins is difficult as there's these weirdly packed attributes spread across-multiple sections an ELF where some of the metadata is ordinal-based and some of it is name-based and oh, the ELF is also inside another container of ELFs (elves?).
But once you parse all that out, it's actually not *that* bad.
The surface area is mostly in the parsing of the cubins, the actual dispatch code is tiny! ATM, it only supports DLSS versions that have code compiled for the GPU you are using. If you try and run old DLSS on a new GPU, that won't work currently. PTX->NIR is much harder.
Pretty great to see the NVK driver continue to make big improvements. One day perhaps the open source driver might end up being the best way for NVIDIA GPU owners on Linux.
Nvidia exclusive features are a big reason why people buy those GPUs and DLSS in particular has been a huge advantage over AMD until FSR4(and even then DLSS still has the edge).
It's obviously still far off but the fact you can use those features on open source drivers without explicit support from Nvidia is fantastic. In the future we might have drivers in the kernel like the AMD ones with most RTX features and we won't need to wait for Nvidia to address issues (like the DX12 performance regressions).
This is huge for Nvidia usage on Linux and one of the major things SteamOS needs for an official public release.
I tried nouveau with my 3080Ti, and got around 10fps in DRG (and yes, I checked that it was actually in use). Switched back to nvidia-open (yes, I know, "open"…), got back to 120fps (limited in-game to that).
I'm sure some people will enjoy the availability of DLSS, and it sounds like a fun thing to do from a technical perspective, but unless I'm missing something *huge*, having decent baseline performances sounds more important than that for large scale usage.