The Mac Pro 6,1 ships with dual AMD FirePro GPUs. Under Linux, GPU acceleration uses a three-layer stack:
Application (OpenGL / Vulkan / OpenCL / VA-API)
|
Mesa userspace drivers (radeonsi, RADV, rusticl)
|
amdgpu kernel driver (SI support enabled)
|
GPU hardware (D300 / D500 / D700)
Every layer is open-source, actively maintained, and improving with each release.
| GPU | VRAM | Codename | GCN | PCI ID | Shader Cores |
|---|---|---|---|---|---|
| FirePro D300 | 2GB GDDR5 | Pitcairn | 1.0 (SI) | 1002:6819 |
1280 |
| FirePro D500 | 3GB GDDR5 | Tahiti | 1.0 (SI) | 1002:6798 |
1792 |
| FirePro D700 | 6GB GDDR5 | Tahiti XT | 1.0 (SI) | 1002:6798 |
2048 (32 CUs) |
All are GCN 1.0 (Southern Islands). The amdgpu kernel driver handles them with amdgpu.si_support=1. This kernel does not include the legacy radeon driver.
Full OpenGL 4.6 support via Mesa's radeonsi driver. This is mature, stable, and performant.
$ glxinfo | grep "OpenGL version"
OpenGL version string: 4.6 (Compatibility Profile) Mesa 26.1.0-devel
Vulkan 1.3+ via Mesa's RADV driver. Supports most modern Vulkan applications.
$ vulkaninfo --summary
GPU0: AMD RADV TAHITI (LLVM 19.1.7)
Vulkan 1.4.341
Hardware video decode via AMD's UVD (Unified Video Decoder):
| Codec | Status |
|---|---|
| H.264 / AVC | Hardware decode |
| MPEG-2 | Hardware decode |
| VC-1 | Hardware decode |
| H.265 / HEVC | Not supported (needs GCN 2.0+) |
| VP9 / AV1 | Not supported |
$ vainfo
Driver version: Mesa Gallium driver 26.1.0-devel for AMD Radeon R9 200 / HD 7900 Series
Hardware video encode via AMD's VCE (Video Coding Engine):
- H.264 encoding supported
- Used by OBS, FFmpeg, and other tools
OpenCL via Mesa's rusticl backend. ROCm does not support Southern Islands GPUs.
# Enable rusticl
export RUSTICL_ENABLE=radeonsi
# Verify
clinfo | grep "Device Name"All 6 Mini DisplayPort outputs work (3 per GPU). HDMI via adapter supported. Audio over DP/HDMI works.
| Feature | Reason |
|---|---|
| ROCm / HIP | AMD dropped SI support; minimum is GCN 3.0 (Fiji) |
| HEVC decode | Hardware UVD too old (GCN 1.0) |
| VP9 / AV1 decode | Not present in hardware |
| DisplayPort MST (daisy-chain) | Not supported by amdgpu SI |
| FreeSync / VRR | Requires GCN 2.0+ |
| Power management (pp_dpm) | PowerPlay sysfs not available for SI GPUs |
Mesa improvements for GCN 1.0 have been significant in recent releases:
| Mesa Version | Key Improvements |
|---|---|
| 24.0+ | radeonsi NIR backend (replaces TGSI), better shader compilation |
| 24.2+ | RADV improvements for older GCN |
| 25.0+ | rusticl OpenCL stability |
| 26.1 (current) | Continued radeonsi/RADV refinement |
Recommendation: Use the latest Mesa available. On CachyOS/Arch:
# Stable
sudo pacman -S mesa vulkan-radeon
# Bleeding edge (mesa-git from CachyOS repos)
sudo pacman -S mesa-gitThis system is running mesa-git 26.1.0-devel from CachyOS.
Both GPUs are available. By default, GPU 1 (card1) handles display. GPU 0 (card0) is available for compute or offload:
# Check both GPUs
ls /dev/dri/renderD*
# renderD128 = GPU 0, renderD129 = GPU 1
# Run an app on the second GPU
DRI_PRIME=1 glxgears
# Assign specific GPU for Vulkan
MESA_VK_DEVICE_SELECT=1002:6798:1 vulkan-app# Shader cache (reduces stutter on repeated workloads)
export MESA_SHADER_CACHE_DIR="$HOME/.cache/mesa_shader_cache"
export MESA_SHADER_CACHE_MAX_SIZE=4G
# Threading (significant for OpenGL)
export mesa_glthread=true
# RADV optimizations
export RADV_PERFTEST=gpl,nggcThe linux-macpro61 kernel and ISO set these automatically:
amdgpu.si_support=1 # Enable Southern Islands in amdgpu
amdgpu.dc=0 # Display Core off (SI uses legacy display path)
acpi_mask_gpe=0x16 # Mask Thunderbolt ACPI storm (GPE16 on Mac Pro 6,1)
The modprobe config (/etc/modprobe.d/macpro-gpu.conf) ensures these persist after installation.
| Status | Feature | Details |
|---|---|---|
| Done | OpenGL 4.6 | radeonsi, mature and stable |
| Done | Vulkan 1.3+ | RADV, works for most applications |
| Done | VA-API decode | H.264, MPEG-2, VC-1 via UVD |
| Done | VCE encode | H.264 hardware encoding |
| Done | OpenCL | Via rusticl (Mesa) |
| Done | Multi-GPU | Both GPUs accessible, DRI_PRIME offload |
| Done | DP audio | HDMI/DP audio via amdgpu |
| Investigating | macOS GPU paravirtualization | PVG (ParavirtualizedGraphics) for KVM — Metal commands translated through Mesa on host. See pvg-linux.md |
| Not possible | ROCm / HIP | AMD hardware requirement: GCN 3.0+ |
| Not possible | HEVC / VP9 / AV1 decode | Hardware limitation |
This kernel includes KVM support. macOS Tahoe runs in QEMU on top of the accelerated amdgpu kernel driver -- the same driver stack powering the Linux host. The guest runs on real GPU hardware through KVM.
For exposing Metal/3D to the guest (PVG -- paravirtualizing Metal commands through Mesa on the host), see pvg-linux.md.
Apple dropped macOS support for the 6,1. OCLP tries to bring it back by shimming 2013-era GPU kexts into modern macOS. Here's how the two approaches compare:
| Linux (this project) | macOS (OCLP) | |
|---|---|---|
| GPU driver age | 2026 (actively maintained) | 2013 kexts (shimmed) |
| OpenGL | 4.6 | 4.1 (Apple's last) |
| Vulkan | 1.3+ via RADV | MoltenVK (translation layer) |
| Metal | N/A | Shimmed, fragile |
| Video decode | UVD (H.264) | VDA (similar) |
| Stability | Solid (native driver) | Breaks on macOS updates |
| Future | Improving every Mesa release | Deprecated, OCLP may drop 6,1 |
- mesa.md -- Mesa setup, environment variables, troubleshooting
- pvg-linux.md -- ParavirtualizedGraphics roadmap for macOS KVM
- kvm-macos.md -- macOS Tahoe KVM setup guide