12#include <QtCore/QLoggingCategory>
13#include <QtCore/private/qcore_unix_p.h>
17Q_DECLARE_LOGGING_CATEGORY(qLcEglfsKmsDebug)
19QEglFSKmsVsp2Device::QEglFSKmsVsp2Device(QKmsScreenConfig *screenConfig,
const QString &path)
20 : QEglFSKmsDevice(screenConfig, path)
27 Q_ASSERT(m_gbm_device ==
nullptr);
29 int fd = qt_safe_open(devicePath().toLocal8Bit().constData(), O_RDWR | O_CLOEXEC);
31 qErrnoWarning(
"Could not open DRM device %s", qPrintable(devicePath()));
35 qCDebug(qLcEglfsKmsDebug) <<
"Creating GBM device for file descriptor" << fd
36 <<
"obtained from" << devicePath();
37 m_gbm_device = gbm_create_device(fd);
39 qErrnoWarning(
"Could not create GBM device");
55 gbm_device_destroy(m_gbm_device);
56 m_gbm_device =
nullptr;
84 qWarning() << Q_FUNC_INFO <<
"Not implemented yet";
89 QPlatformScreen *screenThisScreenClones,
90 const QList<QPlatformScreen *> &screensCloningThisScreen)
93 qWarning() << Q_FUNC_INFO <<
"Not implemented yet";
94 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.