Skip to content

Releases: jp7677/dxvk-nvapi

Version 0.7

15 Mar 17:53
7ba055b
Compare
Choose a tag to compare
  • Update NVAPI headers to R550.
  • Update NVML headers to R550.
  • Update Vulkan headers to 1.3.275.
  • Add support for NVIDIA Reflex for D3D12 using VKD3D-Proton entry points. This requires VKD3D-Proton 2.12 or newer and NVIDIA driver 550 or newer. The LatencyFlex implementation for NVIDIA Reflex is still supported and has preference when being detected. Support for NVIDIA Reflex for D3D11 using DXVK entry points is still work-in-progress (doitsujin/dxvk#3690).
  • Initialize successfully and report GPU architecture/capabilities when using Mesa NVK instead of the NVIDIA proprietary driver. Ampere is still reported as Turing though, this hopefully changes in the future. Note that features like DLSS depend on the NVIDIA proprietary driver and do not function on NVK.
  • Report 999.99 as version for non-NVIDIA proprietary drivers unless the driver version is overridden by environment variable. Reporting Mesa version numbers turned out to be not very useful.
  • Add a basic implementation of NvAPI_GPU_GetGPUInfo, this allows Raytracing to be enabled in Hitman III (HansKristian-Work/vkd3d-proton#1148).
  • Spoof Pascal architecture for non-NIVIA GPUs, this allows Latencyflex on non-NVIDIA GPUs for a few titles.
  • Support building with MSVC.
  • Improve test suite.

Version 0.6.4

09 Sep 06:42
6c5ed18
Compare
Choose a tag to compare
  • 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 needs DXVK_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.

Version 0.6.3

02 May 13:29
Compare
Choose a tag to compare
  • Update NVAPI headers to R530.
  • Update NVML headers to R530.
  • Implement a few OpacityMicromap-related methods with declaring minimum RTX capabilities. This prevents Cyberpunk 1.62. from crashing or hanging when ray tracing is enabled.
  • Add work around for The Last of Us Part 1 by letting several GPU queries return success, even when no real data is available. This allows this title to start when NVAPI is available.
  • Add another entry point for querying SLI capabilities, this allows Hellblade: Senua's Sacrifice VR Edition to start when NVAPI is available.
  • Skip an NVIDIA adapter when DXVK reports a different vendor. In other words, NVAPI initialization will fail when the DXVK NVAPI hack is still enabled. This is only relevant for manual Wine setups where DXVK-NVAPI is available in the Wine prefix, but DXVK is still configured to spoof an AMD GPU.

Version 0.6.2

03 Mar 15:22
80397ea
Compare
Choose a tag to compare
  • Add endpoints for creating D3D11 device and swapchain. This allows Call of Duty Plutonium launcher to start when NVAPI is available.
  • Report VRAM size directly from DXVK. This ensures that DXVK-NVAPI honors manual DXVK memory size overrides.
  • Fix a writing-out-of-bounds error when returning the adapter LUID that could potentially lead to crashes. No such case has been observed or reported though.

Version 0.6.1

25 Jan 18:37
baa6e4d
Compare
Choose a tag to compare
  • Improve handling of display IDs to closer mimic NVIDIA's NVAPI. This is effectively just a cosmetic improvement.
  • Acquire Vulkan entry point from DXVK instead of loading Vulkan directly. This ensures that DXVK-NVAPI always uses the same Vulkan library as DXVK and prevents crashes when loaded libraries were different. This requires DXVK 2.1.

DXVK-NVAPI 0.6.1 must be used with DXVK 2.1 from now on, older DXVK versions will not work.

Version 0.6

29 Nov 17:01
5fe4a73
Compare
Choose a tag to compare
  • Update NVAPI headers to R525.
  • Update NVML headers to R525.
  • Report Ada architecture for NVIDIA 4000 series.
  • Spoof Ampere instead of Ada or later for certain DLSS versions to prevent failing DLSS initialization.
  • Spoof Pascal instead of Turing or later when detecting Monster Hunter World to prevent startup crashes.
  • Add several new entry points for querying GPU attributes using NVML (GPU core count, PCIe link width, IRQ). Most of those require wine-nvml v0.2.
  • Re-implement several entry points for querying GPU system information using newer NVML methods (thermal states, dynamic performance states, BUS type). Those newer NVML methods better match their NVAPI counterparts and result in a more complete implementation of those entry points. This requires wine-nvml v0.2.
  • Fix build error when building with GCC 12.
  • Add internal optimizations (smaller compile units, code formatting with clang-format).
  • Bump required meson version to 0.58.

Version 0.5.4

08 Apr 07:43
Compare
Choose a tag to compare
  • Fix a writing-out-of-bounds error that could lead to crashes when adapter/display names or git describe reference during build time exceeds 64 characters.

Version 0.5.3

06 Mar 16:56
Compare
Choose a tag to compare
  • Add entry points needed for NVIDIA Reflex by forwarding the relevant calls into LatencyFlex. LatencyFlex is now an optional runtime dependency, thus Reflex is available when LatencyFlex is properly set up. The recommended version is LatencyFlex 0.1.0. See also this note about Reflex and Usage about setup and titles known to work.
  • Fix a crash when querying NVIDIA PhysX capabilities in certain conditions. This affected e.g. the NVIDIA Supersonic Sled Demo.
  • Stub some methods for NVIDIA driver settings. This should make no difference in practice, but slightly improves logging statements.

Version 0.5.2

28 Jan 20:00
Compare
Choose a tag to compare
  • Update NVAPI headers to R510.
  • Add entry points needed for querying NVIDIA PhysX capability. PhysX requires nvcuda.dll from Wine-Staging and a recent PhysX runtime. See also this note about PhysX
  • Add several methods for GPU system information. Those additional methods help to correctly correlate CUDA devices to NVAPI adapter.
  • Return fixed “DXVK-NVAPI” string when querying NVAPI interface version. This helps to identify DXVK-NVAPI.

Version 0.5.1

19 Dec 20:31
Compare
Choose a tag to compare
  • Only report NVIDIA GPUs running by NVIDIA's proprietary driver. The old behavior where all GPUs are reported, is now guarded behind the DXVK_NVAPI_ALLOW_OTHER_DRIVERS environment variable.
  • Report SM (Streaming Multiprocessor) version based on GPU architecture when querying D3D12 capabilities.
  • Report external device ID when querying PCI device identifiers.