Open Source Multimedia
Many Embedded Linux systems in the “control & monitoring” area have a modern graphical interface, e.g. with touchscreen (capacitive, resistive) and gesture control, or include video features. The kernel-side frameworks are supplemented by frameworks in user space:
- DRM: Kernel support for synchronized graphics with planes
- V4L2: Kernel support for streaming media, cameras, codecs
- GUI: Qt5/QML, web browsers with OpenGL acceleration
- Media frameworks: GStreamer, PulseAudio
On the application level, our customers use frameworks such as Qt or web browsers, adapted to the special requirements of embedded systems (no window decorations, hitting optimal performance paths of the hardware) and usually integrated with build systems (yocto, ptxdist) for reproducibility.
Streaming Media Development
The Pengutronix graphics team develops core drivers for streaming media components for customers, adds new functionality to the existing kernel frameworks and writes extensive and complex media pipelines in GStreamer. Performance optimization is often the focus. The goal of the development is usually an “extended prototype”, based on which the customer can write his own application.
3D Graphics Drivers
The support of complex 3D graphics cores is another task for our graphics team. This includes DRM drivers in the kernel, Gallium drivers in MESA, improvements to Wayland/Weston as well as other components. Our focus is on the complete support of the respective hardware in the upstream projects.
As an example, Etnaviv is the open source 3D driver for the GPUs i.e. in i.MX6, i.MX8 and STM32MP1 SoCs; the kernel driver is maintained by our team. With open source drivers it is possible to solve even complex bugs and performance issues in a long term maintainable way.