Summary
Confirming that ROCm HIP compute (not just Vulkan) works on an AMD Radeon RX 9070 XT (gfx1201, RDNA4) inside WSL2, via librocdxg. Tested and benchmarked end-to-end, since public documentation for this GPU generation + WSL combination appears to be limited — most existing guides predate RDNA4 consumer card support.
Posting the recipe, a gotcha that cost significant debugging time, and real benchmark numbers in case it saves someone else the trouble.
Hardware / environment
- CPU: AMD Ryzen 7 9700X
- GPU: AMD Radeon RX 9070 XT (gfx1201, RDNA4), 16GB VRAM
- Host OS: Windows, WSL2
- Fan curve / power limit: fixed via BIOS (not left to dynamic Windows/driver management) — noting this since it may affect thermal behavior reproducibility
Recipe — Ubuntu 26.04, ROCm 7.13 pre-release
sudo amdgpu-install --usecase=rocm --no-dkms
sudo apt install amdrocm-profiler7.13 amdrocm-opencl amdrocm-gfx120x
Notes:
- No
amdgpu-dkms needed — it was purged in testing and never reinstalled; this makes sense since WSL has no native kernel GPU driver anyway.
HSA_ENABLE_DXG_DETECTION was not required — ROCm 7.13 removes this requirement.
librocdxg installed via the official .deb (rocdxg-roct_1.2.0_amd64.deb), not built from source.
- Survived a full reboot with no persistence tricks needed —
rocminfo worked cleanly on a fresh session (Runtime Version 1.21).
Gotcha: missing HIP dev/CMake package
Compiling llama.cpp with -DGGML_HIP=ON initially failed:
CMake Error: The ROCm root directory: /opt/rocm/core-7.13
does not contain the HIP runtime CMake package, expected at:
/opt/rocm/core-7.13/lib/cmake/hip-lang/hip-lang-config.cmake
Root cause: the amdrocm-profiler7.13 / amdrocm-opencl / amdrocm-gfx120x set only installs the runtime, not HIP development files. The missing piece was:
sudo apt install amdrocm-runtime-dev7.13
This installs hip-lang-config.cmake and the rest of the CMake package files needed for enable_language(HIP). Not obvious from package naming — worth documenting since the runtime packages alone give a false impression that HIP dev support is complete.
One caveat observed: CMake configure step produced repeated warnings about libhipblas.so.3 / librocblas.so.5 existing both under /opt/rocm/lib (new AMD 7.13 packages) and /usr/lib/x86_64-linux-gnu (older Ubuntu-repo 7.1 packages, pulled in as automatic dependencies earlier). Did not cause a build failure, but flagging as a potential source of runtime library confusion for others.
Benchmark results (llama.cpp, HIP backend)
Built with:
HIPCXX="$(hipconfig -l)/clang" HIP_PATH="$(hipconfig -R)" \
cmake -S . -B build -DGGML_HIP=ON -DAMDGPU_TARGETS=gfx1201 -DCMAKE_BUILD_TYPE=Release
cmake --build build --config Release -j$(nproc)
Confirmed backend load:
ggml_cuda_init: found 1 ROCm devices (Total VRAM: 16200 MiB):
Device 0: AMD Radeon RX 9070 XT, gfx1201 (0x1201), VMM: no, Wave Size: 32, VRAM: 16200 MiB
load_backend: loaded ROCm backend from /usr/lib/x86_64-linux-gnu/ggml/backends0/libggml-hip.so
TinyLlama 1B Q4_K:
| test |
t/s |
| pp512 |
19837.99 ± 4575.55 |
| tg128 |
280.70 ± 4.38 |
10 consecutive runs (-r 3 -n 512 -p 512, no pause between iterations) showed stable throughput, 271–281 t/s tg, no degradation or errors.
Mistral-Nemo 12B Q4_K_M (heavier sustained-load test, no pauses between iterations, -n 1024 -p 2048):
- Windows Task Manager (host side, external confirmation): GPU Compute engine at 94% utilization, 9.4GB dedicated VRAM in use, temperature stable at 52-53°C throughout, no throttling observed
- Throughput held consistent across all 15 iterations with minimal variance
- No crashes, no HIP errors, no "zombie state" behavior observed under this load (relevant since this failure mode has been reported by other RX 9070 XT + ROCm + WSL users elsewhere)
Conclusion
Ubuntu 26.04 with ROCm 7.13 pre-release works reliably for gfx1201 under WSL2 via librocdxg, with no HSA_ENABLE_DXG_DETECTION needed and no persistence issues across reboots.
Happy to provide more detail, full package lists, or test additional configurations if useful.
I'm Miguel, I live in Salvador BA, Brazil
Thanks!
Summary
Confirming that ROCm HIP compute (not just Vulkan) works on an AMD Radeon RX 9070 XT (gfx1201, RDNA4) inside WSL2, via
librocdxg. Tested and benchmarked end-to-end, since public documentation for this GPU generation + WSL combination appears to be limited — most existing guides predate RDNA4 consumer card support.Posting the recipe, a gotcha that cost significant debugging time, and real benchmark numbers in case it saves someone else the trouble.
Hardware / environment
Recipe — Ubuntu 26.04, ROCm 7.13 pre-release
Notes:
amdgpu-dkmsneeded — it was purged in testing and never reinstalled; this makes sense since WSL has no native kernel GPU driver anyway.HSA_ENABLE_DXG_DETECTIONwas not required — ROCm 7.13 removes this requirement.librocdxginstalled via the official.deb(rocdxg-roct_1.2.0_amd64.deb), not built from source.rocminfoworked cleanly on a fresh session (Runtime Version 1.21).Gotcha: missing HIP dev/CMake package
Compiling
llama.cppwith-DGGML_HIP=ONinitially failed:Root cause: the
amdrocm-profiler7.13 / amdrocm-opencl / amdrocm-gfx120xset only installs the runtime, not HIP development files. The missing piece was:This installs
hip-lang-config.cmakeand the rest of the CMake package files needed forenable_language(HIP). Not obvious from package naming — worth documenting since the runtime packages alone give a false impression that HIP dev support is complete.One caveat observed: CMake configure step produced repeated warnings about
libhipblas.so.3/librocblas.so.5existing both under/opt/rocm/lib(new AMD 7.13 packages) and/usr/lib/x86_64-linux-gnu(older Ubuntu-repo 7.1 packages, pulled in as automatic dependencies earlier). Did not cause a build failure, but flagging as a potential source of runtime library confusion for others.Benchmark results (llama.cpp, HIP backend)
Built with:
Confirmed backend load:
TinyLlama 1B Q4_K:
10 consecutive runs (
-r 3 -n 512 -p 512, no pause between iterations) showed stable throughput, 271–281 t/s tg, no degradation or errors.Mistral-Nemo 12B Q4_K_M (heavier sustained-load test, no pauses between iterations,
-n 1024 -p 2048):Conclusion
Ubuntu 26.04 with ROCm 7.13 pre-release works reliably for gfx1201 under WSL2 via
librocdxg, with noHSA_ENABLE_DXG_DETECTIONneeded and no persistence issues across reboots.Happy to provide more detail, full package lists, or test additional configurations if useful.
I'm Miguel, I live in Salvador BA, Brazil
Thanks!