Priority: P2: Important
Affects Version/s: None
Fix Version/s: None
Component/s: QPA: LinuxFB
With fbdev being deprecated and even offered only via (sometimes broken) emulation on some recent embedded systems, linuxfb is in need of a counterpart that performs rendering via DRM/KMS.
Using dumb buffers is a good start - this in effect is equivalent to the unaccelerated linuxfb and is supported mostly everywhere .
A significant part of the code could be shared with eglfs_kms_support - this will involve moving around some stuff and creating kmsconvenience (i.e. QtKmsSupport with the new modularized platformsupport).
Additionally, it is good to keep in mind that this is also an enabler for certain type of 2D accelerated compositors: for instance, Wayland via V4L+VSP is based on DRM and dumb buffers.
that "everywhere" is wishful thinking though, for instance it turns out neither vmgfx (e.g. VMWare Workstation 12) nor the normal i.MX6 images support dumb buffers. Continuing support for plain old /dev/fb0 is clearly a must. Hence the idea of adding a double-buffered dumb buffer "backend" to linuxfb instead of creating a whole new plugin.
|For Gerrit Dashboard: QTBUG-56306|
|172772,8||WIP: kmsconvenience||5.8||qt/qtbase||Status: ABANDONED||-2||0|
|173376,5||Remove dead code from QFbWindow and Screen||dev||qt/qtbase||Status: MERGED||+2||0|
|173377,5||Clean up QFbCursor||dev||qt/qtbase||Status: MERGED||+2||0|
|173378,3||Clean up QFbBackingStore||dev||qt/qtbase||Status: ABANDONED||0||0|
|173379,6||fb platforms: migrate to fbconvenience changes||dev||qt/qtbase||Status: MERGED||+2||0|
|173380,3||Clean up QFbScreen and Window||dev||qt/qtbase||Status: ABANDONED||0||0|
|173412,6||linuxfb: Make first window fullscreen like eglfs||dev||qt/qtbase||Status: MERGED||+2||0|
|176326,6||Move DRM/KMS code from eglfs into kmsconvenience||dev||qt/qtbase||Status: MERGED||+2||0|
|176540,7||linuxfb: add experimental support for DRM dumb buffers||dev||qt/qtbase||Status: MERGED||-2||0|
|176836,2||Add aliases for env vars common to eglfs and linuxfb||dev||qt/qtbase||Status: MERGED||+2||0|