# ROCm + RX 9070 XT (gfx1201/RDNA4) working via librocdxg on WSL2 (Ubuntu 26.04)
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 140
- Forks
- 16
- Avg merge
- 1m
- Merged PRs (30d)
- 1
Description
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-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.- Survived a full reboot with no persistence tricks needed —
rocminfoworked 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!
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Review the Ubuntu 26.04 and ROCm 7.13 installation recipe, the missing amdrocm-runtime-dev7.13 package, and the llama.cpp CMake command. Check the project’s existing documentation entry points before deciding where this guidance belongs. Done means the WSL2 gfx1201 setup, HIP development dependency, reboot behavior, and package caveats are documented accurately.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cmake, linux, ubuntu
- Domain
- documentation, tooling
- Issue type
- Documentation
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Needs clarification
- Newbie friendliness
- 45/100