DaVinci-Resolve-AMD-Omarchy/README.md
28allday 2154e9b4de Trim README credits to projects actually used by the installer
Drops Blackmagic (product itself, obvious) and Sheridan Computers (libc++
rollback writeup is referenced only as future-work in NOTES.md, not used
by the installer). Keeps Omarchy, davincibox, davinci-resolve-checker,
and the Arch Wiki — all directly referenced in install-davinci-resolve.sh.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-03 11:19:59 +01:00

8 KiB

DaVinci Resolve - AMD Omarchy

Video Guide

Install DaVinci Resolve on Omarchy (Arch Linux + Hyprland) on AMD GPUs — RDNA 2, RDNA 3, and the new RDNA 4 cards (RX 9060 / 9070 / 9080).

The script does a manual install to /opt/resolve (no AUR PKGBUILD), pins ROCm 7.1.1 from the Arch Linux Archive (current 7.2.x is broken with Resolve), patches every ELF's RPATH, fixes audio (DeckLink → ALSA + snd-aloop + PipeWire bridge), and writes a launcher with the right HSA_OVERRIDE / DRI_PRIME / MESA_VK_DEVICE_SELECT env vars baked in.

For the full design rationale, root-cause analysis, and recovery procedures see NOTES.md.

Requirements

  • OS: Omarchy (Arch Linux) or any Arch-based distro
  • GPU: AMD RDNA 2 / 3 / 4 (see GPU support below)
  • Compositor: Hyprland (optional — script adds window rules if detected)
  • DaVinci Resolve ZIP in ~/Downloads/ — Blackmagic gates this behind a registration form, no direct link

Quick Start

# 1. Download DaVinci Resolve from blackmagicdesign.com into ~/Downloads/
# 2. Clone and run:
git clone https://git.no-signal.uk/nosignal/DaVinci-Resolve-AMD-Omarchy.git
cd DaVinci-Resolve-AMD-Omarchy
chmod +x install-davinci-resolve.sh
./install-davinci-resolve.sh

The script scans your system, shows what it found, asks before making changes, and is idempotent — safe to re-run any time.

Why ROCm 7.1.1 (and not the current 7.2.x)

ROCm 7.2.x's OpenCL stack breaks DaVinci Resolve on every AMD GPU — clCreateContext either fails outright or hangs on the Color page. ROCm 7.1.1 is the last known-good release.

The script downloads 7.1.1 from the Arch Linux Archive, installs via pacman -U, and adds an IgnorePkg line to /etc/pacman.conf so pacman -Syu won't quietly upgrade you back into the broken stack.

References:

When ROCm 7.3+ ships and is verified working, the pin can be lifted — see NOTES.md.

What it does

  1. System scan — kernel, GPU(s) with gfx target + PCI bus address, audio stack, display server, existing Resolve install
  2. ROCm 7.1.1 pinned install — downloads from Arch Linux Archive, pacman -U, adds IgnorePkg to /etc/pacman.conf. Aborts on partial-downgrade failure (won't silently leave you on a broken stack)
  3. Manual Resolve installunzip.run AppImage → --appimage-extractrsync to /opt/resolvepatchelf --set-rpath every ELF
  4. glib-family symlink swap — replaces all five bundled glib libs (libglib-2.0, libgio-2.0, libgmodule-2.0, libgobject-2.0, libgthread-2.0) with system symlinks. Bundled libc++ / libc++abi are deliberately kept (Resolve was compiled against specific ABI versions; replacing them crashes on launch)
  5. Audio fixes — DeckLink → ALSA backend, snd-aloop kernel module, PipeWire loopback bridge, wireplumber rule keeping aloop off the default-sink rotation
  6. Hyprland window rules — v3 syntax (not deprecated windowrulev2), cosmetic-only on the modal dialogs to avoid the trapped-cursor problem
  7. Launcher at ~/.local/bin/davinci-resolve with HSA_OVERRIDE_GFX_VERSION, ROCR_VISIBLE_DEVICES, DRI_PRIME=pci-<bus> (explicit tag, not =1 — see below), and MESA_VK_DEVICE_SELECT baked in
  8. Stale-config wipe — clears ~/.local/share/DaVinciResolve/{configs,logs} if it sees a known crash marker, and unconditionally on fresh installs

Hybrid GPU note (Intel iGPU + AMD dGPU)

On hybrid laptops where the monitor is wired to the AMD discrete card, Mesa already defaults OpenGL to the AMD card. Setting DRI_PRIME=1 in this scenario actually flips OpenGL to the Intel iGPU — Resolve then has OpenGL on Intel and OpenCL on AMD, CL/GL interop fails, and Resolve hangs on the Color page.

The launcher uses the explicit PCI tag form (DRI_PRIME=pci-0000_BB_DD_F) derived from the AMD card's lspci ID. switcherooctl is not used — it internally sets DRI_PRIME=1 and inherits the same flip bug.

GPU support

The script auto-detects the gfx target and applies the right HSA override unattended.

Confirmed working (tested directly)

Card gfx target HSA value
RX 9060 / 9060 XT (Navi 44) gfx1200 12.0.0

Should work — natively supported by ROCm 7.1.1

Card gfx target HSA value
RX 9070 / 9070 XT (Navi 48) gfx1201 12.0.1
RX 7900 / 7900 XT / 7900 XTX (Navi 31) gfx1100 11.0.0
RX 7700 XT / 7800 XT (Navi 32) gfx1101 11.0.1
RX 6800 / 6800 XT / 6900 XT / 6950 XT (Navi 21) gfx1030 10.3.0

Should work via HSA spoof — not natively supported, spoofed to nearest target

Card Real gfx Spoofs as HSA value
RX 7600 / 7600 XT (Navi 33) gfx1102 gfx1100 11.0.0
RX 6700 / 6750 XT (Navi 22) gfx1031 gfx1030 10.3.0
RX 6600 / 6650 XT (Navi 23) gfx1032 gfx1030 10.3.0
RX 6500 XT / 6400 (Navi 24) gfx1034 gfx1030 10.3.0

Not supported — ROCm 7.x dropped these before our pinned baseline

  • RX 5000 series (RDNA 1)
  • Vega
  • Polaris and earlier (rusticl-only path, this script isn't tuned for it)

Free-version codec limitation

DaVinci Resolve Free on Linux can't decode H.264/H.265. Convert media first:

resolve-convert video.mp4   # writes video_dnxhr.mov (DNxHR)

Environment variables

Var Effect
RESOLVE_NO_ALOOP=1 Skip the snd-aloop / PipeWire bridge audio setup (use this if you have a real audio interface)

Uninstall

The script does not track itself with pacman. To remove cleanly:

sudo rm -rf /opt/resolve
sudo rm -f /usr/share/applications/{DaVinciResolve,blackmagicraw-*}.desktop
sudo rm -f /usr/lib/udev/rules.d/{99-BlackmagicDevices,99-ResolveKeyboardHID,99-DavinciPanel}.rules
rm -f ~/.local/bin/davinci-resolve ~/.local/bin/davinci-resolve-rusticl ~/.local/bin/davinci-resolve-igpu
rm -f ~/.local/bin/resolve-convert ~/.local/bin/davinci-resolve-checker

# Optional — also remove user data (DELETES ALL PROJECTS)
rm -rf ~/.local/share/DaVinciResolve

To lift the ROCm pin:

sudo sed -i '/^IgnorePkg.*rocm-/d' /etc/pacman.conf
sudo pacman -Syu

Troubleshooting

If first launch fails or Resolve hangs on the Color page, NOTES.md has the full recovery playbook — quick sanity checks at the bottom let you verify the OpenCL stack, launcher env vars, and PipeWire bridge in a few lines of paste.

Common quick checks:

clinfo -l                                                # should show your AMD gfx target
pacman -Q rocm-core rocm-opencl-runtime                  # should show 7.1.1
grep IgnorePkg /etc/pacman.conf                          # should pin the rocm packages
grep -E 'DRI_PRIME|HSA_OVERRIDE' ~/.local/bin/davinci-resolve   # DRI_PRIME must be pci-... form, NEVER =1

Credits

License

Provided as-is for the Omarchy community.