Bundle the ROCm 7.2.4 runtime in the release zip

This commit is contained in:
ayo committed 2026-09-27 18:59:07 -04:00
1 parent bc31abdd50
commit 1952452830
12 files changed
+100 -16

No files matched your search

+2 -3
View File
@@ -14,9 +14,8 @@ What you need
-------------
- An AMD Radeon RX 7000 series GPU (RDNA3). The fast kernels are built for gfx1101
(RX 7700 XT, RX 7800 XT). Other RDNA3 cards run DLSS without them, which is much slower.
- Linux with ROCm's HIP runtime, version 7 (the file libamdhip64.so.7). ROCm 7.2 was tested.
Arch Linux: the hip-runtime-amd package. Ubuntu, Fedora and others: the ROCm HIP runtime package
of your distribution or of AMD's ROCm repository.
- Linux with the amdgpu kernel driver (/dev/kfd). ROCm itself is not needed: the zip includes the
ROCm 7.2.4 runtime in d4r/rocm. RocmDir in d4r/d4r.ini selects another ROCm installation instead.
- GE-Proton 11 (tested: GE-Proton11-3), selected for the game in Steam.
@clean - Two NVIDIA files, which this zip does not include:
@clean - nvngx_dlss.dll, the DLSS library, version 310.7 or 310.9 (tested: 310.7.0 and 310.9.1).
+2 -1
View File
@@ -18,7 +18,7 @@ It is an early release, tested on one GPU (RX 7700 XT) in SILENT HILL Townfall a
## Requirements
- AMD Radeon RX 7000 series. The fast kernels are built for gfx1101 (RX 7700 XT, RX 7800 XT). Other RDNA3 cards run DLSS without them, which is much slower.
- The ROCm HIP runtime 7.x (`libamdhip64.so.7`), from your distribution. ROCm 7.2 was tested.
- The amdgpu kernel driver (`/dev/kfd`). The ROCm 7.2.4 runtime is included in `d4r/rocm`; nothing needs to be installed.
- GE-Proton 11 (tested: GE-Proton11-3).
## What is in the zip
@@ -29,6 +29,7 @@ It is an early release, tested on one GPU (RX 7700 XT) in SILENT HILL Townfall a
- `d4r/d4r.ini` holds the settings for that game. The default model is DLSS 4 (K); E (DLSS 3 CNN) and M (DLSS 4.5) are one line away.
- **NVIDIA:** DLSS 310.7.0 (`nvngx_dlss.dll`), the NGX runtime from driver 596.36 (`_nvngx.dll`), and five DLSS kernels built from NVIDIA's code with parts replaced by d4r's.
- **ZLUDA** with d4r's patches: CUDA on ROCm.
- **ROCm 7.2.4 runtime** (HIP, HSA, comgr), unmodified, from AMD's Ubuntu 22.04 packages.
- **vkd3d-proton** with d4r's patch, so every frame shows its own DLSS result (no added latency).
- **OptiScaler 0.9.4**, unmodified, set up to hand the game's DLSS calls to d4r.
+10
View File
@@ -18,6 +18,16 @@ Third-party software, unmodified or patched by d4r:
commit @VKD3D_COMMIT@ with d4r/source/patches/vkd3d-proton/0001 applied,
built with its build-win64.txt cross file (meson --buildtype release).
Licenses: d4r/licenses/vkd3d-proton-*.txt
d4r/rocm/lib/ ROCm 7.2.4 runtime, unmodified, from AMD's Ubuntu 22.04 packages
(https://repo.radeon.com/rocm/apt/7.2.4): HIP (hip-runtime-amd, MIT),
comgr (NCSA; contains LLVM, Apache License 2.0 with LLVM exceptions),
ROCr (hsa-rocr, NCSA) and rocprofiler-register (MIT).
Sources: https://github.com/ROCm/rocm-systems and https://github.com/ROCm/llvm-project,
tag rocm-7.2.4. Licenses: d4r/licenses/ROCm-*
libelf.so.1 (elfutils 0.186, GNU LGPL 3.0 or GPL 2.0) and libnuma.so.1 (numactl 2.0.14,
GNU LGPL 2.1), unmodified, from Ubuntu 22.04's libelf1 and libnuma1 packages; their
sources are Ubuntu's elfutils 0.186-1ubuntu0.1 and numactl 2.0.14-3ubuntu2 source packages.
Licenses: d4r/licenses/ROCm-lib*-copyright.txt
dxgi.dll OptiScaler 0.9.4 (GNU GPL 3.0), unmodified OptiScaler.dll renamed to dxgi.dll.
Source: https://github.com/optiscaler/OptiScaler/tree/v0.9.4
License: d4r/licenses/OptiScaler-LICENSE-GPL-3.0.txt
+3 -2
View File
@@ -4,10 +4,11 @@
# usage: sh d4r/d4r-check.sh [GAME_FOLDER] [ROCM_DIR]
GAME="${1:-.}"
D4R="$GAME/d4r"
# ROCm: the argument, else d4r.ini's RocmDir, else D4R_ROCM_DIR, else /opt/rocm
# ROCm: the argument, else d4r.ini's RocmDir, else the bundled d4r/rocm, else D4R_ROCM_DIR, else /opt/rocm
ini_rocm=$(sed -n 's/^[[:space:]]*RocmDir[[:space:]]*=[[:space:]]*\([^;#]*\).*/\1/p' "$D4R/d4r.ini" 2>/dev/null | tail -1 | sed 's/[[:space:]]*$//')
[ "$ini_rocm" = auto ] && ini_rocm=
case "$ini_rocm" in "~/"*) ini_rocm="$HOME/${ini_rocm#\~/}" ;; esac
[ -z "$ini_rocm" ] && [ -d "$D4R/rocm/lib" ] && ini_rocm="$D4R/rocm"
ROCM="${2:-${ini_rocm:-${D4R_ROCM_DIR:-/opt/rocm}}}"
problems=0
ok() { printf ' ok %s\n' "$1"; }
@@ -35,7 +36,7 @@ found=
for dir in "$ROCM/lib" /opt/rocm/lib /usr/lib /usr/lib64 /usr/lib/x86_64-linux-gnu; do
[ -e "$dir/libamdhip64.so.7" ] && { found="$dir"; break; }
done
[ -n "$found" ] && ok "ROCm HIP runtime ($found/libamdhip64.so.7)" || bad "ROCm HIP runtime 7.x (libamdhip64.so.7); install your distribution's HIP runtime package"
[ -n "$found" ] && ok "ROCm HIP runtime ($found/libamdhip64.so.7)" || bad "ROCm HIP runtime 7.x (libamdhip64.so.7); re-extract the d4r zip, which includes it in d4r/rocm"
[ -e /dev/kfd ] && ok "/dev/kfd (ROCm compute device)" || bad "/dev/kfd: the amdgpu compute interface is not available"
target=""
for props in /sys/class/kfd/kfd/topology/nodes/*/properties; do
+1 -1
View File
@@ -39,7 +39,7 @@ DirectOutput = auto
[Paths]
; Linux paths.
; ROCm installation (default /opt/rocm)
; ROCm installation (default: the ROCm runtime in d4r\rocm, else /opt/rocm)
RocmDir = auto
; Cache for the compiled DLSS kernels (default ~/.cache/d4r). The first launch fills it.
CacheDir = auto