qt5base: fix "Unable to find an X11 visual" error
Fix "Unable to find an X11 visual" bug that produce at runtime with Vivante drivers. Add a conditionnal patch and add variable QT5BASE_EXTRA_CFLAGS in order to enable workaround. This patch is actually an improvement over the fix available in Yocto: https://github.com/Freescale/meta-fsl-arm/blob/dizzy/qt5-layer/recipes-qt/qt5/qtbase/Force_egl_visual_ID_33.patch [Thomas: - Add SoB from Jérôme Pouiller inside the patch imported from Yocto. - Add a space between $(TARGET_CFLAGS) and $(QT5BASE_EXTRA_CFLAGS), and ditto for CXXFLAGS. - Merge the QT5BASE_EXTRA_CFLAGS into an existing BR2_PACKAGE_GPU_VIV_BIN_MX6Q conditional.] Tested-by: Gary Bisson <gary.bisson@boundarydevices.com> Reviewed-by: Gary Bisson <gary.bisson@boundarydevices.com> Signed-off-by: Jérôme Pouiller <jezz@sysmic.org> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
This commit is contained in:
parent
1095b7ccda
commit
7e9f459adf
27
package/qt5/qt5base/0001-Force_egl_visual_ID_33.patch
Normal file
27
package/qt5/qt5base/0001-Force_egl_visual_ID_33.patch
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
Workaround EGL initialization failure due visual mismatch
|
||||||
|
|
||||||
|
Error:
|
||||||
|
|
||||||
|
Warning: EGL suggested using X Visual ID 33 (RGB888) for EGL config 28 (RGB444), but this is incompatable
|
||||||
|
Unable to find an X11 visual which matches EGL config 28
|
||||||
|
Could not initialize EGL
|
||||||
|
Aborted
|
||||||
|
|
||||||
|
Upstream-Status: Inappropriate [workaround]
|
||||||
|
|
||||||
|
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
|
||||||
|
Signed-off-by: Jérôme Pouiller <jezz@sysmic.org>
|
||||||
|
|
||||||
|
diff -Naur qtbase-opensource-src-5.1.1_original/src/platformsupport/eglconvenience/qxlibeglintegration.cpp qtbase-opensource-src-5.1.1/src/platformsupport/eglconvenience/qxlibeglintegration.cpp
|
||||||
|
--- qtbase-opensource-src-5.1.1_original/src/platformsupport/eglconvenience/qxlibeglintegration.cpp 2013-12-25 19:08:42.163895341 -0800
|
||||||
|
+++ qtbase-opensource-src-5.1.1/src/platformsupport/eglconvenience/qxlibeglintegration.cpp 2013-12-25 19:09:37.207893799 -0800
|
||||||
|
@@ -180,5 +180,9 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
qWarning("Unable to find an X11 visual which matches EGL config %d", configId);
|
||||||
|
+#ifdef ENABLE_MX6_WORKAROUND
|
||||||
|
+ return (VisualID)33;
|
||||||
|
+#else
|
||||||
|
return (VisualID)0;
|
||||||
|
+#endif
|
||||||
|
}
|
@ -116,6 +116,7 @@ ifeq ($(BR2_PACKAGE_QT5BASE_EGLFS),y)
|
|||||||
QT5BASE_CONFIGURE_OPTS += -eglfs
|
QT5BASE_CONFIGURE_OPTS += -eglfs
|
||||||
QT5BASE_DEPENDENCIES += libegl
|
QT5BASE_DEPENDENCIES += libegl
|
||||||
ifeq ($(BR2_PACKAGE_GPU_VIV_BIN_MX6Q),y)
|
ifeq ($(BR2_PACKAGE_GPU_VIV_BIN_MX6Q),y)
|
||||||
|
QT5BASE_EXTRA_CFLAGS = -DENABLE_MX6_WORKAROUND
|
||||||
QT5BASE_EGLFS_PLATFORM_HOOKS_SOURCES = \
|
QT5BASE_EGLFS_PLATFORM_HOOKS_SOURCES = \
|
||||||
$(@D)/mkspecs/devices/linux-imx6-g++/qeglfshooks_imx6.cpp
|
$(@D)/mkspecs/devices/linux-imx6-g++/qeglfshooks_imx6.cpp
|
||||||
endif
|
endif
|
||||||
@ -187,8 +188,8 @@ define QT5BASE_CONFIGURE_CMDS
|
|||||||
-device buildroot \
|
-device buildroot \
|
||||||
-device-option CROSS_COMPILE="$(TARGET_CROSS)" \
|
-device-option CROSS_COMPILE="$(TARGET_CROSS)" \
|
||||||
-device-option BR_CCACHE="$(CCACHE)" \
|
-device-option BR_CCACHE="$(CCACHE)" \
|
||||||
-device-option BR_COMPILER_CFLAGS="$(TARGET_CFLAGS)" \
|
-device-option BR_COMPILER_CFLAGS="$(TARGET_CFLAGS) $(QT5BASE_EXTRA_CFLAGS)" \
|
||||||
-device-option BR_COMPILER_CXXFLAGS="$(TARGET_CXXFLAGS)" \
|
-device-option BR_COMPILER_CXXFLAGS="$(TARGET_CXXFLAGS) $(QT5BASE_EXTRA_CFLAGS)" \
|
||||||
-device-option EGLFS_PLATFORM_HOOKS_SOURCES="$(QT5BASE_EGLFS_PLATFORM_HOOKS_SOURCES)" \
|
-device-option EGLFS_PLATFORM_HOOKS_SOURCES="$(QT5BASE_EGLFS_PLATFORM_HOOKS_SOURCES)" \
|
||||||
$(QT5BASE_CONFIGURE_OPTS) \
|
$(QT5BASE_CONFIGURE_OPTS) \
|
||||||
)
|
)
|
||||||
|
Loading…
Reference in New Issue
Block a user