Full eGPU acceleration on the Pi 500 with a 15-line patch (www.jeffgeerling.com)

🤖 AI Summary
Raspberry Pi 500+ — the new Pi with a native M.2 slot — can be turned into a true eGPU host with an M.2→OCuLink adapter and a tiny 15-line amdgpu patch contributed by GitHub user yanghaku. The patch (edits to ttm_bo_util.c and ttm_module.c) simplifies previous hundreds-of-lines efforts by changing the buffer mapping logic and returning pgprot_dmacoherent() on arm64, fixing cache-coherency and allowing modern AMD cards (tested up to a 7900 XT) to drive displays and accelerate workloads on a Pi (tested on Raspberry Pi’s rpi-6.15.y kernel with firmware-amd-graphics). The hardware remains constrained to a single PCIe Gen3 lane (~800 MB/s) and Arm-specific PCIe coherence quirks still apply, but the setup booted HDMI output and worked reliably. The practical payoff is substantial: Steam via Box64 produced high-frame-rate gaming (glmark2 8011, vkmark 12510, GravityMark 65,842) and Vulkan-accelerated local LLM inference showed strong throughput — e.g., llama-bench results include Llama-3.2-3B tg128 ≈ 108.6 t/s and Qwen2.5-14B pp512 ≈ 335.6 t/s (system power ~315–330 W during runs). This makes accessible GPU-accelerated gaming and local model hosting on Pi-class hardware viable for enthusiasts and researchers, and the small, well-targeted patch improves the chances of upstreaming Pi-specific amdgpu fixes or getting them into Raspberry Pi OS.
Loading comments...
loading comments...