AMD STRIX HALO
Strix Halo (gfx1151) for AI Video: The Fixes Nobody Documents
Your GPU hangs mid-render. Your VRAM crashes on a machine with 128GB of unified memory. Your video saves with no audio and a stack trace that reads can't convert cuda:0 device type tensor to numpy on a box that has no CUDA in it. None of these are hardware faults. Here is what is actually going wrong and how to fix each one.
The symptoms you are searching for
If you bought an AMD Strix Halo machine to do AI work — image generation, video generation, LoRA training — you have probably hit some subset of the following, and every one of them sends you into forum archaeology:
- The APU runs, but everything is inexplicably slow, as if the chip never leaves a low-power state.
- The GPU hangs partway through a long generation, taking the session with it.
- Memory crashes on a machine with more unified memory than any consumer discrete card ships with.
- Video renders complete but come out silent, killed by a tensor conversion error that names a CUDA device.
- PyTorch installs "successfully" and then behaves as if the accelerator barely exists.
The reason these are hard to solve is that Strix Halo is an APU, not a discrete GPU, and it reports as gfx1151. Most of the AI stack was written, tested, and debugged against NVIDIA discrete cards. Things that are accidentally fine on that path — a tensor that never needed an explicit CPU hop, a power governor that ramps on its own — are not fine here. The hardware is not the problem. The defaults are.
What actually runs on this thing
The setup documented here is a GMTEK NUC EVO 2 with an AMD Strix Halo APU (gfx1151, Radeon 8060S Graphics), 128GB unified memory split 64GB VRAM / 64GB RAM, on Ubuntu 25.10. On that machine, the following are confirmed working: LTX-2 (full — video plus synchronized audio, image-to-video, talking characters), Z Turbo, SimpleTuner (local LoRA training on the APU), Hunyuan Video (full, slower but stable), Flux (full, fast), and SDXL (full, fast).
A note on scope: this is APU-specific. It has not been tested on discrete AMD GPUs, and the environment variables below are tuned for gfx1151 behavior specifically.
Step 1: Base ROCm
Start from AMD's own repository, and put your user in the render and video groups — without that the runtime cannot reach the device at all.
wget https://repo.radeon.com/rocm/rocm.gpg.key -O - | sudo apt-key add -
echo 'deb [arch=amd64] https://repo.radeon.com/rocm/apt/latest ubuntu main' | sudo tee /etc/apt/sources.list.d/rocm.list
sudo apt update
sudo apt install rocm-dev rocm-libs
sudo usermod -a -G render,video $USER
sudo reboot
Step 2: CoreCtl — the "why is my APU slow" answer
This is the single most common cause of a Strix Halo box that benchmarks like a laptop. APU power management is broken without CoreCtl; rocm-smi leaves the chip throttled. You install it, you launch it, and you set Performance mode for the Radeon 8060S. That is the entire fix, and it is worth roughly the difference between "this was a mistake" and "this is my daily driver."
sudo apt install corectrl
corectrl # Set Performance mode for Radeon 8060S
Set it before you start diagnosing anything else. A throttled APU makes every other measurement you take meaningless.
Step 3: A clean Python 3.11 venv
sudo apt install python3.11 python3.11-venv python3.11-dev
mkdir -p ~/ComfyUI && cd ~/ComfyUI
python3.11 -m venv venv_rocm711
source venv_rocm711/bin/activate
Step 4: TheROCk nightly — the step that actually matters
This is the piece most people never find. TheROCk is AMD's official next-generation stack, not a community fork. Public ROCm is at 7.2. TheROCk started at 7.9, is now at 7.11, and becomes ROCm 8.0 in March 2026. The performance difference is dramatic — dramatic enough that a lot of "Strix Halo is not ready for AI" writeups are really just reports from the stock stack.
Uninstall the torch you have, then pull from the gfx1151-specific nightly index. The architecture is in the URL; this is not a generic ROCm wheel.
source ~/ComfyUI/venv_rocm711/bin/activate
pip uninstall torch torchvision torchaudio -y
pip install --index-url https://rocm.nightlies.amd.com/v2/gfx1151/ \
torch torchvision torchaudio --force-reinstall
Verify before going further. If this string does not look right, nothing downstream will behave, and you will waste hours blaming the model:
python -c "import torch; print(torch.__version__)"
# Should show: 2.11.0a0+rocm7.11.0a20260106
Step 5: ComfyUI
cd ~/ComfyUI
git clone https://github.com/comfyanonymous/ComfyUI.git .
pip install -r requirements.txt
cd custom_nodes
git clone https://github.com/ltdrdata/ComfyUI-Manager.git
cd ..
Step 6: The silent-video bug, explained
Here is a perfect example of the NVIDIA-shaped default. ComfyUI converts an audio waveform tensor straight to numpy without first moving it to the CPU. On NVIDIA that happens to work. On AMD it raises:
can't convert cuda:0 device type tensor to numpy
The result is a video with no audio, and an error message that sends you searching for CUDA problems on a machine that has no NVIDIA hardware in it. The fix is one inserted .cpu() call in comfy_api/latest/_input_impl/video_types.py (around line 377):
sed -i 's/\.float()\.numpy()/.float().cpu().numpy()/g' \
~/ComfyUI/comfy_api/latest/_input_impl/video_types.py
Before: .float().numpy(). After: .float().cpu().numpy(). That is the whole patch.
Step 7: The environment variables that stop the crashing
The two variables below are not optimizations. Without them you will crash, and the crashes will look like random hardware instability rather than a configuration problem.
| Variable | Why |
|---|---|
HSA_ENABLE_SDMA=0 | Prevents GPU hangs on gfx1151 |
HSA_USE_SVM=0 | Fixes VRAM crashes |
PYTORCH_HIP_ALLOC_CONF | Memory fragmentation prevention (see script) |
TORCH_ROCM_AOTRITON_ENABLE_EXPERIMENTAL=1 | Faster attention |
The repo's comfyui-amd.sh sets all of them, unsets conflicting leftovers (TRITON_PTXAS_PATH, LLVM_SYSPATH, and critically HSA_OVERRIDE_GFX_VERSION — you do not want to spoof an architecture when your real one is supported), and launches with sane flags. The core of it:
export HSA_ENABLE_SDMA=0 # Fixes GPU hangs
export HSA_USE_SVM=0 # Fixes memory crashes
export PYTORCH_HIP_ALLOC_CONF="backend:native,expandable_segments:True,garbage_collection_threshold:0.7,max_split_size_mb:256"
export TORCH_ROCM_AOTRITON_ENABLE_EXPERIMENTAL=1
python main.py \
--listen 0.0.0.0 \
--port 8189 \
--gpu-only \
--disable-smart-memory
If OOM crashes occur, try --lowvram instead of --gpu-only. Then drop the script in place and run it:
cp comfyui-amd.sh ~/ComfyUI/
chmod +x ~/ComfyUI/comfyui-amd.sh
~/ComfyUI/comfyui-amd.sh
Getting good LTX-2 output
Two things matter more than anything else in the workflow. First, in LTXVImgToVideoInplace, set strength: 0.3 — lower gives more natural movement, and 0.5+ causes frozen poses. Second, structure the prompt deliberately:
- Shot + character description
- Immediate action + dialogue in quotes
- "her mouth moves as she speaks" — critical for talking characters
- Camera direction
- Timed events: "at 5 seconds she says..."
- Mood anchor at the end
What you get
A 10-second video with synchronized audio takes roughly 10–13 minutes at 480x832 portrait, 121 frames at 12fps, using about 20GB of VRAM. On a NUC. With no NVIDIA hardware and no vendor lock-in — worth noting given that the DGX Spark costs roughly 2x and locks you into NVIDIA's ecosystem, while Strix Halo runs standard Linux.
Quick triage table
| Problem | Solution |
|---|---|
| APU running slow | Install CoreCtl, set Performance mode |
| GPU hangs | export HSA_ENABLE_SDMA=0 |
| VRAM crashes | export HSA_USE_SVM=0 |
| No audio in video | Apply the sed fix (step 6) |
| Wrong PyTorch | Verify with python -c "import torch; print(torch.__version__)" |
The larger point
The hardware is incredible — 128GB of unified memory in a NUC, with nothing comparable from NVIDIA at this price without ecosystem lock-in. What is missing is not silicon. It is visibility: most users do not know TheROCk exists, APU power management should not require CoreCtl, and HSA_ENABLE_SDMA=0 should not require forum diving. Every fix in this guide is small. Finding them is what costs weeks.
Source and full code: github.com/bkpaine1/AMD-Strix-Halo-AI-Guide