RX 7900 XT on X99 Dual Xeon — ROCm inference completely broken, GUI blackout, CPU fallback only — extensive troubleshooting done

Question

I'm a systems engineer by trade — I work across a wide variety of infrastructure and technical environments professionally, so I'm comfortable following detailed instructions, reading logs, and methodically troubleshooting problems. That said, Linux GPU drivers and ROCm are outside my normal domain. I'm not a developer and I don't have deep kernel or driver expertise, but I'm not afraid of the terminal and I can execute whatever steps are needed if someone can point me in the right direction. I've done extensive research and troubleshooting on this already (documented below) and I'm at the point where I need someone with specific ROCm + RDNA3 experience to weigh in. Any help is genuinely appreciated.

Strap on your pants this is a long one....

TL;DR: RX 7900 XT physically detected, VRAM loads, power draws correctly, but llama-cpp-python falls back to CPU only. Identical software stack works perfectly with RTX 5070 Ti on same processor family. Screen blacks out in GUI mode. Extensive troubleshooting done. Is PCIe 3.0 + RDNA3 + ROCm a confirmed dead end?

Hardware — Problem Machine:

Motherboard: MACHINIST X99 D8 Dual CPU

BIOS v2.17.1249 (AMI Aptio, Oct 2025)

CPUs: 2x Xeon E5-2640v4 (10c/20t each, 20c/40t total)

RAM: 128GB DDR4 2400T ECC RDIMM

GPU: RX 7900 XT 20GB (Navi 31, gfx1100) PCIe 3.0 x16

PSU: 2x 750W server PSUs via breakout board

OS: Ubuntu 24.04 desktop

Kernel: 6.17.0-35-generic

Software: llama-cpp-python (ROCm/HIP backend)

ROCm 6.4 via amdgpu-install (7.2 also tried)

Model: qwen3-coder:30b (18GB, 256K context)

Hardware — Working Machine (for comparison):

Motherboard: Asus X99 D8 Dual CPU (same board)

CPUs: 1x Xeon E5-2640v4 (same processors)

GPU: RTX 5070 Ti 16GB (CUDA)

OS: Windows + ollama

Result: Works perfectly

This comparison is the most important diagnostic point. Same board, same processors, same software stack. Only difference is the GPU. The X99 platform is not the problem. ROCm + RDNA3 + PCIe 3.0 is.

BIOS Settings — All Confirmed:

Above 4G Decoding: Enabled

Re-Size BAR Support: Enabled

(32GB verified active via dmesg — ReBAR working)

CSM: Disabled

Boot mode: UEFI (confirmed via ls /sys/firmware/efi)

NUMA: Enabled (critical for dual CPU)

MMIO High Size: 256G

MMIO H Base: 56T

Isoc Mode: Auto

MeSeg Mode: Auto

What Works:

- GPU physically detected (lspci shows Navi 31 at 05:00.0)

- rocminfo detects gfx1100

- rocm-smi shows card online

- 49/49 model layers load into VRAM

- VRAM usage reaches 90%

- Power draw confirmed 257W during load

- ROCm 6.4 installs cleanly

- llama-cpp-python builds with HIP support

- GPU_OFFLOAD_LAYERS shows all layers offloaded

What Doesn't Work:

- Actual inference computation fails

- llama-cpp-python falls back to CPU

- Token speed: ~12 tokens/sec (CPU only)

- Expected with GPU: ~38-47 tokens/sec

- Ubuntu GUI (graphical.target) blacks out screen

- hipStreamSynchronize illegal memory access crash

Root Cause Identified — Not Resolved:

Crash: illegal memory access during

hipStreamSynchronize

Suspected cause:

Flash Attention kernels on RDNA3

interacting badly with older PCIe 3.0 controller

on X99 platform.

This is NOT a hardware failure.

This is NOT a PCIe bandwidth problem.

The card works correctly on modern hardware.

Everything Already Tried

Software environment variables:

HSA_OVERRIDE_GFX_VERSION=11.0.0

HSA_ENABLE_SDMA=0

OLLAMA_FLASH_ATTENTION=0 (tested with Ollama first)

ROCR_VISIBLE_DEVICES=0

GPU_MAX_HEAP_SIZE=100

GPU_MAX_ALLOC_PERCENT=100

llama-cpp-python build flags tried:

CMAKE_ARGS="-DGGML_HIPBLAS=on" FORCE_CMAKE=1

CMAKE_ARGS="-DGGML_ROCM=on" FORCE_CMAKE=1

Both with --force-reinstall --no-cache-dir

GRUB kernel parameters:

nomodeset

iommu=pt

amdgpu.runpm=0

GRUB_GFXPAYLOAD_LINUX=text

Current confirmed working GRUB line:

GRUB_CMDLINE_LINUX_DEFAULT="quiet splash nomodeset iommu=pt amdgpu.runpm=0"

System configuration:

ROCm 6.4 installed fresh on clean Ubuntu 24.04

Tried both Ollama and llama-cpp-python

— identical failure behavior on both

—Tried GUI mode and headless mode

— GPU fallback happens in both

Software tested:

Ollama (ROCm build) → CPU fallback

llama-cpp-python (HIP build) → CPU fallback

Both show same behavior — rules out

software-specific issue

Current llama-cpp-python service:

ini

[Service]

Environment="HSA_OVERRIDE_GFX_VERSION=11.0.0"

Environment="HSA_ENABLE_SDMA=0"

Environment="ROCR_VISIBLE_DEVICES=0"

ExecStart=/path/to/venv/bin/python -m llama_cpp.server \

--model /home/chit/models/qwen3-coder-30b.gguf \

--host 0.0.0.0 \

--port 8081 \

--n_gpu_layers -1 \

--chat_format chatml \

--n_ctx 4096

Two Separate Issues:

Issue 1 — Screen blackout in GUI mode: When booting to graphical.target, screen goes completely black. Suspected amdgpu display driver conflict with the X99 platform. nomodeset in GRUB prevents this but also prevents proper GPU initialization for compute.

Issue 2 — CPU fallback in headless mode: Even with nomodeset and all layers supposedly offloaded to VRAM, no actual compute happens on the GPU. Inference runs entirely on the dual Xeon CPUs. The GPU is recognized, loaded, powered — but not computing.

My Current Theory:

The PCIe 3.0 controller on X99 combined with the RDNA3 architecture's memory access patterns may be fundamentally incompatible with ROCm's HIP runtime. The hipStreamSynchronize failure suggests the GPU is attempting a memory operation that the PCIe 3.0 controller can't handle correctly under the ROCm memory model.

The fact that ReBAR is working (32GB confirmed) rules out the obvious BAR size limitation. The fact that VRAM fills correctly rules out basic PCIe communication failure. The crash happens specifically during synchronization — suggesting a timing or ordering issue in the memory controller handshake.

Questions:

Is PCIe 3.0 + RDNA3 + ROCm a known dead end for inference? Is there any documented working configuration on X99 with an RX 7900 XT?

Has anyone gotten past the hipStreamSynchronize crash on older PCIe controllers? Any ROCm version known to handle this better?

The GUI blackout — is this a known amdgpu driver issue specific to Navi 31 on older platforms? Is there a driver version or kernel parameter that fixes display initialization without breaking compute?

Would amdgpu.vm_size=64 or amdgpu.noretry=1 or adjusting IOMMU aperture settings affect the hipStreamSynchronize behavior?

Is there a way to disable Flash Attention at the HIP/ROCm level (not just the application level) that might bypass the problematic kernel entirely?

Bottom Line:

I'm willing to try any combination of kernel version, ROCm version, GRUB parameters, or driver flags. If there's a known working config for RX 7900 XT on X99 I'll try it. If PCIe 3.0

RDNA3 is a confirmed hard incompatibility I'll accept that, sell the card, and replace it with an NVIDIA card. I just want a definitive answer before giving up.

Posted Jun 3, 2026, 1:17 PM UTC

13
Loading comments…