This extensive mod has attached four working PCIe slots to the low-cost computer.
Fancy hooking a high-end graphics card to your Raspberry Pi 4? Well it might be possible.
While the $35 - $55 Raspberry Pi 4 can run the 20 year-old Quake III at a decent clip, modern games and 3D graphics are beyond the capabilities of its onboard graphics.
Until recently, the prospect of the Pi 4 handling modern 3D graphics using a powerful discrete graphics card seemed remote.
Riley, no stranger to dissembling Raspberry Pi boards, desoldered the USB 3 chipset on board the Pi 4 to expose the pins underneath -- as part of a bid to add a working PCIe interface, the type used by modern GPUs.
Working out which pins were important was tricky, due to the datasheet for the Pi's VL805 USB 3 controller being confidential, but Riley tracked down useful information online that allowed him to figure out the pins that matter.
SEE: More Raspberry Pi coverage (TechRepublic Flipboard magazine)
Next he used a microscope to clean, extend and add solder to the pins so a PCIe riser card and PCIe switch card enabling four PCIe slots could be attached to the board.
After several attempts at booting the Pi, and what Riley calls some "professional wiggling" of the PCIe slot, Riley got the board to boot. Even after booting, no PCIe devices were detected, leading Riley to tweak the Compiled Device Tree for the Pi so it recognized the four PCIe slots.
Using these PCIe slots, Riley was able to connect up multiple VL805-based USB3 cards, which he says work "great".
Getting more hardware working with the PCIe slots looks tricky, though Riley is working on it.
A SATA controller based on a JMicron JMB363 is detected correctly and although Riley says there is currently no driver, he describes his progress so far as very promising.
Riley even tried a couple of GPUs, the Radeon HD 7990 GPU and an Nvidia GTX 1060, as you can see below. While he's had no success yet, Riley is now experimenting with a custom configuration to allow the PCIe Base Address Register to have enough space to map a GPU to Pi's memory.
In a later update Riley says on Twitter that a "working GPU is unlikely, but will still give it a go :) For me I saw someone else saying there was a possibility I just had to try it! If it ends up working I'll try building some open source games as will need rebuilt for ARM".
Even if Riley does get a GPU running with the Pi, a modern GPU will be bottlenecked by the maximum throughput of the interface, which is roughly equivalent to that of PCIe 2.0.
The recently released Raspberry Pi 4 marks a significant upgrade for the Pi, introducing a new CPU and GPU, upping the Pi's memory to 4GB, introducing USB 3.0 for fast storage, and adding support for dual 4K displays.