summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorElvis Lee <kwangwoong.lee@lge.com>2020-07-09 17:26:01 +0900
committerElvis Lee <kwangwoong.lee@lge.com>2020-10-23 16:46:02 +0900
commitee3adcc64227e1a27b36c8ca69ead415cf2fd644 (patch)
tree9e73df60b33672a3948d9a3b1c532cec4b752bf0
parent47d2f3cfe836be897a737d434140b4be03e9320f (diff)
Export gbm device integration to build it outside
Support external build for device integration which uses kms and gbm. QKmsScreenConfig supports inheritance to consider platform specific screen configuration. Task-number: QTBUG-85268 Change-Id: Iac58898a9cf0bb1d53237a719667a6ebd53d88b9 Reviewed-by: Elvis Lee <kwangwoong.lee@lge.com> Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>
-rw-r--r--src/platformsupport/kmsconvenience/qkmsdevice.cpp1
-rw-r--r--src/platformsupport/kmsconvenience/qkmsdevice_p.h6
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/CMakeLists.txt40
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/eglfs_kms-plugin.pro17
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/eglfs_kms.pro33
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/eglfs_kms_gbm_support.pro25
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmcursor.cpp6
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmcursor_p.h (renamed from src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmcursor.h)11
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmdevice.cpp15
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmdevice_p.h (renamed from src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmdevice.h)18
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp10
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration_p.h (renamed from src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.h)15
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmmain.cpp2
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmscreen.cpp6
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmscreen_p.h (renamed from src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmscreen.h)21
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmwindow.cpp6
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmwindow_p.h (renamed from src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmwindow.h)13
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_egldevice/qeglfskmsegldevice.h2
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_egldevice/qeglfskmsegldeviceintegration.h2
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_egldevice/qeglfskmsegldevicescreen.h2
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/.prev_CMakeLists.txt11
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/CMakeLists.txt11
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/eglfs_kms_support.pro12
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsdevice.cpp4
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsdevice_p.h (renamed from src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsdevice.h)13
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmseventreader.cpp4
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmseventreader_p.h (renamed from src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmseventreader.h)11
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmshelpers_p.h (renamed from src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmshelpers.h)11
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsintegration.cpp21
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsintegration_p.h (renamed from src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsintegration.h)14
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsscreen.cpp4
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsscreen_p.h (renamed from src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsscreen.h)11
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_vsp2/qeglfskmsvsp2device.h2
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_vsp2/qeglfskmsvsp2integration.h2
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_vsp2/qeglfskmsvsp2screen.cpp2
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_vsp2/qeglfskmsvsp2screen.h2
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_vsp2/qlinuxmediadevice.cpp2
-rw-r--r--src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_vsp2/qvsp2blendingdevice.cpp2
-rw-r--r--src/plugins/platforms/linuxfb/qlinuxfbdrmscreen.cpp1
-rw-r--r--sync.profile2
40 files changed, 280 insertions, 113 deletions
diff --git a/src/platformsupport/kmsconvenience/qkmsdevice.cpp b/src/platformsupport/kmsconvenience/qkmsdevice.cpp
index 1ec9c869d7..4206b20a83 100644
--- a/src/platformsupport/kmsconvenience/qkmsdevice.cpp
+++ b/src/platformsupport/kmsconvenience/qkmsdevice.cpp
@@ -1033,7 +1033,6 @@ QKmsScreenConfig::QKmsScreenConfig()
, m_pbuffers(false)
, m_virtualDesktopLayout(VirtualDesktopLayoutHorizontal)
{
- loadConfig();
}
void QKmsScreenConfig::loadConfig()
diff --git a/src/platformsupport/kmsconvenience/qkmsdevice_p.h b/src/platformsupport/kmsconvenience/qkmsdevice_p.h
index b7233b29f9..edc7e61e01 100644
--- a/src/platformsupport/kmsconvenience/qkmsdevice_p.h
+++ b/src/platformsupport/kmsconvenience/qkmsdevice_p.h
@@ -111,6 +111,7 @@ public:
};
QKmsScreenConfig();
+ virtual ~QKmsScreenConfig() {}
QString devicePath() const { return m_devicePath; }
@@ -122,10 +123,9 @@ public:
VirtualDesktopLayout virtualDesktopLayout() const { return m_virtualDesktopLayout; }
QMap<QString, QVariantMap> outputSettings() const { return m_outputSettings; }
+ virtual void loadConfig();
-private:
- void loadConfig();
-
+protected:
QString m_devicePath;
bool m_headless;
QSize m_headlessSize;
diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/CMakeLists.txt b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/CMakeLists.txt
index 3f27a9c397..a790a01c62 100644
--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/CMakeLists.txt
+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/CMakeLists.txt
@@ -1,6 +1,35 @@
# Generated from eglfs_kms.pro.
#####################################################################
+## EglFsKmsGbmSupport Module:
+#####################################################################
+
+qt_internal_add_module(EglFsKmsGbmSupport
+ INTERNAL_MODULE
+ SOURCES
+ qeglfskmsgbmcursor.cpp qeglfskmsgbmcursor_p.h
+ qeglfskmsgbmdevice.cpp qeglfskmsgbmdevice_p.h
+ qeglfskmsgbmintegration.cpp qeglfskmsgbmintegration_p.h
+ qeglfskmsgbmscreen.cpp qeglfskmsgbmscreen_p.h
+ qeglfskmsgbmwindow.cpp qeglfskmsgbmwindow_p.h
+ DEFINES
+ QT_EGL_NO_X11
+ INCLUDE_DIRECTORIES
+ ../../api
+ ../eglfs_kms_support
+ PUBLIC_LIBRARIES
+ Libdrm::Libdrm
+ Qt::Core
+ Qt::CorePrivate
+ Qt::EglFSDeviceIntegrationPrivate
+ Qt::EglFsKmsSupportPrivate
+ Qt::Gui
+ Qt::GuiPrivate
+ Qt::KmsSupportPrivate
+ gbm::gbm
+)
+
+#####################################################################
## QEglFSKmsGbmIntegrationPlugin Plugin:
#####################################################################
@@ -8,22 +37,15 @@ qt_internal_add_plugin(QEglFSKmsGbmIntegrationPlugin
OUTPUT_NAME qeglfs-kms-integration
TYPE egldeviceintegrations
SOURCES
- qeglfskmsgbmcursor.cpp qeglfskmsgbmcursor.h
- qeglfskmsgbmdevice.cpp qeglfskmsgbmdevice.h
- qeglfskmsgbmintegration.cpp qeglfskmsgbmintegration.h
qeglfskmsgbmmain.cpp
- qeglfskmsgbmscreen.cpp qeglfskmsgbmscreen.h
- qeglfskmsgbmwindow.cpp qeglfskmsgbmwindow.h
DEFINES
QT_EGL_NO_X11
- INCLUDE_DIRECTORIES
- ../../api
- ../eglfs_kms_support
PUBLIC_LIBRARIES
Libdrm::Libdrm
Qt::Core
Qt::CorePrivate
Qt::EglFSDeviceIntegrationPrivate
+ Qt::EglFsKmsGbmSupportPrivate
Qt::EglFsKmsSupportPrivate
Qt::Gui
Qt::GuiPrivate
@@ -31,5 +53,5 @@ qt_internal_add_plugin(QEglFSKmsGbmIntegrationPlugin
gbm::gbm
)
-#### Keys ignored in scope 1:.:.:eglfs_kms.pro:<TRUE>:
+#### Keys ignored in scope 1:.:.:eglfs_kms-plugin.pro:<TRUE>:
# OTHER_FILES = "$$PWD/eglfs_kms.json"
diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/eglfs_kms-plugin.pro b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/eglfs_kms-plugin.pro
new file mode 100644
index 0000000000..37c0e09c74
--- /dev/null
+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/eglfs_kms-plugin.pro
@@ -0,0 +1,17 @@
+TARGET = qeglfs-kms-integration
+
+PLUGIN_TYPE = egldeviceintegrations
+PLUGIN_CLASS_NAME = QEglFSKmsGbmIntegrationPlugin
+load(qt_plugin)
+
+QT += core-private gui-private eglfsdeviceintegration-private eglfs_kms_support-private kms_support-private eglfs_kms_gbm_support-private
+
+# Avoid X11 header collision, use generic EGL native types
+DEFINES += QT_EGL_NO_X11
+
+QMAKE_USE += gbm drm
+CONFIG += egl
+
+SOURCES += $$PWD/qeglfskmsgbmmain.cpp
+
+OTHER_FILES += $$PWD/eglfs_kms.json
diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/eglfs_kms.pro b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/eglfs_kms.pro
index caf723155a..23063c052e 100644
--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/eglfs_kms.pro
+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/eglfs_kms.pro
@@ -1,30 +1,5 @@
-TARGET = qeglfs-kms-integration
+TEMPLATE = subdirs
+CONFIG += ordered
-PLUGIN_TYPE = egldeviceintegrations
-PLUGIN_CLASS_NAME = QEglFSKmsGbmIntegrationPlugin
-load(qt_plugin)
-
-QT += core-private gui-private eglfsdeviceintegration-private eglfs_kms_support-private kms_support-private
-
-INCLUDEPATH += $$PWD/../../api $$PWD/../eglfs_kms_support
-
-# Avoid X11 header collision, use generic EGL native types
-DEFINES += QT_EGL_NO_X11
-
-QMAKE_USE += gbm drm
-CONFIG += egl
-
-SOURCES += $$PWD/qeglfskmsgbmmain.cpp \
- $$PWD/qeglfskmsgbmintegration.cpp \
- $$PWD/qeglfskmsgbmdevice.cpp \
- $$PWD/qeglfskmsgbmscreen.cpp \
- $$PWD/qeglfskmsgbmcursor.cpp \
- $$PWD/qeglfskmsgbmwindow.cpp
-
-HEADERS += $$PWD/qeglfskmsgbmintegration.h \
- $$PWD/qeglfskmsgbmdevice.h \
- $$PWD/qeglfskmsgbmscreen.h \
- $$PWD/qeglfskmsgbmcursor.h \
- $$PWD/qeglfskmsgbmwindow.h
-
-OTHER_FILES += $$PWD/eglfs_kms.json
+SUBDIRS += eglfs_kms_gbm_support.pro
+SUBDIRS += eglfs_kms-plugin.pro
diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/eglfs_kms_gbm_support.pro b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/eglfs_kms_gbm_support.pro
new file mode 100644
index 0000000000..7fde6f81d7
--- /dev/null
+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/eglfs_kms_gbm_support.pro
@@ -0,0 +1,25 @@
+TARGET = QtEglFsKmsGbmSupport
+CONFIG += internal_module
+load(qt_module)
+
+QT += core-private gui-private eglfsdeviceintegration-private eglfs_kms_support-private kms_support-private
+
+INCLUDEPATH += $$PWD/../../api $$PWD/../eglfs_kms_support
+
+# Avoid X11 header collision, use generic EGL native types
+DEFINES += QT_EGL_NO_X11
+
+QMAKE_USE += gbm drm
+CONFIG += egl
+
+SOURCES += $$PWD/qeglfskmsgbmintegration.cpp \
+ $$PWD/qeglfskmsgbmdevice.cpp \
+ $$PWD/qeglfskmsgbmscreen.cpp \
+ $$PWD/qeglfskmsgbmcursor.cpp \
+ $$PWD/qeglfskmsgbmwindow.cpp
+
+HEADERS += $$PWD/qeglfskmsgbmintegration_p.h \
+ $$PWD/qeglfskmsgbmdevice_p.h \
+ $$PWD/qeglfskmsgbmscreen_p.h \
+ $$PWD/qeglfskmsgbmcursor_p.h \
+ $$PWD/qeglfskmsgbmwindow_p.h
diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmcursor.cpp b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmcursor.cpp
index c802b8e112..b6d2a17079 100644
--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmcursor.cpp
+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmcursor.cpp
@@ -39,9 +39,9 @@
**
****************************************************************************/
-#include "qeglfskmsgbmcursor.h"
-#include "qeglfskmsgbmscreen.h"
-#include "qeglfskmsgbmdevice.h"
+#include "qeglfskmsgbmcursor_p.h"
+#include "qeglfskmsgbmscreen_p.h"
+#include "qeglfskmsgbmdevice_p.h"
#include <QtCore/QFile>
#include <QtCore/QJsonDocument>
diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmcursor.h b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmcursor_p.h
index 55420cef62..0d4a472d79 100644
--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmcursor.h
+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmcursor_p.h
@@ -40,6 +40,17 @@
#ifndef QEGLFSKMSGBMCURSOR_H
#define QEGLFSKMSGBMCURSOR_H
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
#include <qpa/qplatformcursor.h>
#include <QtCore/QList>
#include <QtGui/QImage>
diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmdevice.cpp b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmdevice.cpp
index d32e36b04d..c561b2072e 100644
--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmdevice.cpp
+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmdevice.cpp
@@ -39,8 +39,8 @@
**
****************************************************************************/
-#include "qeglfskmsgbmdevice.h"
-#include "qeglfskmsgbmscreen.h"
+#include "qeglfskmsgbmdevice_p.h"
+#include "qeglfskmsgbmscreen_p.h"
#include "qeglfsintegration_p.h"
@@ -131,14 +131,19 @@ void QEglFSKmsGbmDevice::destroyGlobalCursor()
}
}
-QPlatformScreen *QEglFSKmsGbmDevice::createScreen(const QKmsOutput &output)
+void QEglFSKmsGbmDevice::createGlobalCursor(QEglFSKmsGbmScreen *screen)
{
- QEglFSKmsGbmScreen *screen = new QEglFSKmsGbmScreen(this, output, false);
-
if (!m_globalCursor && screenConfig()->hwCursor()) {
qCDebug(qLcEglfsKmsDebug, "Creating new global GBM mouse cursor");
m_globalCursor = new QEglFSKmsGbmCursor(screen);
}
+}
+
+QPlatformScreen *QEglFSKmsGbmDevice::createScreen(const QKmsOutput &output)
+{
+ QEglFSKmsGbmScreen *screen = new QEglFSKmsGbmScreen(this, output, false);
+
+ createGlobalCursor(screen);
return screen;
}
diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmdevice.h b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmdevice_p.h
index 1964b30c5e..5a9cdb1565 100644
--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmdevice.h
+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmdevice_p.h
@@ -42,8 +42,19 @@
#ifndef QEGLFSKMSGBMDEVICE_H
#define QEGLFSKMSGBMDEVICE_H
-#include "qeglfskmsgbmcursor.h"
-#include <qeglfskmsdevice.h>
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include "qeglfskmsgbmcursor_p.h"
+#include <qeglfskmsdevice_p.h>
#include <gbm.h>
@@ -51,7 +62,7 @@ QT_BEGIN_NAMESPACE
class QEglFSKmsScreen;
-class QEglFSKmsGbmDevice: public QEglFSKmsDevice
+class Q_EGLFS_EXPORT QEglFSKmsGbmDevice: public QEglFSKmsDevice
{
public:
QEglFSKmsGbmDevice(QKmsScreenConfig *screenConfig, const QString &path);
@@ -64,6 +75,7 @@ public:
QPlatformCursor *globalCursor() const;
void destroyGlobalCursor();
+ void createGlobalCursor(QEglFSKmsGbmScreen *screen);
QPlatformScreen *createScreen(const QKmsOutput &output) override;
QPlatformScreen *createHeadlessScreen() override;
diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp
index caa1187b40..791512237e 100644
--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp
+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp
@@ -39,11 +39,11 @@
**
****************************************************************************/
-#include "qeglfskmsgbmintegration.h"
-#include "qeglfskmsgbmdevice.h"
-#include "qeglfskmsgbmscreen.h"
-#include "qeglfskmsgbmcursor.h"
-#include "qeglfskmsgbmwindow.h"
+#include "qeglfskmsgbmintegration_p.h"
+#include "qeglfskmsgbmdevice_p.h"
+#include "qeglfskmsgbmscreen_p.h"
+#include "qeglfskmsgbmcursor_p.h"
+#include "qeglfskmsgbmwindow_p.h"
#include "private/qeglfscursor_p.h"
#include <QtCore/QLoggingCategory>
diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.h b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration_p.h
index 71f232abf9..823e5f2c09 100644
--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.h
+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration_p.h
@@ -42,7 +42,18 @@
#ifndef QEGLFSKMSGBMINTEGRATION_H
#define QEGLFSKMSGBMINTEGRATION_H
-#include "qeglfskmsintegration.h"
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include <private/qeglfskmsintegration_p.h>
#include <QtCore/QMap>
#include <QtCore/QVariant>
@@ -50,7 +61,7 @@ QT_BEGIN_NAMESPACE
class QEglFSKmsDevice;
-class QEglFSKmsGbmIntegration : public QEglFSKmsIntegration
+class Q_EGLFS_EXPORT QEglFSKmsGbmIntegration : public QEglFSKmsIntegration
{
public:
QEglFSKmsGbmIntegration();
diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmmain.cpp b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmmain.cpp
index 945c8b4255..65203d93c7 100644
--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmmain.cpp
+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmmain.cpp
@@ -39,7 +39,7 @@
****************************************************************************/
#include "private/qeglfsdeviceintegration_p.h"
-#include "qeglfskmsgbmintegration.h"
+#include "qeglfskmsgbmintegration_p.h"
QT_BEGIN_NAMESPACE
diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmscreen.cpp b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmscreen.cpp
index 8330a97f94..69a8aede56 100644
--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmscreen.cpp
+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmscreen.cpp
@@ -39,9 +39,9 @@
**
****************************************************************************/
-#include "qeglfskmsgbmscreen.h"
-#include "qeglfskmsgbmdevice.h"
-#include "qeglfskmsgbmcursor.h"
+#include "qeglfskmsgbmscreen_p.h"
+#include "qeglfskmsgbmdevice_p.h"
+#include "qeglfskmsgbmcursor_p.h"
#include "qeglfsintegration_p.h"
#include <QtCore/QLoggingCategory>
diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmscreen.h b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmscreen_p.h
index 2be1630e19..72986b45c8 100644
--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmscreen.h
+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmscreen_p.h
@@ -42,7 +42,18 @@
#ifndef QEGLFSKMSGBMSCREEN_H
#define QEGLFSKMSGBMSCREEN_H
-#include "qeglfskmsscreen.h"
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
+#include "qeglfskmsscreen_p.h"
#include <QMutex>
#include <QWaitCondition>
@@ -52,7 +63,7 @@ QT_BEGIN_NAMESPACE
class QEglFSKmsGbmCursor;
-class QEglFSKmsGbmScreen : public QEglFSKmsScreen
+class Q_EGLFS_EXPORT QEglFSKmsGbmScreen : public QEglFSKmsScreen
{
public:
QEglFSKmsGbmScreen(QEglFSKmsDevice *device, const QKmsOutput &output, bool headless);
@@ -68,13 +79,13 @@ public:
void waitForFlip() override;
- void flip();
+ virtual void flip();
+ virtual void updateFlipStatus();
-private:
+protected:
void flipFinished();
void ensureModeSet(uint32_t fb);
void cloneDestFlipFinished(QEglFSKmsGbmScreen *cloneDestScreen);
- void updateFlipStatus();
gbm_surface *m_gbm_surface;
diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmwindow.cpp b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmwindow.cpp
index b5f34ae200..426fb8f4e9 100644
--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmwindow.cpp
+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmwindow.cpp
@@ -37,9 +37,9 @@
**
****************************************************************************/
-#include "qeglfskmsgbmwindow.h"
-#include "qeglfskmsgbmintegration.h"
-#include "qeglfskmsgbmscreen.h"
+#include "qeglfskmsgbmwindow_p.h"
+#include "qeglfskmsgbmintegration_p.h"
+#include "qeglfskmsgbmscreen_p.h"
#include <QtGui/private/qeglconvenience_p.h>
diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmwindow.h b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmwindow_p.h
index ee4b7978f1..103361b60b 100644
--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmwindow.h
+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmwindow_p.h
@@ -42,13 +42,24 @@
#ifndef QEGLFSKMSGBMWINDOW_H
#define QEGLFSKMSGBMWINDOW_H
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
#include "private/qeglfswindow_p.h"
QT_BEGIN_NAMESPACE
class QEglFSKmsGbmIntegration;
-class QEglFSKmsGbmWindow : public QEglFSWindow
+class Q_EGLFS_EXPORT QEglFSKmsGbmWindow : public QEglFSWindow
{
public:
QEglFSKmsGbmWindow(QWindow *w, const QEglFSKmsGbmIntegration *integration)
diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_egldevice/qeglfskmsegldevice.h b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_egldevice/qeglfskmsegldevice.h
index 8d469879ab..aa321e0982 100644
--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_egldevice/qeglfskmsegldevice.h
+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_egldevice/qeglfskmsegldevice.h
@@ -40,7 +40,7 @@
#ifndef QEGLFSKMSEGLDEVICE_H
#define QEGLFSKMSEGLDEVICE_H
-#include <qeglfskmsdevice.h>
+#include <qeglfskmsdevice_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_egldevice/qeglfskmsegldeviceintegration.h b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_egldevice/qeglfskmsegldeviceintegration.h
index 8fbbe56412..6299c3259a 100644
--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_egldevice/qeglfskmsegldeviceintegration.h
+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_egldevice/qeglfskmsegldeviceintegration.h
@@ -41,7 +41,7 @@
#ifndef QEGLFSKMSEGLDEVICEINTEGRATION_H
#define QEGLFSKMSEGLDEVICEINTEGRATION_H
-#include <qeglfskmsintegration.h>
+#include <qeglfskmsintegration_p.h>
#include <xf86drm.h>
#include <xf86drmMode.h>
diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_egldevice/qeglfskmsegldevicescreen.h b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_egldevice/qeglfskmsegldevicescreen.h
index 961398ba3e..7cede5afbe 100644
--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_egldevice/qeglfskmsegldevicescreen.h
+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_egldevice/qeglfskmsegldevicescreen.h
@@ -40,7 +40,7 @@
#ifndef QEGLFSKMSEGLDEVICESCREEN_H
#define QEGLFSKMSEGLDEVICESCREEN_H
-#include <qeglfskmsscreen.h>
+#include <qeglfskmsscreen_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/.prev_CMakeLists.txt b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/.prev_CMakeLists.txt
index 3d600c52f1..a46d1675c2 100644
--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/.prev_CMakeLists.txt
+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/.prev_CMakeLists.txt
@@ -6,13 +6,12 @@
qt_internal_add_module(EglFsKmsSupport
INTERNAL_MODULE
- NO_MODULE_HEADERS
SOURCES
- qeglfskmsdevice.cpp qeglfskmsdevice.h
- qeglfskmseventreader.cpp qeglfskmseventreader.h
- qeglfskmshelpers.h
- qeglfskmsintegration.cpp qeglfskmsintegration.h
- qeglfskmsscreen.cpp qeglfskmsscreen.h
+ qeglfskmsdevice.cpp qeglfskmsdevice_p.h
+ qeglfskmseventreader.cpp qeglfskmseventreader_p.h
+ qeglfskmshelpers_p.h
+ qeglfskmsintegration.cpp qeglfskmsintegration_p.h
+ qeglfskmsscreen.cpp qeglfskmsscreen_p.h
DEFINES
QT_EGL_NO_X11
INCLUDE_DIRECTORIES
diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/CMakeLists.txt b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/CMakeLists.txt
index d71f1407f8..641ef48612 100644
--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/CMakeLists.txt
+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/CMakeLists.txt
@@ -6,13 +6,12 @@
qt_internal_add_module(EglFsKmsSupport
INTERNAL_MODULE
- NO_MODULE_HEADERS
SOURCES
- qeglfskmsdevice.cpp qeglfskmsdevice.h
- qeglfskmseventreader.cpp qeglfskmseventreader.h
- qeglfskmshelpers.h
- qeglfskmsintegration.cpp qeglfskmsintegration.h
- qeglfskmsscreen.cpp qeglfskmsscreen.h
+ qeglfskmsdevice.cpp qeglfskmsdevice_p.h
+ qeglfskmseventreader.cpp qeglfskmseventreader_p.h
+ qeglfskmshelpers_p.h
+ qeglfskmsintegration.cpp qeglfskmsintegration_p.h
+ qeglfskmsscreen.cpp qeglfskmsscreen_p.h
DEFINES
QT_EGL_NO_X11
INCLUDE_DIRECTORIES
diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/eglfs_kms_support.pro b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/eglfs_kms_support.pro
index 42807b8862..cdc2e24f33 100644
--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/eglfs_kms_support.pro
+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/eglfs_kms_support.pro
@@ -1,5 +1,5 @@
TARGET = QtEglFsKmsSupport
-CONFIG += no_module_headers internal_module
+CONFIG += internal_module
load(qt_module)
QT += core-private gui-private eglfsdeviceintegration-private kms_support-private
@@ -17,8 +17,8 @@ SOURCES += $$PWD/qeglfskmsintegration.cpp \
$$PWD/qeglfskmsscreen.cpp \
$$PWD/qeglfskmseventreader.cpp
-HEADERS += $$PWD/qeglfskmsintegration.h \
- $$PWD/qeglfskmsdevice.h \
- $$PWD/qeglfskmsscreen.h \
- $$PWD/qeglfskmshelpers.h \
- $$PWD/qeglfskmseventreader.h
+HEADERS += $$PWD/qeglfskmsintegration_p.h \
+ $$PWD/qeglfskmsdevice_p.h \
+ $$PWD/qeglfskmsscreen_p.h \
+ $$PWD/qeglfskmshelpers_p.h \
+ $$PWD/qeglfskmseventreader_p.h
diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsdevice.cpp b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsdevice.cpp
index 4f0b0d7725..7316bd4d5b 100644
--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsdevice.cpp
+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsdevice.cpp
@@ -38,8 +38,8 @@
**
****************************************************************************/
-#include "qeglfskmsdevice.h"
-#include "qeglfskmsscreen.h"
+#include "qeglfskmsdevice_p.h"
+#include "qeglfskmsscreen_p.h"
#include "private/qeglfsintegration_p.h"
#include <QtGui/private/qguiapplication_p.h>
diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsdevice.h b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsdevice_p.h
index 34908aa60f..006f4a656e 100644
--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsdevice.h
+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsdevice_p.h
@@ -41,8 +41,19 @@
#ifndef QEGLFSKMSDEVICE_H
#define QEGLFSKMSDEVICE_H
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
#include "private/qeglfsglobal_p.h"
-#include "qeglfskmseventreader.h"
+#include "qeglfskmseventreader_p.h"
#include <QtKmsSupport/private/qkmsdevice_p.h>
QT_BEGIN_NAMESPACE
diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmseventreader.cpp b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmseventreader.cpp
index 645a0ae2e9..67606f895f 100644
--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmseventreader.cpp
+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmseventreader.cpp
@@ -37,8 +37,8 @@
**
****************************************************************************/
-#include "qeglfskmseventreader.h"
-#include "qeglfskmsdevice.h"
+#include "qeglfskmseventreader_p.h"
+#include "qeglfskmsdevice_p.h"
#include <QSocketNotifier>
#include <QCoreApplication>
#include <QLoggingCategory>
diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmseventreader.h b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmseventreader_p.h
index 4aa285b0fe..d5738e71cb 100644
--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmseventreader.h
+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmseventreader_p.h
@@ -40,6 +40,17 @@
#ifndef QEGLFSKKMSEVENTREADER_H
#define QEGLFSKKMSEVENTREADER_H
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
#include "private/qeglfsglobal_p.h"
#include <QObject>
#include <QThread>
diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmshelpers.h b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmshelpers_p.h
index c9e5f04a7b..89607c687b 100644
--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmshelpers.h
+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmshelpers_p.h
@@ -40,6 +40,17 @@
#ifndef QEGLFSKMSHELPERS_H
#define QEGLFSKMSHELPERS_H
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
#include <QString>
QT_BEGIN_NAMESPACE
diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsintegration.cpp b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsintegration.cpp
index 28b6b7df63..8d15449679 100644
--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsintegration.cpp
+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsintegration.cpp
@@ -39,8 +39,8 @@
**
****************************************************************************/
-#include "qeglfskmsintegration.h"
-#include "qeglfskmsscreen.h"
+#include "qeglfskmsintegration_p.h"
+#include "qeglfskmsscreen_p.h"
#include <QtKmsSupport/private/qkmsdevice_p.h>
@@ -55,18 +55,19 @@ QT_BEGIN_NAMESPACE
Q_LOGGING_CATEGORY(qLcEglfsKmsDebug, "qt.qpa.eglfs.kms")
QEglFSKmsIntegration::QEglFSKmsIntegration()
- : m_device(nullptr),
- m_screenConfig(new QKmsScreenConfig)
+ : m_device(nullptr)
{
}
QEglFSKmsIntegration::~QEglFSKmsIntegration()
{
- delete m_screenConfig;
}
void QEglFSKmsIntegration::platformInit()
{
+ qCDebug(qLcEglfsKmsDebug, "platformInit: Load Screen Config");
+ m_screenConfig = createScreenConfig();
+
qCDebug(qLcEglfsKmsDebug, "platformInit: Opening DRM device");
m_device = createDevice();
if (Q_UNLIKELY(!m_device->open()))
@@ -79,6 +80,8 @@ void QEglFSKmsIntegration::platformDestroy()
m_device->close();
delete m_device;
m_device = nullptr;
+ delete m_screenConfig;
+ m_screenConfig = nullptr;
}
EGLNativeDisplayType QEglFSKmsIntegration::platformDisplay() const
@@ -167,4 +170,12 @@ QKmsScreenConfig *QEglFSKmsIntegration::screenConfig() const
return m_screenConfig;
}
+QKmsScreenConfig *QEglFSKmsIntegration::createScreenConfig()
+{
+ QKmsScreenConfig *screenConfig = new QKmsScreenConfig;
+ screenConfig->loadConfig();
+
+ return screenConfig;
+}
+
QT_END_NAMESPACE
diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsintegration.h b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsintegration_p.h
index e2c37f60fc..8f7b0e3cb6 100644
--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsintegration.h
+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsintegration_p.h
@@ -42,6 +42,17 @@
#ifndef QEGLFSKMSINTEGRATION_H
#define QEGLFSKMSINTEGRATION_H
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
#include "private/qeglfsdeviceintegration_p.h"
#include <QtCore/QMap>
#include <QtCore/QVariant>
@@ -77,9 +88,10 @@ public:
protected:
virtual QKmsDevice *createDevice() = 0;
+ virtual QKmsScreenConfig *createScreenConfig();
QKmsDevice *m_device;
- QKmsScreenConfig *m_screenConfig;
+ QKmsScreenConfig *m_screenConfig = nullptr;
};
QT_END_NAMESPACE
diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsscreen.cpp b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsscreen.cpp
index ad8479d9ad..189dacb3a1 100644
--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsscreen.cpp
+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsscreen.cpp
@@ -39,8 +39,8 @@
**
****************************************************************************/
-#include "qeglfskmsscreen.h"
-#include "qeglfskmsdevice.h"
+#include "qeglfskmsscreen_p.h"
+#include "qeglfskmsdevice_p.h"
#include "qeglfsintegration_p.h"
#include <QtCore/QLoggingCategory>
diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsscreen.h b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsscreen_p.h
index 9f21a9e54b..db0aca0bd2 100644
--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsscreen.h
+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support/qeglfskmsscreen_p.h
@@ -42,6 +42,17 @@
#ifndef QEGLFSKMSSCREEN_H
#define QEGLFSKMSSCREEN_H
+//
+// W A R N I N G
+// -------------
+//
+// This file is not part of the Qt API. It exists purely as an
+// implementation detail. This header file may change from version to
+// version without notice, or even be removed.
+//
+// We mean it.
+//
+
#include "private/qeglfsscreen_p.h"
#include <QtCore/QList>
#include <QtCore/QMutex>
diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_vsp2/qeglfskmsvsp2device.h b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_vsp2/qeglfskmsvsp2device.h
index 3926f809c4..3fd024917b 100644
--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_vsp2/qeglfskmsvsp2device.h
+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_vsp2/qeglfskmsvsp2device.h
@@ -42,7 +42,7 @@
#ifndef QEGLFSKMSVSP2DEVICE_H
#define QEGLFSKMSVSP2DEVICE_H
-#include <qeglfskmsdevice.h>
+#include <qeglfskmsdevice_p.h>
#include <gbm.h>
diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_vsp2/qeglfskmsvsp2integration.h b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_vsp2/qeglfskmsvsp2integration.h
index a67d05488c..709c1812e7 100644
--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_vsp2/qeglfskmsvsp2integration.h
+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_vsp2/qeglfskmsvsp2integration.h
@@ -42,7 +42,7 @@
#ifndef QEGLFSKMSVSP2INTEGRATION_H
#define QEGLFSKMSVSP2INTEGRATION_H
-#include "qeglfskmsintegration.h"
+#include "qeglfskmsintegration_p.h"
#include <QtCore/QMap>
#include <QtCore/QVariant>
diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_vsp2/qeglfskmsvsp2screen.cpp b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_vsp2/qeglfskmsvsp2screen.cpp
index c255bc84b7..981adbd510 100644
--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_vsp2/qeglfskmsvsp2screen.cpp
+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_vsp2/qeglfskmsvsp2screen.cpp
@@ -41,7 +41,7 @@
#include "qeglfskmsvsp2screen.h"
#include "qeglfskmsvsp2device.h"
-#include <qeglfskmshelpers.h>
+#include <qeglfskmshelpers_p.h>
#include <QtCore/QLoggingCategory>
#include <QtGui/private/qguiapplication_p.h>
diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_vsp2/qeglfskmsvsp2screen.h b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_vsp2/qeglfskmsvsp2screen.h
index b3dfa77e1b..a74942d185 100644
--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_vsp2/qeglfskmsvsp2screen.h
+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_vsp2/qeglfskmsvsp2screen.h
@@ -42,7 +42,7 @@
#ifndef QEGLFSKMSVSP2SCREEN_H
#define QEGLFSKMSVSP2SCREEN_H
-#include "qeglfskmsscreen.h"
+#include "qeglfskmsscreen_p.h"
#include "qvsp2blendingdevice.h"
#include <QtCore/QMutex>
diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_vsp2/qlinuxmediadevice.cpp b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_vsp2/qlinuxmediadevice.cpp
index f77430d7a0..241afdcc31 100644
--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_vsp2/qlinuxmediadevice.cpp
+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_vsp2/qlinuxmediadevice.cpp
@@ -39,7 +39,7 @@
#include "qeglfsintegration_p.h"
#include "qlinuxmediadevice.h"
-#include <qeglfskmshelpers.h>
+#include <qeglfskmshelpers_p.h>
#include <QtCore/QLoggingCategory>
#include <QtCore/QSize>
diff --git a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_vsp2/qvsp2blendingdevice.cpp b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_vsp2/qvsp2blendingdevice.cpp
index 132806a2e3..2f00f679b0 100644
--- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_vsp2/qvsp2blendingdevice.cpp
+++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_vsp2/qvsp2blendingdevice.cpp
@@ -38,7 +38,7 @@
****************************************************************************/
#include "qvsp2blendingdevice.h"
-#include <qeglfskmshelpers.h>
+#include <qeglfskmshelpers_p.h>
#include <QDebug>
#include <QtCore/QLoggingCategory>
diff --git a/src/plugins/platforms/linuxfb/qlinuxfbdrmscreen.cpp b/src/plugins/platforms/linuxfb/qlinuxfbdrmscreen.cpp
index 1c99ac8cb1..417ca331f9 100644
--- a/src/plugins/platforms/linuxfb/qlinuxfbdrmscreen.cpp
+++ b/src/plugins/platforms/linuxfb/qlinuxfbdrmscreen.cpp
@@ -399,6 +399,7 @@ QLinuxFbDrmScreen::~QLinuxFbDrmScreen()
bool QLinuxFbDrmScreen::initialize()
{
m_screenConfig = new QKmsScreenConfig;
+ m_screenConfig->loadConfig();
m_device = new QLinuxFbDevice(m_screenConfig);
if (!m_device->open())
return false;
diff --git a/sync.profile b/sync.profile
index 7c0d17365e..7b502958e7 100644
--- a/sync.profile
+++ b/sync.profile
@@ -17,6 +17,8 @@
"QtKmsSupport" => "$basedir/src/platformsupport/kmsconvenience",
"QtZlib" => "!>$basedir/src/corelib;$basedir/src/3rdparty/zlib",
"QtEglFSDeviceIntegration" => "$basedir/src/plugins/platforms/eglfs",
+ "QtEglFsKmsSupport" => "$basedir/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms_support",
+ "QtEglFsKmsGbmSupport" => "$basedir/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms",
"QtMockPlugins1" => "$basedir/tests/auto/cmake/mockplugins/mockplugins1",
"QtMockPlugins2" => "$basedir/tests/auto/cmake/mockplugins/mockplugins2",
"QtMockPlugins3" => "$basedir/tests/auto/cmake/mockplugins/mockplugins3",