github countervolts/d4r v0.1.2
d4r 0.1.2

latest releases: v0.1.5a, v0.1.5, v0.1.4...
one month ago

d4r 0.1.2

NVIDIA's own DLSS Super Resolution on AMD Radeon GPUs, in DirectX 12 games under Proton. This release adds experimental RDNA4 (RX 9000 series) builds and native kernels for every RDNA3 chip. It also makes DLSS a little faster and covers more game settings with the fast kernels.

RDNA4 is untested on real hardware. The RDNA4 kernels have been checked with an emulator and a compiler only. If you have an RX 9070 / 9070 XT / 9060 XT or a Radeon AI PRO R9700, please try it and open an issue with your results, good or bad. If bad please attach the d4r_nvngx.log located in the d4r folder and describe the issue and if possible attach screenshots.

What's new

  • RDNA4 support (experimental). The zip now includes native DLSS 4 (K) and DLSS 4.5 (M) network kernels for gfx1201 (RX 9070 XT, 9070, 9070 GRE, Radeon AI PRO R9700) and gfx1200 (RX 9060 XT, 9060).

    • On RDNA4, DLSS's FP8 math runs on the GPU's native FP8 matrix units. NativeFp8 in d4r/d4r.ini (default on) controls this; off uses 16-bit math, as on RDNA3.
    • Testing so far: gfx1201 was checked in an emulator and gfx1200 compile-only. Speed, image quality and driver stability on RDNA4 are unknown.
  • Native kernels for all RDNA3 chips. Kernels are now built for gfx1100 (RX 7900 series, PRO W7800/W7900), gfx1101, gfx1102 (RX 7600 series) and gfx1103. In 0.1.1, only gfx1101 had them. On the other chips, DLSS 4 (K) lost its transformer and DLSS 4.5 (M) ran at about half speed. Only the RX 7700 XT has been tested.

  • Integrated GPUs no longer confuse kernel selection. On systems with both an iGPU and a Radeon card, d4r now picks the GPU with the most compute units. Set D4R_GPU_ARCH to override the choice.

  • Faster DLSS on RDNA3. Measured back to back with 0.1.1 at Quality in SILENT HILL Townfall (RX 7700 XT, 1440p):

    Model 0.1.1 0.1.2
    DLSS 3 CNN (E) 71.2 fps 71.9 fps
    DLSS 4 (K) 67.9 fps 68.1 fps
    DLSS 4.5 (M) 48.4 fps 49.3 fps

    The changes behind this:

    • DLSS 3's convolutions now run on the matrix units.
    • M prepares its weights once per weight set instead of on every frame.
    • M writes its result directly into the game's output.
    • Some texture kernels now run with 64 threads per wave.
  • More games get the fast kernels. DLSS picks kernel variants by the game's settings: motion-vector resolution, HDR or LDR, and depth direction. Native versions now exist for every variant, not only the ones Townfall uses. Games with other settings run faster than in 0.1.1.

Install

  1. Extract d4r-0.1.2.zip into the folder that holds the game's main .exe. For Unreal Engine games that is <Project>/Binaries/Win64. Keep the zip's layout: dxgi.dll, OptiScaler.ini, d3d12.dll and d3d12core.dll go next to the .exe, beside the d4r folder.
  2. In Steam, force GE-Proton 11 for the game and set these launch options:
    PROTON_FORCE_NVAPI=1 DXVK_NVAPI_GPU_ARCH=AD100 %command%
    
  3. Select DLSS in the game. The first start compiles DLSS's GPU kernels, which takes about a minute and a half. Later starts use the cache in ~/.cache/d4r.

Upgrading from 0.1.0 or 0.1.1: extract over the old files, then restore your d4r/d4r.ini if you changed it. The new NativeFp8 setting has no effect outside RDNA4. sh d4r/d4r-check.sh checks an install.

Requirements

  • An AMD RDNA3 (RX 7000) or RDNA4 (RX 9000) GPU. Only the RX 7700 XT has been tested on real hardware.
  • The amdgpu kernel driver (/dev/kfd). ROCm is bundled.
  • GE-Proton 11 (tested: GE-Proton11-3).

For builders

  • The ZLUDA patch series is now 0002–0007:
    • 0006 adds f16 m16n8k8 WMMA, weight-image slots for native prep kernels, and wave64 builds;
    • 0007 adds gfx12 WMMA, native FP8, and an architecture argument for d4r_emit.
  • Texture kernels are compiled offline for each target with d4r_emit (D4R_ZLUDA_EMIT), so no GPU of that target is needed. gfx12 targets also get an -fp8 variant (D4R_NATIVE_FP8=1). See docs/building.md.

Don't miss a new d4r release

NewReleases is sending notifications on new releases.