Qt's Comprehensive Display/Graphics Options
Qt developer Laszlo Agocs has written a thorough walkthrough for the official Qt blog about the different Qt graphics options with multiple displays on embedded Linux.
This walkthrough provides a look at the state of Qt graphics on Qt 5.7~5.8, particularly for the embedded use-case. Among the backend options for Qt with EGLFS are KMS/DRM using GBM buffers, KMS/DRM with EGLStreams, Vivante fbdev, Broadcom Dispmanx (Raspberry Pi), Mali fbdev, and X11 full-screen windows. Yes, Qt does support KMS/DRM with EGLStreams/EGLDevice for NVIDIA's Linux driver support -- for those that didn't know, the approach NVIDIA has been pursuing for NVIDIA Wayland support.
With the upcoming Qt 5.8 back-end, the GBM and EGLStream code-paths in Qt are closer to parity, there is more advanced configurability, virtual desktop work, and other improvements. Part of the reason Qt is supporting the NVIDIA EGLStreams approach is for supporting Tegra devices on Wayland, such as with the DRIVE CX and other Tegra solutions that are popular with in-vehicle systems where Qt is also widely-used.
For those wishing to learn more about Qt's embedded display support, see this blog post from Qt.io for a modern overview.
This walkthrough provides a look at the state of Qt graphics on Qt 5.7~5.8, particularly for the embedded use-case. Among the backend options for Qt with EGLFS are KMS/DRM using GBM buffers, KMS/DRM with EGLStreams, Vivante fbdev, Broadcom Dispmanx (Raspberry Pi), Mali fbdev, and X11 full-screen windows. Yes, Qt does support KMS/DRM with EGLStreams/EGLDevice for NVIDIA's Linux driver support -- for those that didn't know, the approach NVIDIA has been pursuing for NVIDIA Wayland support.
With the upcoming Qt 5.8 back-end, the GBM and EGLStream code-paths in Qt are closer to parity, there is more advanced configurability, virtual desktop work, and other improvements. Part of the reason Qt is supporting the NVIDIA EGLStreams approach is for supporting Tegra devices on Wayland, such as with the DRIVE CX and other Tegra solutions that are popular with in-vehicle systems where Qt is also widely-used.
For those wishing to learn more about Qt's embedded display support, see this blog post from Qt.io for a modern overview.
16 Comments