Raspberry Pi Compute Module 4 (opens in new tab) carrier boards that expose the otherwise slot-less board’s PCIe connectivity (opens in new tab) aren’t uncommon. Even the official carrier board features the slot, but what’s less frequent are actual ideas about what to use the resulting connection for. It was perhaps inevitable that someone would try a mini-PCIe graphics card, despite there being a perfectly good GPU on the Pi’s SOC already, and that’s exactly what Twitter user Toble_Miner has done.
Next on the list of things not meant to have a PCI(e) VGA graphics card:The Raspberry Pi CM4Again with some minor driver tweaks since the Broadcom PCIe host seems to hate write combining pic.twitter.com/zm5eo76COdFebruary 20, 2022
The graphics card in question is a Delock mini-PCIe card based on the SM750 (opens in new tab) chipset from Silicon Motion. It’s designed to provide 2D graphics and video-playing capabilities for embedded applications, thin clients, and even servers. It probably won’t be worrying our best graphics cards (opens in new tab) list any time soon. With four cores running at 300MHz, and 100MB of borrowed system RAM, it outputs video over a pair of analog VGA connectors, as well as some more exotic outputs including digital LCD panel interfaces and Zoomed Video interfaces (used by devices in a laptop’s PCMCIA slot).
Toble_Miner’s work, which involved tweaking the driver on the latest Raspberry Pi OS Bullseye OS release because the “Broadcom PCIe host seems to hate write combining,” attracted the attention of developer and friend of the Tom’s Hardware Pi Cast, Jeff Geerling, who keeps a list of PCIe devices compatible with the Compute Module 4 on his GitHub page. He revealed that this was not the only SM750 (opens in new tab) card to have spluttered into life when attached to the diminutive processing board.
Enter the ASRock Rack M2_VGA. A graphics card that fits into the kind of M2 socket more commonly stuffed full of SSD (opens in new tab). This also uses the SM750 chipset, and according to Geerling, probably isn’t as powerful as the Pi’s built-in GPU. Having worked out that the M2 card requires external power, and recompiling the kernel, Geerling gets stuck, eventually emailing ASRock, who tell him the M2 board is meant for Intel servers, so may well not work on the Arm-based Pi.
The whole thread is worth a read if you’re interested in hacking GPU drivers to get cards to work in places they’re not meant to. More than a year after he started, Toble_Miner’s post about write combining seems to re-interest Geerling in the project, so we may be lucky and see a breakthrough in Pi graphics cards. Then we just need Nvidia to release an RTX card with a mini-PCIe (a single-lane of PCIe Gen 2, to be specific) interface.