12void QEglFSVivWaylandIntegration::platformInit()
14 QEglFSDeviceIntegration::platformInit();
18 bool multiBufferNotEnabledYet = qEnvironmentVariableIsEmpty(
"FB_MULTI_BUFFER");
19 bool multiBuffer = qEnvironmentVariableIsEmpty(
"QT_EGLFS_IMX6_NO_FB_MULTI_BUFFER");
20 if (multiBufferNotEnabledYet && multiBuffer) {
21 qWarning() <<
"QEglFSVivWaylandIntegration will set environment variable FB_MULTI_BUFFER=2 to enable double buffering and vsync.\n"
22 <<
"If this is not desired, you can override this via: export QT_EGLFS_IMX6_NO_FB_MULTI_BUFFER=1";
23 qputenv(
"FB_MULTI_BUFFER",
"2");
26 mWaylandDisplay = wl_display_create();
27 mNativeDisplay =
static_cast<EGLNativeDisplayType>(fbGetDisplay(mWaylandDisplay));
28 fbGetDisplayGeometry(mNativeDisplay, &width, &height);
29 mScreenSize.setHeight(height);
30 mScreenSize.setWidth(width);
48EGLNativeWindowType QEglFSVivWaylandIntegration::createNativeWindow(QPlatformWindow *window,
const QSize &size,
const QSurfaceFormat &format)
53 EGLNativeWindowType eglWindow =
static_cast<EGLNativeWindowType>(fbCreateWindow(mNativeDisplay, 0, 0, size.width(), size.height()));