Buildroot Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: "Jérôme Pouiller" <jezz@sysmic.org>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH v4 10/14] qt5base: fix Vivante x11/EGL configuration
Date: Tue,  2 Dec 2014 10:59:08 +0100	[thread overview]
Message-ID: <1417514352-8825-11-git-send-email-jezz@sysmic.org> (raw)
In-Reply-To: <1417514352-8825-1-git-send-email-jezz@sysmic.org>

Fix compilation with Vivante headers and bug at runtime.

Signed-off-by: J?r?me Pouiller <jezz@sysmic.org>
---
 .../qt5/qt5base/0001-Force_egl_visual_ID_33.patch  | 23 ++++++++
 package/qt5/qt5base/0004-xcb-egl-fixes.patch       | 63 ++++++++++++++++++++++
 2 files changed, 86 insertions(+)
 create mode 100644 package/qt5/qt5base/0001-Force_egl_visual_ID_33.patch
 create mode 100644 package/qt5/qt5base/0004-xcb-egl-fixes.patch

diff --git a/package/qt5/qt5base/0001-Force_egl_visual_ID_33.patch b/package/qt5/qt5base/0001-Force_egl_visual_ID_33.patch
new file mode 100644
index 0000000..b0be292
--- /dev/null
+++ b/package/qt5/qt5base/0001-Force_egl_visual_ID_33.patch
@@ -0,0 +1,23 @@
+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>
+
+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,5 @@
+     }
+ 
+     qWarning("Unable to find an X11 visual which matches EGL config %d", configId);
+-    return (VisualID)0;
++    return (VisualID)33;
+ }
diff --git a/package/qt5/qt5base/0004-xcb-egl-fixes.patch b/package/qt5/qt5base/0004-xcb-egl-fixes.patch
new file mode 100644
index 0000000..2bbd849
--- /dev/null
+++ b/package/qt5/qt5base/0004-xcb-egl-fixes.patch
@@ -0,0 +1,63 @@
+The vivante headers pull in X11 defines which break eglconvenience
+
+* Adds a missing include to qeglplatformcontext.cpp
+* Fix namespace collision on CursorShape, pulled in from X11/X.h
+* Do not pass MESA_EGL_NO_X11_HEADERS when xcb is use
+
+[based on patch from Yocto project]
+Signed-off-by: J?r?me Pouiller <jezz@sysmic.org>
+
+
+diff -Nuar a/src/platformsupport/eglconvenience/eglconvenience.pri b/src/platformsupport/eglconvenience/eglconvenience.pri
+--- a/src/platformsupport/eglconvenience/eglconvenience.pri	2014-08-07 16:53:50.038277168 -0400
++++ b/src/platformsupport/eglconvenience/eglconvenience.pri	2014-08-07 16:54:52.874278651 -0400
+@@ -30,8 +30,10 @@
+         }
+     }
+ 
+-    # Avoid X11 header collision
+-    DEFINES += MESA_EGL_NO_X11_HEADERS
++    !contains(QT_CONFIG,xcb) {
++        # Avoid X11 header collision
++        DEFINES += MESA_EGL_NO_X11_HEADERS
++    }
+ 
+     contains(QT_CONFIG,xlib) {
+         HEADERS += \
+diff -Nuar a/src/platformsupport/eglconvenience/qeglplatformcontext.cpp b/src/platformsupport/eglconvenience/qeglplatformcontext.cpp
+--- a/src/platformsupport/eglconvenience/qeglplatformcontext.cpp	2014-08-07 16:53:50.038277168 -0400
++++ b/src/platformsupport/eglconvenience/qeglplatformcontext.cpp	2014-08-07 16:56:00.630280249 -0400
+@@ -39,6 +39,7 @@
+ **
+ ****************************************************************************/
+ 
++#include <qtextstream.h>
+ #include "qeglplatformcontext_p.h"
+ #include "qeglconvenience_p.h"
+ #include "qeglpbuffer_p.h"
+--- a/src/platformsupport/eglconvenience/qeglplatformcursor_p.h	2014-08-07 16:53:50.038277168 -0400
++++ b/src/platformsupport/eglconvenience/qeglplatformcursor_p.h	2014-08-07 16:58:49.014284222 -0400
+@@ -42,6 +42,11 @@
+ #ifndef QEGLPLATFORMCURSOR_H
+ #define QEGLPLATFORMCURSOR_H
+ 
++// avoid namespace collision with X11/X.h
++#ifdef CursorShape
++#undef CursorShape
++#endif
++
+ #include <qpa/qplatformcursor.h>
+ #include <qpa/qplatformscreen.h>
+ 
+--- a/src/platformsupport/eglconvenience/qeglplatformcursor.cpp	2014-08-07 16:53:50.038277168 -0400
++++ b/src/platformsupport/eglconvenience/qeglplatformcursor.cpp	2014-08-07 17:00:36.806286766 -0400
+@@ -49,8 +49,8 @@
+ 
+ #include <QtPlatformSupport/private/qdevicediscovery_p.h>
+ 
+-#include "qeglplatformcursor_p.h"
+ #include "qeglplatformintegration_p.h"
++#include "qeglplatformcursor_p.h"
+ 
+ QT_BEGIN_NAMESPACE
+ 
-- 
1.9.1

  parent reply	other threads:[~2014-12-02  9:59 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-12-02  9:58 [Buildroot] [PATCH v4 00/14] Add Xorg support for iMX6 Jérôme Pouiller
2014-12-02  9:58 ` [Buildroot] [PATCH v4 01/14] mesa3d: Give possibility to external backends to enable DRI/Gallium Jérôme Pouiller
2014-12-02  9:59 ` [Buildroot] [PATCH v4 02/14] gpu-viv-bin-mx6q: use self-extractible helper Jérôme Pouiller
2014-12-02  9:59 ` [Buildroot] [PATCH v4 03/14] gpu-viv-bin-mx6q: fix compiling issues with EGL_API_FB Jérôme Pouiller
2014-12-02  9:59 ` [Buildroot] [PATCH v4 04/14] gpu-viv-bin-mx6q: fix GLESv2 support Jérôme Pouiller
2014-12-02  9:59 ` [Buildroot] [PATCH v4 05/14] gpu-viv-bin-mx6q: make fb/x11 choice explicit Jérôme Pouiller
2014-12-02  9:59 ` [Buildroot] [PATCH v4 06/14] gpu-viv-bin-mx6q: change output selection mechanism Jérôme Pouiller
2014-12-02  9:59 ` [Buildroot] [PATCH v4 07/14] xdriver_xf86-video-imx-viv: new package Jérôme Pouiller
2014-12-02  9:59 ` [Buildroot] [PATCH v4 08/14] libdrm: fix support for xserver with Vivante drivers Jérôme Pouiller
2014-12-02  9:59 ` [Buildroot] [PATCH v4 09/14] qt5base: apply new patch naming policy Jérôme Pouiller
2014-12-02  9:59 ` Jérôme Pouiller [this message]
2014-12-02  9:59 ` [Buildroot] [PATCH v4 11/14] Vivante drivers: bump to version 3.10.17-1.0.1 Jérôme Pouiller
2014-12-02  9:59 ` [Buildroot] [PATCH v4 12/14] nitrogen6x_defconfig: bump kernel to 3.10.17_1.0.1_ga Jérôme Pouiller
2014-12-02  9:59 ` [Buildroot] [PATCH v4 13/14] freescale_imx6*_defconfig: " Jérôme Pouiller
2014-12-02  9:59 ` [Buildroot] [PATCH v4 14/14] qmx6_defconfig: update Jérôme Pouiller
2014-12-03 19:25 ` [Buildroot] [PATCH v4 00/14] Add Xorg support for iMX6 Gary Bisson
2014-12-04 13:14   ` Jérôme Pouiller
2014-12-04 19:22     ` Gary Bisson
2014-12-04 21:19       ` Jérôme Pouiller
2014-12-04 21:46         ` Gary Bisson
2014-12-05 20:49           ` Gary Bisson
2014-12-05 22:44         ` Thomas Petazzoni
2014-12-08 10:32           ` Jérôme Pouiller
2014-12-05 22:39       ` Thomas Petazzoni

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1417514352-8825-11-git-send-email-jezz@sysmic.org \
    --to=jezz@sysmic.org \
    --cc=buildroot@busybox.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox