# Fedora ROCM 10 Setup with Tarball along with maintinance scripts

> Source: <https://gist.github.com/Ankk98/fbb5ce4f0725182145c4d5d7857b6954>
> Published: 2026-09-27 12:32:25+00:00

Why tarball: AMD's runfile and dnf repos block Fedora
(`fedora is not a supported OS`). The tarball has no OS check.
One `$ROCM_HOME` serves llama.cpp, stable-diffusion.cpp, whisper.cpp.

```
~/therock-tarball/
  env.sh            source from ~/.bashrc (PATH, ROCM_HOME=./current)
  check-update.sh   installed vs upstream gfx1151 tarballs
  update.sh <VER>   download + extract + verify + flip ./current
  current -> versions/<VER>/install   (all builds point here, never a version)
  versions/<VER>/install              (keep last known-good for rollback)
  therock-dist-linux-gfx1151-<VER>.tar.gz
# toolchain deps (groups video/render must already include you: check `groups`)
sudo dnf install libatomic libquadmath numactl-libs perl gcc gcc-c++ cmake
# remove any Fedora/AMD ROCm that conflicts with the tarball
sudo dnf remove rocm-* hipblas* hipcc rocminfo hsa-rocr hsa-rocr-devel amdgpu-install
sudo dnf autoremove
sudo rm -f /etc/yum.repos.d/rocm.repo
# delete stale empty dirs left behind by the uninstall, if present
sudo rm -rf /opt/rocm-7.1.0 /usr/lib64/rocm
cd ~/therock-tarball
./check-update.sh
./update.sh 10.0.0
echo 'source "$HOME/therock-tarball/env.sh"' >> ~/.bashrc
echo "$HOME/therock-tarball/current/lib" | sudo tee /etc/ld.so.conf.d/rocm-10.conf
sudo ldconfig
source ~/therock-tarball/env.sh
rocminfo | grep -i -m2 gfx1151
$ROCM_HOME/bin/amd-smi list
hipcc --version
cd ~/therock-tarball
./check-update.sh
# if newer: ./update.sh <VER> && sudo ldconfig
# smoke one HIP build, then delete the proven-old version + tarball:
# rm -rf versions/<OLD> therock-dist-linux-gfx1151-<OLD>.tar.gz
ln -sfn ~/therock-tarball/versions/<OLD>/install ~/therock-tarball/current
sudo ldconfig
rm -rf ~/therock-tarball/versions ~/therock-tarball/*.tar.gz ~/therock-tarball/current
sudo rm -f /etc/ld.so.conf.d/rocm-10.conf
sudo ldconfig
# then delete this line from ~/.bashrc:
#   source "$HOME/therock-tarball/env.sh"
source ~/therock-tarball/env.sh
# llama.cpp / whisper.cpp (ggml passthrough)
cmake -B build-rocm -DGGML_HIP=ON -DGPU_TARGETS=gfx1151 \
  -DCMAKE_HIP_ARCHITECTURES=gfx1151 -DCMAKE_HIP_COMPILER=$ROCM_HOME/bin/amdclang++
# stable-diffusion.cpp
cmake -B build-rocm -DSD_HIPBLAS=ON -DGPU_TARGETS=gfx1151 \
  -DCMAKE_HIP_ARCHITECTURES=gfx1151 -DCMAKE_HIP_COMPILER=$ROCM_HOME/bin/amdclang++
# fallback everywhere (no ROCm needed): -DGGML_VULKAN=ON / -DSD_VULKAN=ON
```

If `hipcc` fails with `ModuleNotFoundError`, use `amdclang++` (as above).

Host-level monitors live in `~/gpu-tools/` (own README + update
scripts): `radeontop` / `nvtop` via dnf, `amdgpu_top` via upstream
RPM. `rocminfo` / `amd-smi` come from this tarball:
`$ROCM_HOME/bin/rocminfo`.

- `rocminfo: command not found` - env not loaded:`source ~/therock-tarball/env.sh` (new shells need the`.bashrc` line + reopen).
- `VERIFY FAILED` from`update.sh` - check`/tmp/rocminfo-verify-<VER>.txt` head output; GPU busy or HSA hiccup: just rerun`./update.sh <VER>` (download is skipped,`./current` is only flipped on success).
- `error while loading shared libraries` when running built binaries -`sudo ldconfig` was missed after a flip, or the program was built
against a deleted`versions/<OLD>` : rebuild it.

- Never mix Fedora `rocm-*` dnf packages with this tarball.
- Tarball + one extract ~= 4 GB. If disk bites, the big consumers on
this box are `~/models` +`~/.cache/huggingface` , not ROCm.
