The Embedded Linux Confernce is on-going, and the Linux Foundation has been uploading videos about talks in a timely manner on YouTube. I checked out at RISC-V keynote yesterday, but today I’ve watched a talk by Robert Foss (his real name, not related to FOSS) from Collabora entitled “Progress in the Embedded GPU Ecosystem”, where he discusses open source software support in Linux/Mesa from companies and reverse-engineering support.
The first part deals with the history of embedded GPU support, especially when it comes to company support. Intel was the first and offers very good support for their drivers, following by AMD who also is a good citizen. NVIDIA has the Nouveau driver but they did not really backed it up, and Tegra support is apparently sponsored by an aircraft supplier. Other companies have been slower to help, but Qualcomm has made progress since 2015 and now support all their hardware, Broadcom has a “one man team” handling VideoCore IV/V, and Vivante driver has been reverse-engineered (etnaviv) and is now also supported an aircraft supplier. Imagination and Arm have not done so well, with the latter having never contributed anything at all, and the former providing some (partial) patchsets that cannot be upstreamed to Mesa.
Then he went through upstream support for vendors since 2009. Some vendors have both a reverse-engineering and upstream mesa timeline, but the one that do the work themselves (like Intel / AMD) only have the latter. He also lists some of development platforms like Raspberry Pi 3 for Broadcom VideoCore IV, DragonBoard 410C/820c for Qualcomm Adreno, or ASUS Tinker board / Hikey960 board for Arm Mali GPU. We’ve just told Arm did not contribute but there are some efforts to reverse-engineering Mali-GXX Bitfrost and Mali-Txx GPUs.
Robert also coverd what’s next with OpenGL improvements, and work to be done on OpenCL including support for SPIR-V in LLVM compiler, as well as Vulkan where he only mentioned AMD RADV & ANDVLK, and Intel ANV.
He also provided some interesting insights in his latest “Big Picture” section, claiming Intel, AND and Qualcomm GPU drivers are mature, reverse-engineering typically takes between 0 and 3 years, OpenCL is hard, and the reason why aircraft suppliers seems to need open source GPU drivers is that they require 20+ year long term support, and can’t take the risk to stay on an outdated kernel with closed-source binary drivers.
The presentation slides are also up for download.