The State Of The VC4 Driver Stack, Early Work On VC5
Eric Anholt of Broadcom just finished presenting at XDC2017 Mountain View on the state of the VC4 driver stack most notably used by the Raspberry Pi devices. Additionally, he also shared about his early work on the VC5 driver for next-generation Broadcom graphics.
There weren't any big breakthroughs announced at this session (primarily if you were hoping for juicy VC5 details), but an overview for those curious. If you are behind on your VC4/VC5 readings on Phoronix, the highlights include:
- VC4 OpenGL performance is becoming good and competitive to the proprietary driver.
- The open-source VC4 DRM display stack is still getting into shape, but it's much better than where it was in the past.
- Raspbian is still shipping the closed-source graphics driver stack for now. In part the open-source display code isn't good enough yet.
- An interim solution that might come about for the default Raspbian driver stack is relying upon the proprietary display driver but with the VC4 Gallium3D driver. This would allow at least the Gallium3D OpenGL driver to be used while the VC4 display code evolves, including needing more reliable HDMI, i2c input driver for DSI panels, overlay/panel drivers for different DPI panels, and other items needing to be improved upon.
- When the complete transition to the open-source driver stack happens, a lot of the closed-source firmware will be able to be stripped out from Raspbian.
- As covered previously, the next-gen VC5 hardware driver will support OpenGL ES 3.1 and Vulkan support. There's also an MMU, to the excitement of Eric. The shader ISA is also better and FP16 support,
- The VC5 Gallium3D driver will likely be merged to mainline Mesa in the very near future. But this initial version will not ship with any VC5 kernel support until that DRM driver has been merged to upstream with a stable ABI.
- The VC5 "BCMV" Vulkan driver was started earlier this month. It's not properly working yet, but based on the Intel ANV driver in part along with some shared bits from RADV.
The video is embedded below and begins about one hour into the recording: