Go to file
Laszlo Agocs 1f81ba45ee linuxfb: add experimental support for DRM dumb buffers
Add a QFbScreen implementation that uses DRM dumb buffers and page
flipping, thus implementing a vsynced, double (triple) buffered plain
software platform plugin. Besides better supporting systems that by
now only do fbdev via (possibly buggy) emulation, this can also be an
enabler for implementing certain types of 2D accelerated compositors
e.g. for Wayland.

Enable with QT_QPA_FB_DRM=1. Right now there is no good way to
autodetect the support for dumb buffers early enough so the default is
always the traditional fbdev path.

Long-term this will also enable proper multi-display support like with
eglfs' DRM backends. Multiple QScreens are not yet reported currently
due to the single-screen limitations of fbconvenience.

The generic DRM code is shared with eglfs, meaning configuration
happens via the JSON file specified in QT_QPA_(EGLFS_)KMS_CONFIG. This
allows changing the screen resolution, disabling outputs, etc.

[ChangeLog][Platform Specific Changes][linuxfb] Added experimental
support for DRM dumb buffers. Enable by setting the environment
variable QT_QPA_FB_DRM to 1.

Task-number: QTBUG-56306
Change-Id: I4bdcf16fff67412183220dffa0c4ea235c5cad3d
Reviewed-by: Andy Nichols <andy.nichols@qt.io>
2016-11-24 12:08:21 +00:00
bin don't include injected headers into linker version script 2016-10-14 09:00:29 +00:00
config.tests Merge "Merge remote-tracking branch 'origin/5.8' into dev" into refs/staging/dev 2016-11-18 08:01:52 +00:00
dist Merge remote-tracking branch 'origin/5.6' into 5.7 2016-09-28 11:51:35 +02:00
doc Merge remote-tracking branch 'origin/5.7' into 5.8 2016-11-01 06:02:55 +01:00
examples Merge remote-tracking branch 'origin/5.8' into dev 2016-11-17 14:43:26 +01:00
lib Purge all fonts 2015-08-18 19:59:14 +00:00
mkspecs Add a device spec for cross-compiling for the Qt Simulator 2016-11-24 08:29:08 +00:00
qmake Merge remote-tracking branch 'origin/5.8' into dev 2016-11-17 14:43:26 +01:00
src linuxfb: add experimental support for DRM dumb buffers 2016-11-24 12:08:21 +00:00
tests Replace QDrawHelperGammaTables with QColorProfile 2016-11-24 09:40:14 +00:00
tools Merge remote-tracking branch 'origin/5.8' into dev 2016-11-17 14:43:26 +01:00
util Handle indirect sibling selector 2016-07-27 20:18:02 +00:00
.gitattributes Update the git-archive export options 2012-09-07 15:39:31 +02:00
.gitignore rename configure.exe => configureapp.exe 2016-10-04 08:25:08 +00:00
.qmake.conf Bump version 2016-08-29 14:35:49 +02:00
.tag Update the git-archive export options 2012-09-07 15:39:31 +02:00
config_help.txt Remove all Multimedia related configuration options from qtbase 2016-11-15 14:00:00 +00:00
configure Merge remote-tracking branch 'origin/5.8' into dev 2016-11-17 14:43:26 +01:00
configure.bat rename configure.exe => configureapp.exe 2016-10-04 08:25:08 +00:00
configure.json Merge remote-tracking branch 'origin/5.8' into dev 2016-11-17 14:43:26 +01:00
configure.pri configure: turn qtConfOutputPostProcess_*() callbacks into replace functions 2016-11-15 22:44:41 +00:00
header.BSD Add new license header templates and license files 2016-01-14 20:43:46 +00:00
header.BSD-OLD Add new license header templates and license files 2016-01-14 20:43:46 +00:00
header.COMM Add header template for commercial only modules 2015-10-19 10:37:18 +00:00
header.FDL Add new license header templates and license files 2016-01-14 20:43:46 +00:00
header.FDL-OLD Add new license header templates and license files 2016-01-14 20:43:46 +00:00
header.GPL Add new license header templates and license files 2016-01-14 20:43:46 +00:00
header.GPL-EXCEPT Add new license header templates and license files 2016-01-14 20:43:46 +00:00
header.LGPL Add new license header templates and license files 2016-01-14 20:43:46 +00:00
header.LGPL3 Update copyright headers 2015-02-11 06:49:51 +00:00
header.LGPL3-COMM Update copyright headers 2015-02-11 06:49:51 +00:00
header.LGPL21 Update copyright headers 2015-02-11 06:49:51 +00:00
header.LGPL-NOGPL2 Add new license header templates and license files 2016-01-14 20:43:46 +00:00
header.LGPL-ONLY Update copyright headers 2015-02-11 06:49:51 +00:00
INSTALL Doc: Update links in INSTALL file 2015-02-16 09:06:41 +00:00
LGPL_EXCEPTION.txt Update copyright headers 2015-02-11 06:49:51 +00:00
LICENSE.FDL Initial import from the monolithic Qt. 2011-04-27 12:05:43 +02:00
LICENSE.GPL2 Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.GPL3 Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.GPL3-EXCEPT Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.GPLv3 Expand license scope from "Qt GUI Toolkit" to "Qt Toolkit" 2016-06-15 07:02:32 +00:00
LICENSE.LGPL3 Add new license header templates and license files 2016-01-14 20:43:46 +00:00
LICENSE.LGPLv3 Expand license scope from "Qt GUI Toolkit" to "Qt Toolkit" 2016-06-15 07:02:32 +00:00
LICENSE.LGPLv21 Expand license scope from "Qt GUI Toolkit" to "Qt Toolkit" 2016-06-15 07:02:32 +00:00
LICENSE.PREVIEW.COMMERCIAL Add new license header templates and license files 2016-01-14 20:43:46 +00:00
qtbase.pro Merge remote-tracking branch 'origin/5.7' into 5.8 2016-10-06 20:12:27 +02:00
sync.profile Merge remote-tracking branch 'origin/5.8' into dev 2016-11-17 14:43:26 +01:00