DXVK-NVAPI is an alternative NVAPI (NVIDIA API) implementation used with DXVK and VKD3D-Proton for running Windows games on Linux and Steam Deck through Proton.
The latest release went out on September 9th with version 0.6.4. Here's the full changelog:
- Update NVAPI headers to R535.
- Update NVML headers to R535.
- Implement HDR support by forwarding the relevant calls into DXVK. This needs DXVK version DXVK 2.3 or newer. Note that the same requirements for HDR on DXVK apply to DXVK-NVAPI. Thus HDR is currently not possible on Linux with an NVIDIA GPU, but requires a.o. an AMD GPU, kernel patches, Gamescope and DXVK-NVAPI configured to initialize for other drivers.
- Initialize NVAPI when
DXVK_ENABLE_NVAPI=1
is set, regardless of the reported PCI vendor ID. This still needsDXVK_NVAPI_ALLOW_OTHER_DRIVERS=1
when not running on the NVIDIA proprietary driver.- Restore logging output on the console which was lost in certain circumstances.
- Closer match Windows behavior when reporting CUDA capabilities, this fixes a crash in Call of Duty: Ghosts.
It's worth noting and clarifying here for those confused: the HDR support noted is only for legacy NVAPI, as mentioned by developer Joshua-Ashton (who works on DXVK and VKD3D-Proton) on X:
FWIW this is only for games that use the legacy NVAPI for HDR, I implemented the same for the AMDAGS path. Eg. Sekiro, Elden Ring, Armoured Core use this. Modern games should really use the DXGI path which I implemented earlier this year.
Some you may have missed, popular articles from the last month:
4 comments
Good news for HDR support, very confusing, given the 'NVAPI' naming yet requiring an AMD GPU I'm hoping that HDR is widespread on Linux by this time next year.
2 Likes, Who?
Quoting: StalePopcornGood news for HDR support, very confusing, given the 'NVAPI' naming yet requiring an AMD GPU I'm hoping that HDR is widespread on Linux by this time next year.
Just to be clear, this project is Nvidia only. But you're right that its release notes point out that HDR is currently AMD only. Welcome to the clear-as-mud world of Linux graphics stacks!
2 Likes, Who?
QuoteIt's worth noting and clarifying here for those confused: the HDR support noted is only for legacy NVAPI, as mentioned by developer Joshua-Ashton (who works on DXVK and VKD3D-Proton) on X:Thanks a lot for doing research and providing context about how to position the HDR note. Much better than just blindly rewording the release notes! ;)
2 Likes, Who?
Quoting: scaineQuoting: StalePopcornGood news for HDR support, very confusing, given the 'NVAPI' naming yet requiring an AMD GPU I'm hoping that HDR is widespread on Linux by this time next year.
Just to be clear, this project is Nvidia only. But you're right that its release notes point out that HDR is currently AMD only. Welcome to the clear-as-mud world of Linux graphics stacks!
Well, yeah, things are indeed a bit muddier if you drill down.
On Windows NVAPI is obviously NVIDIA only and initialization will always fail with a non-NVIDIA GPU. DXVK-NVAPI on the other hand has no hard dependency on the NVIDIA driver, but just runs on top of DXVK. If you run an AMD GPU and configure DXVK to spoof an NVIDIA GPU and also configure DXVK-NVAPI to initialize with other driver (than the NVIDIA proprietary one), DXVK-NVAPI will happily initialize.
The benefits though are actually minor since the main feature, DLSS, will still not work. Game (DLSS SDK) pre-checks for GPU architecture (Turing, Ampere etc) will fail with an AMD GPU, and even if you would overcome those pre-checks by modifying the source code, things will still fail later in DXVK or VKD3D-Proton since a certain NVIDIA only Vulkan extension is not available in the AMD Vulkan driver.
Some smaller features however do work, like Latency Flex (not so easy to set up) or now HDR for those games that choose the legacy NVAPI/AGS route (even more difficult to set up).
Ironically HDR is indeed currently not possible when running an NVIDIA GPU, but when that hopefully works at some point in the future, the DXVK/DXVK-NVAPI side is ready.
Last edited by jens on 11 September 2023 at 6:08 pm UTC
4 Likes, Who?
See more from me