11#include <QtCore/QLoggingCategory>
12#include <QtCore/private/qcore_unix_p.h>
16Q_DECLARE_LOGGING_CATEGORY(qLcEglfsKmsDebug)
18QEglFSKmsVsp2Device::QEglFSKmsVsp2Device(QKmsScreenConfig *screenConfig,
const QString &path)
19 : QEglFSKmsDevice(screenConfig, path)
26 Q_ASSERT(m_gbm_device ==
nullptr);
28 int fd = qt_safe_open(devicePath().toLocal8Bit().constData(), O_RDWR | O_CLOEXEC);
30 qErrnoWarning(
"Could not open DRM device %s", qPrintable(devicePath()));
34 qCDebug(qLcEglfsKmsDebug) <<
"Creating GBM device for file descriptor" << fd
35 <<
"obtained from" << devicePath();
36 m_gbm_device = gbm_create_device(fd);
38 qErrnoWarning(
"Could not create GBM device");
54 gbm_device_destroy(m_gbm_device);
55 m_gbm_device =
nullptr;
83 qWarning() << Q_FUNC_INFO <<
"Not implemented yet";
88 QPlatformScreen *screenThisScreenClones,
89 const QList<QPlatformScreen *> &screensCloningThisScreen)
92 qWarning() << Q_FUNC_INFO <<
"Not implemented yet";
93 if (!screenThisScreenClones && screensCloningThisScreen.isEmpty())
gbm_device * gbmDevice() const
void * nativeDisplay() const override
void registerScreenCloning(QPlatformScreen *screen, QPlatformScreen *screenThisScreenClones, const QList< QPlatformScreen * > &screensCloningThisScreen) override
QPlatformScreen * createHeadlessScreen() override
QPlatformScreen * createScreen(const QKmsOutput &output) override
Combined button and popup list for selecting options.