Raspberry Pi can do a million things, but run a discrete graphics card it cannot… that is, until the new Raspberry Pi 5 and Jeff Gerling, who is running an AMD Radeon RX 460 and playing popular games like Minecraft and Portal through his Pi 5.
The newer Raspberry Pi 5 doesn’t have any PCIe connectors, but it can be forced up to PCIe Gen3 specs (up to 10GT/s) compared to the Raspberry Pi 4, which was limited to PCIe Gen2 specs and simply didn’t have enough bandwidth to accommodate an external GPU.
The previous versions of Raspberry Pi didn’t only have limited bandwidth through its PCIe 2.0 interface, but also the Broadcom BCM2711 processor had multiple PCIe-related bugs that made running an external GPU almost impossible.
VIEW GALLERY – 5 IMAGES
Raspberry Pi 5 features a new Broadcom BCM2712 processor which Jeff said “seems to have fixed the PCIe bus quirks” that plagued the previous-gen Pi 4. The external GPU capabilities on Pi 5 are much better, with Jeff explaining: “External GPU bringup on the Pi 5 was much faster since we now know many of the driver quirks are due to old code assuming an X86 architecture“.
One of the biggest things of note is that the Raspberry Pi 5 doesn’t have a regular PCIe connector, so the use of adapters will come into play. A custom board is needed, which will directly connect to the Pi 5 board through the FPC connector, and since the PI 5 has its own power source, you’ll need to use an ATX power supply to fire up the PCIe adapter, and any included discrete graphics card. You can’t just throw in a GeForce RTX 4090, of course, whereas Jeff using an AMD Radeon RX 460 graphics card which is powered by the Polaris 11 GPU and came out in 2016.
So you’ve only got 2GB or 4GB of VRAM depending on the SKU of RX 460 you purchase, so there goes playing Alan Wake 2 at 4K 120FPS, I guess.
- The maximum PCIe Gen 2.0 bandwidth meant use cases were limited to ‘processing on GPU’ tasks like GPU-assisted compute. Even in the base case, external cards couldn’t necessarily pipe through data quick enough for modest gaming or other real-time tasks.
- (And most impactful) The BCM2711 SoC used on the CM4 and Pi 4 had some strange PCI Express bus quirks that caused hard crashes and various faults in drivers attempting to use 64-bit memory addresses. There were strange and exotic workarounds-but these workarounds led to even more limited performance!