A lovely survey of the efforts, successes and failures. Really the article is about the fact that external graphics cards don’t work on the RPi, and what has been done to try to make them work, with some modest but real success at the end. My favorite part:
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. Some speculated the brokenness couldn’t be worked around, but as Winston Churchill once said: Success is stumbling from failure to failure with no loss of enthusiasm.
It’s a great article, both technically interesting and well written, but I find the idea of adding a graphics card to the RPi hilarious given the origin of the SoC. It was originally a graphics processor for set-top boxes that had an Arm core for some control-plane things. This is particularly apparent from the boot process, which starts on the GPU and then starts the Arm core from there. So, in effect, this article is about a mission to add an external GPU to a GPU.
Broadcom’s PCIe “implementation” is a crime against humanity. Synopsys’s at least has fun bugs like devices being duplicated into many slots because they left out packet filtering. Regular MMIO ops being completely broken is something else. This crap has no right to be called “PCIe”.
A lovely survey of the efforts, successes and failures. Really the article is about the fact that external graphics cards don’t work on the RPi, and what has been done to try to make them work, with some modest but real success at the end. My favorite part:
It’s a great article, both technically interesting and well written, but I find the idea of adding a graphics card to the RPi hilarious given the origin of the SoC. It was originally a graphics processor for set-top boxes that had an Arm core for some control-plane things. This is particularly apparent from the boot process, which starts on the GPU and then starts the Arm core from there. So, in effect, this article is about a mission to add an external GPU to a GPU.
Broadcom’s PCIe “implementation” is a crime against humanity. Synopsys’s at least has fun bugs like devices being duplicated into many slots because they left out packet filtering. Regular MMIO ops being completely broken is something else. This crap has no right to be called “PCIe”.