6.2 KiB
d4r 0.1.3
This release adds an optional accuracy mode and fixes the GLIBC compatibility failure, DLSS artifacts, and stale output-buffer redirects reported after 0.1.2. Accuracy mode is off by default.
Added
- Prefer accuracy over performance. Set
[Kernels] PreferAccuracy = trueind4r/d4r.iniand restart the game. The release includes separate accuracy variants of every native network and texture kernel for all supported RDNA3 and RDNA4 targets, including RDNA4's native FP8 variants.- K restores FP16 accumulator rounding after each matrix step. M also restores intermediate FP8 quantization.
- The accuracy path retains denormal handling, disables relaxed accumulation/fast-math switches, and keeps NGX's synchronization calls. It uses a separate compilation cache.
- Missing accuracy variants use translated NVIDIA kernels and are logged; the fast native set is never silently substituted.
- This aims to preserve NVIDIA's arithmetic. It is slower, its FPS cost has not been benchmarked, and 1:1 image quality against RTX DLSS is not proven.
- Reproducible GLIBC 2.41 build environment. A pinned Debian build image and release-build script rebuild ZLUDA/LLVM, the Wine bridge, the Windows DLLs, and both kernel sets. The ZIP includes toolchain details in
d4r/source/BUILD_INFO.txt.
Fixed
- GLIBC loader compatibility (#6). The previous release required
GLIBC_2.44fromlibm.so.6, preventing ZLUDA from loading on systems such as the reporter's Bazzite installation. This release is built in a GLIBC 2.41 environment; the package check rejects any bundled Linux library requiring a newer ABI. - Cyberpunk 2077 preset-K black artifacts (#5). Preserve FP16/FP64 denormal requirements while limiting the performance optimization to FP32. The fix covers both translated kernels and the rebuilt native texture kernels. Captured-scene replays showed substantially fewer sky artifacts; this is not a guarantee that every scene is artifact-free.
- Stale direct-output redirects after resource destruction (#8). Reused CUDA array handles no longer inherit an earlier feature's output buffer. This addresses the quality-switch corruption reported with preset M in Spider-Man 2.
Improved
- Synchronization diagnostics and an optional blocking output wait.
D4R_SHIM_BLOCKING_SYNC=1yields the CPU while waiting for DLSS output, with a fallback to context synchronization. It is an opt-in mitigation for #7; reduced CPU usage on the reporter's RDNA4 setup still needs confirmation. - More useful failure logs. Rejected input/output formats and dimensions are now recorded even after startup, with repeated errors rate-limited. Output-wait CPU and wall time are reported separately, and GPU timing queries are deferred until asynchronous work finishes.
- More conservative accuracy texture builds. Strict surface conversions use separate helper functions, avoiding a compiler failure when the original denormal handling is retained.
- Accuracy build safeguards. The builder refuses to label a directory containing older fast binaries as an accuracy set. Configuration tests cover every release target, missing-set fallback, invalid markers, environment precedence, and the default-off behavior.
Also included from 0.1.2
These capabilities remain in the release; they are not newly validated hardware results:
- Experimental RDNA4 builds for gfx1200/gfx1201, with
NativeFp8enabled by default, alongside gfx1100–gfx1103 RDNA3 builds. - Kernel selection uses the GPU with the most SIMDs when integrated and discrete GPUs coexist;
D4R_GPU_ARCHoverrides it. - DLSS 3 matrix-kernel acceleration; M's cached weight preparation, packed FP8 encoding, improved patch-merge/weight loads, and direct output; K's CU-mode layers; wave64 performance texture variants.
- Native texture/output variants for the game's motion-vector resolution, HDR/LDR input and depth direction, compiled offline per GPU target.
- The bundled ROCm 7.2.4 runtime: no separate ROCm installation is required.
The 0.1.2 performance measurements remain historical results. They are not benchmarks of this rebuild or the new accuracy mode.
Install or upgrade
- Back up your
d4r/d4r.iniandOptiScaler.iniif you customized them. - Extract
d4r-0.1.3.zipinto the folder holding the game's main.exe(<Project>/Binaries/Win64for Unreal Engine games), keeping the ZIP's layout. - Restore your settings if needed. Older INIs omit
PreferAccuracy, which defaults to off; add it under[Kernels]to enable it. - Select GE-Proton 11 in Steam (tested integration: GE-Proton11-3), with:
PROTON_FORCE_NVAPI=1 DXVK_NVAPI_GPU_ARCH=AD100 %command% - Select DLSS in the game and restart after changing the accuracy option.
The rebuilt runtime may compile a new kernel cache on first start. sh d4r/d4r-check.sh checks the install. SUPPORTED_GAMES.md lists game-specific setup and known issues.
Validation and limits
- All bundled Linux ELF libraries are checked against the GLIBC 2.41 ABI limit; release loading is checked inside that environment.
- The release contains performance and accuracy kernels for all eight target variants. Configuration tests and sampled CPU-emulated kernel/reference checks cover the new accuracy path; these do not establish full-game or RTX parity.
- RDNA4 remains experimental: emulator/compiler coverage does not prove hardware speed, image quality, or driver stability. The external RX 7900 XTX report is RDNA3, not RDNA4 validation.
- Super Resolution only: Frame Generation, Ray Reconstruction, and DLSS 5 Neural Rendering are unsupported. Keep Ray Reconstruction off.
Licenses
d4r is GNU General Public License, version 3 only (GPL-3.0-only). ZLUDA, LLVM, vkd3d-proton, OptiScaler, and the bundled ROCm libraries retain their respective licenses in d4r/licenses; sources and patches are listed in d4r/source. NVIDIA's libraries and texture kernels compiled from its code are not covered by those licenses. d4r is not affiliated with NVIDIA or AMD.
The attached .sha256 file contains the ZIP's checksum.