To make things easier on yourself, blacklist the radeon driver before copying the cross-compiled kernel to the Pi. I've been working on a 5.15.y update to that branch, but that version isn't quite working yet, since some of the overridden AMD driver flags we modified were removed between Linux 5.10 and 5.15. Alternatively, you can clone the raspberrypi/linux source at rpi-5.10.y, and apply Coreforge's branch as a patch file. On a Compute Module 4, the process takes almost an hour.īefore compiling Linux, you need to make sure the branch that's checked out is this branch, from Coreforge's Pi OS Linux fork. Why cross-compile? Well, a fresh compilation takes between 6-10 minutes on my main workstation. That setup should work on any Mac or Linux workstation. The exact environment and process I follow is thoroughly documented here: Raspberry Pi Linux Cross-compilation Environment. Then I went to my main workstation and cross-compiled the Raspberry Pi kernel. I put that card in my Raspberry Pi, and installed AMD's firmware with sudo apt install -y firmware-amd-graphics. I downloaded -raspios-bullseye-arm64-full.zip from here and expanded it, then used Raspberry Pi Imager to flash it to a microSD card. The current working patch is based off the previous 5.10.y Linux fork Raspberry Pi maintained, so you need to flash a copy of Raspberry Pi OS from earlier this year (not the latest). An AMD Radeon graphics card in the 5000/6000/7000 line (We've confirmed at least the 5450, 6450, and 7470 work).PCIe x1 to x16 riser/adapter (if the IO board you have only has a x1 slot).Raspberry Pi Compute Module 4 IO Board (or another IO board with a PCI Express slot).Raspberry Pi Compute Module 4 (hard to find currently, check rpilocator for stock).I've also made the video embedded below, to help illustrate the journey, and to show more about how the graphics cards are-and aren't-working on the Pi:īefore you get started, you'll need to have on hand: This issue in particular, with over 490 comments as of this writing, documents dozens of failures in one central location, to the point where they could be categorized and worked around in a set of patches to the open source radeon driver. Success is stumbling from failure to failure with no loss of enthusiasm. Some speculated the brokenness couldn't be worked around, but as Winston Churchill once said: What we found is the BCM2711's PCIe root complex is fundamentally broken, at least when it comes to some memory operations on 64-bit Linux. After failing to get those cards working, I tested a newer GTX 1080, and even splurged on an AMD Radeon RX 6700 XT on the Pi-which also didn't work.Īlong the way, dozens of people (from AMD engineers, to ARM enthusiasts, to fellow hobbyists like me) helped explore the dark, dusty corners of the BCM2711-Broadcom's ARM SoC that powers the Raspberry Pi Compute Module 4. In October 2020, after Raspberry Pi introduced the Compute Module 4, I started out on a journey to get an external graphics card working on the Pi.Īt the time, it'd been over a decade since the last time I'd built a PC, and I had a lot to learn about PCI Express, the state of graphics card drivers in Linux, and PCI Express support on various ARM SoCs.Īfter failing to get the Nvidia GT710 or AMD 5450 running, I started testing the GTX 750 Ti, RX 550, and SM750, all with wildly different architectures and driver support.
0 Comments
Leave a Reply. |