Most Allwinner based products still runs on vendor BSP kernels with out-of-tree display drivers. But with recent upstream Linux Kernel improvements, its now possible to simultaneously drive multiple display panels over different interfaces like LVDS and MIPI, using mainline DRM subsystem on Allwinner A133 and A523 SoCs.
In this talk, I will share my experience bringing up a multi-display setup with 2 x LVDS and 1 x MIPI panels on Allwinner A133 using upstream kernel [1] and [2]. We will go through how the Allwinner display engine works, what the device tree topology looks like when you have multiple active display pipelines, and what DRM/KMS changes matters to get this working correctly.
We will also look at the userspace side - how a compositor like Weston handles multi-display and the limitations you hit in practice. I will cover some of the real problems I hit during bringup, not just the happy path.
[1]: https://lore.kernel.org/linux-sunxi/
[email protected]/
[2]: https://lore.kernel.org/linux-sunxi/
[email protected]/