All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH v8 0/3] Qt WebEngine support
@ 2017-08-15 20:38 Gaël PORTAY
  2017-08-15 20:38 ` [Buildroot] [PATCH v8 1/2] qt5webengine: new package Gaël PORTAY
                   ` (4 more replies)
  0 siblings, 5 replies; 14+ messages in thread
From: Gaël PORTAY @ 2017-08-15 20:38 UTC (permalink / raw)
  To: buildroot

Hi all,

The purpose of this patch series is to continue the integration of Qt5 WebEngine
in buildroot; started long time ago by Akihiko Odaki [1] and Julien Corjon [2].

The first patch provides the Qt WebEngine package.

The second patch is a special defconfig that provides a Qt WebEngine setup on
raspberrypi3 to provide a demo.

I have tested it with a rpi 3; and I will be glad if someone else has another
EGL platform to test it. You will find instructions to try qtwebengine on rpi3
in the commit message of the first patch.

Enjoy ;)

Note: Tested against:
        - GCC 6.x and binutils 2.27 on rpi 3.
        - GCC 7.x and binutils 2.28 on rpi 3.

[1] https://patchwork.ozlabs.org/patch/640633/
[2] http://lists.busybox.net/pipermail/buildroot/2015-July/132010.html

Changes since RFC:
 - rebase to master (use SPDX licenses, remove license approved, update
   qt5_defconfig...)
 - remove the patch "prefer arm tune"
 - disable build with Qt 5.6 LTS (not working, waiting for 5.6.3 in August)
 - re-order patches

Changes since v1:
 - manually create symlinks to preserve SONAME
 - add my signed-off-by to the qt webengine patch
 - make qtwe package depends on supported architectures
 - fix Kconfig comment about Qt 5.6
 - sort alphabetically chromium licenses

Changes since v2:
 - fix build issue when I sorted alphabetically the chromium licenses
 - replace legacy option BR2_TARGET_ROOTFS_EXT2_BLOCK to
   new option BR2_TARGET_ROOTFS_EXT2_SIZE

Changes since v3:
 - add my signed-off-by and the PR link to the rpi-userland patch
 - move rpi patch index from 0001 to 0007

Changes since v4:
 - bump to Qt WebEngine to 5.9.1
 - added the mainlined patch that fixes the build issue with samples when print
   is not supported
 - udev is selected (required by chromium)
 - add config entry to use system ffmpeg and set it to yes by default
 - the patch concerning the path to CA certificates has been removed since it is
   no more relevant in 5.9.x
 - increase BR2_TARGET_ROOTFS_EXT2_SIZE to 360MB to support
   $ du -sk target/
   312480	target/

Changes since v5:
 - really add the mainlined patch that fixes the build issue with samples when
   print is not supported
 - add BR2_PACKAGE_QT5WEBENGINE_ARCH_SUPPORTS to list all supported
   architectures
 - add BR2_PACKAGE_QT5WEBENGINE missing dependencies (tc, mmu, wchar...)
 - stop using && for depends on relationships
 - update chromium licence list in chromium.inc
 - remove option BR2_PACKAGE_QT5WEBENGINE_SYSTEM_FFMPEG;
   and compile ffmpeg, opus, libvpx and webp packages
 - reword help and add url to documentation of package qt5webengine
 - remove hash of 5.6.2 version
 - add QT5WEBENGINE_ namespace to QMAKEFLAGS
 - add missing TARGET_MAKE_ENV to BUILD_CMD
 - create python symlink form $(HOST_DIR)/bin (was $(HOST_DIR)/usr/bin)
 - add myself to DEVELOPERS

Changes since v6:
 - rpi-userland commit message:
   fix output of ls -l snippet
   update url to link to qtwe-5.9.1
   add upstream-status
 - qtwe:
   add missing host-bison, host-flex and host-pkgconf dependencies
   select BR2_HOSTARCH_NEEDS_IA32_COMPILER to let v8 compiles its host-tools
   with the same word-size as the target.

Changes since v7:
 - rpi-userland:
   remove rpi-userland patch and apply upstreamed commit suggested by Yann.
 - qtwe:
   reword the commit message to include notes from the coverletter
   depends on has udev + comment (udev is needed at runtime)
   depends on uses glibc + comment (for now, it builds only with glibc)
   select qtquickcontrols2 (may be needed at runtime)
   reword BR2_HOSTARCH_NEEDS_IA32_COMPILER comment
 - raspberrypi3_qt5we_defconfig:
   rename raspberrypi3_qt5_defconfig into raspberrypi3_qt5we_defconfig
   bump kernel (synced with all rpi defconfigs)
   add gif, jpeg and options to raspberrypi3_qt5we_defconfig
   use M suffix with BR2_TARGET_ROOTFS_EXT2_SIZE option

Ga?l PORTAY (3):
  qt5webengine: new package
  configs: new raspberrypi3 qt5we config

 DEVELOPERS                                         |   1 +
 configs/raspberrypi3_qt5we_defconfig               |  50 ++++
 package/qt5/Config.in                              |   1 +
 .../0001-Always-compile-QWebEnginePage-print.patch | 246 ++++++++++++++++
 ...ad-libEGL-and-libGLES2-symbols-implicitly.patch |  89 ++++++
 package/qt5/qt5webengine/Config.in                 |  86 ++++++
 package/qt5/qt5webengine/chromium.inc              | 310 +++++++++++++++++++++
 package/qt5/qt5webengine/qt5webengine.hash         |   2 +
 package/qt5/qt5webengine/qt5webengine.mk           |  80 ++++++
 9 files changed, 865 insertions(+)
 create mode 100644 configs/raspberrypi3_qt5we_defconfig
 create mode 100644 package/qt5/qt5webengine/5.9.1/0001-Always-compile-QWebEnginePage-print.patch
 create mode 100644 package/qt5/qt5webengine/5.9.1/0002-Load-libEGL-and-libGLES2-symbols-implicitly.patch
 create mode 100644 package/qt5/qt5webengine/Config.in
 create mode 100644 package/qt5/qt5webengine/chromium.inc
 create mode 100644 package/qt5/qt5webengine/qt5webengine.hash
 create mode 100644 package/qt5/qt5webengine/qt5webengine.mk

-- 
2.13.2

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Buildroot] [PATCH v8 1/2] qt5webengine: new package
  2017-08-15 20:38 [Buildroot] [PATCH v8 0/3] Qt WebEngine support Gaël PORTAY
@ 2017-08-15 20:38 ` Gaël PORTAY
  2017-08-15 20:38 ` [Buildroot] [PATCH v8 2/2] configs: new raspberrypi3 qt5we config Gaël PORTAY
                   ` (3 subsequent siblings)
  4 siblings, 0 replies; 14+ messages in thread
From: Gaël PORTAY @ 2017-08-15 20:38 UTC (permalink / raw)
  To: buildroot

This patch is based on works [1] and [2].

With this patch, one can run the Qt5 WebEngine quicknanobrowser sample
with the following options.

	BR2_TOOLCHAIN_BUILDROOT_LIBC="glibc" and
	BR2_TOOLCHAIN_BUILDROOT_CXX (Qt 5 needs a toolchain w/ wchar, NPTL, C++,
	dynamic library; for now it builds only with glibc)
	BR2_PACKAGE_LIBERATION (Qt needs at least one font)
	BR2_PACKAGE_QT5BASE_EXAMPLES (to install quicknanobrowser sample)
	BR2_PACKAGE_QT5BASE_GIF (do display gif)
	BR2_PACKAGE_QT5BASE_JPEG (do display jpeg)
	BR2_PACKAGE_QT5BASE_PNG (do display png)
	BR2_PACKAGE_QT5QUICKCONTROLS (needed by webengine)
	BR2_PACKAGE_QT5QUICKCONTROLS2 (needed by webengine)
	BR2_PACKAGE_QT5WEBENGINE (because it is what we want)

Qt WebEngine requires an Open(E)GL-capable backend. As an example, the
package rpi-userland must be enabled to build for a rpi.

	BR2_PACKAGE_RPI_USERLAND (to enable OpenGL ES backend)

To browse for HTTPS websites, please consider adding the following
options as well for SSL/TLS.

	BR2_PACKAGE_CA_CERT (for certificates)
	BR2_PACKAGE_NTPD (to sync date for certificates)

Since version 5.9, chromium requires udev at runtime (see note 4).

	BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV (input backend)

To run quicknanobrowser

	# cd /usr/lib/qt/examples/webengine/quicknanobrowser/
	# ./quicknanobrowser https://www.buildroot.org/

Note: The chromium.inc has been generated using the following command.

	( echo 'CHROMIUM_LICENSE_FILES = \' &&
	  cd output/build/qt5webengine-5.9.1/ && \
	  find "src/3rdparty/chromium/" -type f -iname "*LICENSE*" -o -iname "*COPYING*" -o -iname "*GPL*" | \
	  sed -e '/\.asm$/d' \
	      -e '/\.h$/d' \
	      -e '/\.c$/d' \
	      -e '/\.cc$/d' \
	      -e '/\.cpp$/d' \
	      -e '/\.pyc\?$/d' \
	      -e '/\.pl$/d' \
	      -e '/\.sha1$/d' \
	      -e '/\.patch$/d' \
	      -e '/licensecheck/d' \
	      -e 's,^,\t,' \
	      -e 's,$, \\,' | \
	  sort && \
	  echo '' ) >package/qt5/qt5webengine/chromium.inc

Note 2: Since 5.9.1, the chromium's copy of opus fails with neon [3].
Qt WebEngine can uses buildroot ffmpeg copy which compiles fine (using
qmake flag WEBENGINE_CONFIG+=use_system_ffmpeg). It implies selecting
the following options.

	BR2_PACKAGE_FFMPEG
	BR2_PACKAGE_OPUS
	BR2_PACKAGE_LIBVPX
	BR2_PACKAGE_WEBP
	BR2_PACKAGE_WEBP_DEMUX

	In file included from ../../3rdparty/chromium/third_party/opus/src/silk/arm/NSQ_neon.c:31:0:
	/home/gportay/src/buildroot/output-rpi3-qt5.9/host/lib/gcc/arm-buildroot-linux-gnueabihf/6.4.0/include/arm_neon.h:8997:1: error: inlining failed in call to always_inline ?vld1q_s32?: target specific option mismatch
	 vld1q_s32 (const int32_t * __a)
	 ^~~~~~~~~
	../../3rdparty/chromium/third_party/opus/src/silk/arm/NSQ_neon.c:40:15: note: called from here
	     int32x4_t coef0 = vld1q_s32(coef32);
		       ^~~~~
	../../3rdparty/chromium/third_party/opus/src/silk/arm/NSQ_neon.c: At top level:
	cc1: warning: unrecognized command line option ?-Wno-#pragma-messages?

Note 3: Version 5.6.2 causes a build issue while building chromium. The
build against this version is disabled until the release 5.6.3 is out.

Note 4: Here is trace when udev does not run

	# cd /usr/lib/qt/examples/webengine/quicknanobrowser
	# ./quicknanobrowser
	QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
	Unable to query physical screen size, defaulting to 100 dpi.
	To override, set QT_QPA_EGLFS_PHYSICAL_WIDTH and QT_QPA_EGLFS_PHYSICAL_HEIGHT (in millimeters).
	[0101/000248.161973:WARNING:resource_bundle_qt.cpp(114)] locale_file_path.empty() for locale
	[0101/000248.384693:WARNING:resource_bundle_qt.cpp(114)] locale_file_path.empty() for locale
	[202:223:0101/000248.484954:FATAL:udev_loader.cc(38)] Check failed: false.
	#0 0x0000742b93de <unknown>
	#1 0x0000742c3c38 <unknown>
	#2 0x000073e1e1aa <unknown>
	#3 0x000073e1d96e <unknown>
	#4 0x000073e1defa <unknown>
	#5 0x000074af6364 <unknown>
	#6 0x000074302878 <unknown>
	#7 0x0000742c8fee <unknown>
	#8 0x0000742c9f44 <unknown>
	#9 0x0000742ca21e <unknown>
	#10 0x0000742cac4c <unknown>
	#11 0x0000742c87b2 <unknown>
	#12 0x0000742da4f6 <unknown>
	#13 0x000073ed9d38 <unknown>
	#14 0x000073eda03c <unknown>
	#15 0x0000742e9aec <unknown>
	#16 0x0000742e71dc <unknown>

	Aborted

Note 5: On rpi and depending on what is insinde the .config, more GPU
memory should be allocated to run properly qt samples.

	#0 0x0000742c63de <unknown>
	#1 0x0000742d0c38 <unknown>
	#2 0x0000749d7bde <unknown>
	#3 0x0000749e3c70 <unknown>
	#4 0x00007530227c <unknown>
	#5 0x000075302480 <unknown>
	#6 0x0000752fb1e4 <unknown>
	#7 0x00007430f878 <unknown>
	#8 0x0000742d5fee <unknown>
	#9 0x0000742d6f44 <unknown>
	#10 0x0000742d721e <unknown>
	#11 0x0000742d7ad6 <unknown>
	#12 0x0000742d57b2 <unknown>
	#13 0x0000742e74f6 <unknown>
	#14 0x0000742f6a74 <unknown>
	#15 0x0000742f41dc <unknown>

	Received signal 6
	#0 0x0000742c63de <unknown>
	#1 0x0000742c66a0 <unknown>
	#2 0x0000725b5d10 <unknown>
	[end of stack trace]
	qml: Render process exited with code 256 (abnormal exit)

	# mount /dev/mmcblk0p1 /mnt
	# sed '/^gpu_mem_/s,=.*,=200,' -i /mnt/config.txt
	# umount /mnt

Note 6: The first patch fixes a build issue when samples are compiled
without the support of printing [4]. This patch is already merged in
branch 5.9 [5] and concerns only 5.9.1.

	085c2c52 Always compile QWebEnginePage::print

It fixes the error below.

	.obj/browsermainwindow.o: In function `BrowserMainWindow::printRequested(QWebEnginePage*)': browsermainwindow.cpp:(.text+0x2cc0): undefined reference to `QWebEnginePage::print(QPrinter*, QWebEngineCallback<bool> const&)'

The second patch loads both libEGL and libGLESv2 symbols implicitly
instead of loading them with explicitly using hard-coded locations. It
fixes a bug when providers of lib*GL does not create libraries named
libEGL.so.1 and libGLESv2.s2 [6]. This patch is already merged in branch
5.9 [7].

	d4c621f6 Load libEGL and libGLES2 symbols implicitly

It fixes the error below.

	[327:347:1221/085837:ERROR:surface_factory_qt.cpp(68)] Failed to load /usr/lib/libGLESv2.so.2: /usr/lib/libGLESv2.so.2: cannot open shared object file: No such file or directory

[1]: http://lists.busybox.net/pipermail/buildroot/2015-July/132010.html
[2]: https://patchwork.ozlabs.org/patch/640633/
[3]: https://patchwork.ozlabs.org/patch/791332/
[4]: https://bugreports.qt.io/browse/QTBUG-61510
[5]: https://codereview.qt-project.org/#/c/198041/
[6]: https://bugreports.qt.io/browse/QTBUG-57761
[7]: https://codereview.qt-project.org/#/c/199554/

Cc: Akihiko Odaki <akihiko.odaki.4i@stu.hosei.ac.jp>
Cc: Julien Corjon <corjon.j@ecagroup.com>
Signed-off-by: Ga?l PORTAY <gael.portay@savoirfairelinux.com>
---
 DEVELOPERS                                         |   1 +
 package/qt5/Config.in                              |   1 +
 .../0001-Always-compile-QWebEnginePage-print.patch | 246 ++++++++++++++++
 ...ad-libEGL-and-libGLES2-symbols-implicitly.patch |  89 ++++++
 package/qt5/qt5webengine/Config.in                 |  86 ++++++
 package/qt5/qt5webengine/chromium.inc              | 310 +++++++++++++++++++++
 package/qt5/qt5webengine/qt5webengine.hash         |   2 +
 package/qt5/qt5webengine/qt5webengine.mk           |  80 ++++++
 8 files changed, 815 insertions(+)
 create mode 100644 package/qt5/qt5webengine/5.9.1/0001-Always-compile-QWebEnginePage-print.patch
 create mode 100644 package/qt5/qt5webengine/5.9.1/0002-Load-libEGL-and-libGLES2-symbols-implicitly.patch
 create mode 100644 package/qt5/qt5webengine/Config.in
 create mode 100644 package/qt5/qt5webengine/chromium.inc
 create mode 100644 package/qt5/qt5webengine/qt5webengine.hash
 create mode 100644 package/qt5/qt5webengine/qt5webengine.mk

diff --git a/DEVELOPERS b/DEVELOPERS
index f3944e274..a6f84e77e 100644
--- a/DEVELOPERS
+++ b/DEVELOPERS
@@ -630,6 +630,7 @@ F:	package/zxing-cpp/
 
 N:	Ga?l Portay <gael.portay@savoirfairelinux.com>
 F:	package/qt5/qt5virtualkeyboard/
+F:	package/qt5/qt5webengine/
 
 N:	Gary Bisson <gary.bisson@boundarydevices.com>
 F:	board/boundarydevices/
diff --git a/package/qt5/Config.in b/package/qt5/Config.in
index abaa58499..f2a1f378c 100644
--- a/package/qt5/Config.in
+++ b/package/qt5/Config.in
@@ -79,6 +79,7 @@ source "package/qt5/qt5tools/Config.in"
 source "package/qt5/qt5virtualkeyboard/Config.in"
 source "package/qt5/qt5webchannel/Config.in"
 source "package/qt5/qt5webkit/Config.in"
+source "package/qt5/qt5webengine/Config.in"
 source "package/qt5/qt5websockets/Config.in"
 source "package/qt5/qt5x11extras/Config.in"
 source "package/qt5/qt5xmlpatterns/Config.in"
diff --git a/package/qt5/qt5webengine/5.9.1/0001-Always-compile-QWebEnginePage-print.patch b/package/qt5/qt5webengine/5.9.1/0001-Always-compile-QWebEnginePage-print.patch
new file mode 100644
index 000000000..5e863231a
--- /dev/null
+++ b/package/qt5/qt5webengine/5.9.1/0001-Always-compile-QWebEnginePage-print.patch
@@ -0,0 +1,246 @@
+From 085c2c529473bbe9dd7c8c5698a45053520cc423 Mon Sep 17 00:00:00 2001
+From: =?utf-8?q?J=C3=BCri=20Valdmann?= <juri.valdmann@qt.io>
+Date: Tue, 20 Jun 2017 15:36:43 +0200
+Subject: [PATCH 1/1] Always compile QWebEnginePage::print
+
+- Remove two out of five layers of ifdefs around and inside this method.
+- Now always compiled but will yield an error if printing is disabled.
+- Remove printing-related ifdefs from demobrowser.
+
+Task-number: QTBUG-61510
+Change-Id: I79781189d3d3fb62db0a2216b2b989e3fa1d1f86
+Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
+Reviewed-by: Rolf Eike Beer <eb@emlix.com>
+Upstream-Status: Merged
+Signed-off-by: Ga?l PORTAY <gael.portay@savoirfairelinux.com>
+---
+ examples/webenginewidgets/demobrowser/browsermainwindow.cpp | 12 ------------
+ examples/webenginewidgets/demobrowser/browsermainwindow.h   |  6 ------
+ examples/webenginewidgets/demobrowser/printtopdfdialog.cpp  |  7 -------
+ src/webenginewidgets/api/qwebenginepage.cpp                 | 10 ++--------
+ src/webenginewidgets/api/qwebenginepage.h                   |  8 --------
+ 5 files changed, 2 insertions(+), 41 deletions(-)
+
+diff --git a/examples/webenginewidgets/demobrowser/browsermainwindow.cpp b/examples/webenginewidgets/demobrowser/browsermainwindow.cpp
+index 327d7a9d..14d49f7f 100644
+--- a/examples/webenginewidgets/demobrowser/browsermainwindow.cpp
++++ b/examples/webenginewidgets/demobrowser/browsermainwindow.cpp
+@@ -109,9 +109,7 @@ BrowserMainWindow::BrowserMainWindow(QWidget *parent, Qt::WindowFlags flags)
+     , m_historyForward(0)
+     , m_stop(0)
+     , m_reload(0)
+-#ifndef QT_NO_PRINTER
+     , m_currentPrinter(nullptr)
+-#endif
+ {
+     setToolButtonStyle(Qt::ToolButtonFollowStyle);
+     setAttribute(Qt::WA_DeleteOnClose, true);
+@@ -312,9 +310,7 @@ void BrowserMainWindow::setupMenu()
+ #if defined(QWEBENGINEPAGE_PRINT)
+     fileMenu->addAction(tr("P&rint Preview..."), this, SLOT(slotFilePrintPreview()));
+ #endif
+-#ifndef QT_NO_PRINTER
+     fileMenu->addAction(tr("&Print..."), this, SLOT(slotFilePrint()), QKeySequence::Print);
+-#endif
+     fileMenu->addAction(tr("&Print to PDF..."), this, SLOT(slotFilePrintToPDF()));
+     fileMenu->addSeparator();
+ 
+@@ -702,23 +698,19 @@ void BrowserMainWindow::slotFileOpen()
+ 
+ void BrowserMainWindow::slotFilePrintPreview()
+ {
+-#ifndef QT_NO_PRINTPREVIEWDIALOG
+     if (!currentTab())
+         return;
+     QPrintPreviewDialog *dialog = new QPrintPreviewDialog(this);
+     connect(dialog, SIGNAL(paintRequested(QPrinter*)),
+             currentTab(), SLOT(print(QPrinter*)));
+     dialog->exec();
+-#endif
+ }
+ 
+ void BrowserMainWindow::slotFilePrint()
+ {
+-#ifndef QT_NO_PRINTER
+     if (!currentTab())
+         return;
+     printRequested(currentTab()->page());
+-#endif
+ }
+ 
+ void BrowserMainWindow::slotHandlePdfPrinted(const QByteArray& result)
+@@ -751,7 +743,6 @@ void BrowserMainWindow::slotFilePrintToPDF()
+     currentTab()->page()->printToPdf(invoke(this, &BrowserMainWindow::slotHandlePdfPrinted), dialog->pageLayout());
+ }
+ 
+-#ifndef QT_NO_PRINTER
+ void BrowserMainWindow::slotHandlePagePrinted(bool result)
+ {
+     Q_UNUSED(result);
+@@ -763,7 +754,6 @@ void BrowserMainWindow::slotHandlePagePrinted(bool result)
+ 
+ void BrowserMainWindow::printRequested(QWebEnginePage *page)
+ {
+-#ifndef QT_NO_PRINTDIALOG
+     if (m_currentPrinter)
+         return;
+     m_currentPrinter = new QPrinter();
+@@ -774,9 +764,7 @@ void BrowserMainWindow::printRequested(QWebEnginePage *page)
+         return;
+     }
+     page->print(m_currentPrinter, invoke(this, &BrowserMainWindow::slotHandlePagePrinted));
+-#endif
+ }
+-#endif
+ 
+ void BrowserMainWindow::slotPrivateBrowsing()
+ {
+diff --git a/examples/webenginewidgets/demobrowser/browsermainwindow.h b/examples/webenginewidgets/demobrowser/browsermainwindow.h
+index 91e1c1d2..5bbbb292 100644
+--- a/examples/webenginewidgets/demobrowser/browsermainwindow.h
++++ b/examples/webenginewidgets/demobrowser/browsermainwindow.h
+@@ -56,9 +56,7 @@
+ #include <QtCore/QUrl>
+ 
+ QT_BEGIN_NAMESPACE
+-#ifndef QT_NO_PRINTER
+ class QPrinter;
+-#endif
+ class QWebEnginePage;
+ QT_END_NAMESPACE
+ 
+@@ -142,10 +140,8 @@ private slots:
+     void slotSwapFocus();
+     void slotHandlePdfPrinted(const QByteArray&);
+ 
+-#ifndef QT_NO_PRINTER
+     void slotHandlePagePrinted(bool result);
+     void printRequested(QWebEnginePage *page);
+-#endif
+     void geometryChangeRequested(const QRect &geometry);
+     void updateToolbarActionText(bool visible);
+     void updateBookmarksToolbarActionText(bool visible);
+@@ -180,9 +176,7 @@ private:
+     QAction *m_restoreLastSession;
+     QAction *m_addBookmark;
+ 
+-#ifndef QT_NO_PRINTER
+     QPrinter *m_currentPrinter;
+-#endif
+ 
+     QIcon m_reloadIcon;
+     QIcon m_stopIcon;
+diff --git a/examples/webenginewidgets/demobrowser/printtopdfdialog.cpp b/examples/webenginewidgets/demobrowser/printtopdfdialog.cpp
+index 0f3b1765..50a8bb91 100644
+--- a/examples/webenginewidgets/demobrowser/printtopdfdialog.cpp
++++ b/examples/webenginewidgets/demobrowser/printtopdfdialog.cpp
+@@ -52,10 +52,8 @@
+ #include "ui_printtopdfdialog.h"
+ 
+ #include <QtCore/QDir>
+-#ifndef QT_NO_PRINTER
+ #include <QtPrintSupport/QPageSetupDialog>
+ #include <QtPrintSupport/QPrinter>
+-#endif // QT_NO_PRINTER
+ #include <QtWidgets/QFileDialog>
+ 
+ PrintToPdfDialog::PrintToPdfDialog(const QString &filePath, QWidget *parent) :
+@@ -66,11 +64,8 @@ PrintToPdfDialog::PrintToPdfDialog(const QString &filePath, QWidget *parent) :
+     ui->setupUi(this);
+     setWindowFlags(windowFlags() & ~Qt::WindowContextHelpButtonHint);
+     connect(ui->chooseFilePathButton, &QToolButton::clicked, this, &PrintToPdfDialog::onChooseFilePathButtonClicked);
+-#ifndef QT_NO_PRINTER
+     connect(ui->choosePageLayoutButton, &QToolButton::clicked, this, &PrintToPdfDialog::onChoosePageLayoutButtonClicked);
+-#else
+     ui->choosePageLayoutButton->hide();
+-#endif // QT_NO_PRINTER
+     updatePageLayoutLabel();
+     setFilePath(filePath);
+ }
+@@ -82,7 +77,6 @@ PrintToPdfDialog::~PrintToPdfDialog()
+ 
+ void PrintToPdfDialog::onChoosePageLayoutButtonClicked()
+ {
+-#ifndef QT_NO_PRINTER
+     QPrinter printer;
+     printer.setPageLayout(currentPageLayout);
+ 
+@@ -92,7 +86,6 @@ void PrintToPdfDialog::onChoosePageLayoutButtonClicked()
+     currentPageLayout.setPageSize(printer.pageLayout().pageSize());
+     currentPageLayout.setOrientation(printer.pageLayout().orientation());
+     updatePageLayoutLabel();
+-#endif // QT_NO_PRINTER
+ }
+ 
+ void PrintToPdfDialog::onChooseFilePathButtonClicked()
+diff --git a/src/webenginewidgets/api/qwebenginepage.cpp b/src/webenginewidgets/api/qwebenginepage.cpp
+index 2cdb0116..6042b9fd 100644
+--- a/src/webenginewidgets/api/qwebenginepage.cpp
++++ b/src/webenginewidgets/api/qwebenginepage.cpp
+@@ -80,11 +80,9 @@
+ #include <QMenu>
+ #include <QMessageBox>
+ #include <QMimeData>
+-#if defined(QT_PRINTSUPPORT_LIB)
+-#ifndef QT_NO_PRINTER
++#ifdef ENABLE_PRINTING
+ #include <QPrinter>
+-#endif //QT_NO_PRINTER
+-#endif //QT_PRINTSUPPORT_LIB
++#endif
+ #include <QStandardPaths>
+ #include <QStyle>
+ #include <QTimer>
+@@ -2051,8 +2049,6 @@ void QWebEnginePage::printToPdf(const QWebEngineCallback<const QByteArray&> &res
+ #endif // if defined(ENABLE_PDF)
+ }
+ 
+-#if defined(QT_PRINTSUPPORT_LIB)
+-#ifndef QT_NO_PRINTER
+ /*!
+     \fn void QWebEnginePage::print(QPrinter *printer, FunctorOrLambda resultCallback)
+     Renders the current content of the page into a temporary PDF document, then prints it using \a printer.
+@@ -2089,8 +2085,6 @@ void QWebEnginePage::print(QPrinter *printer, const QWebEngineCallback<bool> &re
+     d->m_callbacks.invokeDirectly(resultCallback, false);
+ #endif // if defined(ENABLE_PDF)
+ }
+-#endif // if defined(QT_NO_PRINTER)
+-#endif // if defined(QT_PRINTSUPPORT_LIB)
+ 
+ /*!
+     \since 5.7
+diff --git a/src/webenginewidgets/api/qwebenginepage.h b/src/webenginewidgets/api/qwebenginepage.h
+index c7d5a19e..5619639c 100644
+--- a/src/webenginewidgets/api/qwebenginepage.h
++++ b/src/webenginewidgets/api/qwebenginepage.h
+@@ -55,11 +55,7 @@
+ 
+ QT_BEGIN_NAMESPACE
+ class QMenu;
+-#if defined(QT_PRINTSUPPORT_LIB)
+-#ifndef QT_NO_PRINTER
+ class QPrinter;
+-#endif // QT_NO_PRINTER
+-#endif // QT_PRINTSUPPORT_LIB
+ 
+ class QWebChannel;
+ class QWebEngineContextMenuData;
+@@ -294,15 +290,11 @@ public:
+     void printToPdf(const QWebEngineCallback<const QByteArray&> &resultCallback, const QPageLayout &layout = QPageLayout(QPageSize(QPageSize::A4), QPageLayout::Portrait, QMarginsF()));
+ #endif
+ 
+-#if defined(QT_PRINTSUPPORT_LIB)
+-#ifndef QT_NO_PRINTER
+ #ifdef Q_QDOC
+     void print(QPrinter *printer, FunctorOrLambda resultCallback);
+ #else
+     void print(QPrinter *printer, const QWebEngineCallback<bool> &resultCallback);
+ #endif // QDOC
+-#endif // QT_NO_PRINTER
+-#endif // QT_PRINTSUPPORT_LIB
+ 
+     const QWebEngineContextMenuData &contextMenuData() const;
+ 
+-- 
+2.13.2
+
diff --git a/package/qt5/qt5webengine/5.9.1/0002-Load-libEGL-and-libGLES2-symbols-implicitly.patch b/package/qt5/qt5webengine/5.9.1/0002-Load-libEGL-and-libGLES2-symbols-implicitly.patch
new file mode 100644
index 000000000..b8ef687f9
--- /dev/null
+++ b/package/qt5/qt5webengine/5.9.1/0002-Load-libEGL-and-libGLES2-symbols-implicitly.patch
@@ -0,0 +1,89 @@
+From d4c621f6a6b87f2a86069fa393b9f7c4f9e7b9ad Mon Sep 17 00:00:00 2001
+From: Viktor Engelmann <viktor.engelmann@qt.io>
+Date: Fri, 7 Jul 2017 12:56:19 +0200
+Subject: [PATCH] Load libEGL and libGLES2 symbols implicitly
+
+Instead of explicitly loading libraries from hard-coded locations,
+we now just call dlopen(NULL, RTLD_LAZY). This returns a handle to
+the host process'es context, which already contains the symbols of
+both these libraries, because we link against them.
+It was necessary to bypass LoadLibrary, because that expects a non-NULL
+file path, so we couldn't pass NULL through that interface.
+
+Task-number: QTBUG-57761
+Change-Id: I29f037dfe542222b5188a33c7727c81a464a87bb
+Reviewed-by: Allan Sandfeld Jensen <allan.jensen@qt.io>
+Reviewed-by: Michal Klocek <michal.klocek@qt.io>
+Upstream-Status: Merged
+Signed-off-by: Ga?l PORTAY <gael.portay@savoirfairelinux.com>
+---
+ src/core/surface_factory_qt.cpp | 40 ++++++++--------------------------------
+ 1 file changed, 8 insertions(+), 32 deletions(-)
+
+diff --git a/src/core/surface_factory_qt.cpp b/src/core/surface_factory_qt.cpp
+index 36c05ec5..e8be8480 100644
+--- a/src/core/surface_factory_qt.cpp
++++ b/src/core/surface_factory_qt.cpp
+@@ -51,51 +51,27 @@
+ #if defined(USE_OZONE)
+ 
+ #include <EGL/egl.h>
+-
+-#ifndef QT_LIBDIR_EGL
+-#define QT_LIBDIR_EGL "/usr/lib"
+-#endif
+-#ifndef QT_LIBDIR_GLES2
+-#define QT_LIBDIR_GLES2 QT_LIBDIR_EGL
+-#endif
++#include <dlfcn.h>
+ 
+ namespace QtWebEngineCore {
+ 
+-base::NativeLibrary LoadLibrary(const base::FilePath& filename) {
+-    base::NativeLibraryLoadError error;
+-    base::NativeLibrary library = base::LoadNativeLibrary(filename, &error);
+-    if (!library) {
+-        LOG(ERROR) << "Failed to load " << filename.MaybeAsASCII() << ": " << error.ToString();
+-        return NULL;
+-    }
+-    return library;
+-}
+-
+ bool SurfaceFactoryQt::LoadEGLGLES2Bindings()
+ {
+-    base::FilePath libEGLPath = QtWebEngineCore::toFilePath(QT_LIBDIR_EGL);
+-    libEGLPath = libEGLPath.Append("libEGL.so.1");
+-    base::NativeLibrary eglLibrary = LoadLibrary(libEGLPath);
+-    if (!eglLibrary)
+-        return false;
+-
+-    base::FilePath libGLES2Path = QtWebEngineCore::toFilePath(QT_LIBDIR_GLES2);
+-    libGLES2Path = libGLES2Path.Append("libGLESv2.so.2");
+-    base::NativeLibrary gles2Library = LoadLibrary(libGLES2Path);
+-    if (!gles2Library)
++    base::NativeLibrary eglgles2Library = dlopen(NULL, RTLD_LAZY);
++    if (!eglgles2Library) {
++        LOG(ERROR) << "Failed to open EGL/GLES2 context " << dlerror();
+         return false;
++    }
+ 
+-    gl::GLGetProcAddressProc get_proc_address = reinterpret_cast<gl::GLGetProcAddressProc>(base::GetFunctionPointerFromNativeLibrary(eglLibrary, "eglGetProcAddress"));
++    gl::GLGetProcAddressProc get_proc_address = reinterpret_cast<gl::GLGetProcAddressProc>(base::GetFunctionPointerFromNativeLibrary(eglgles2Library, "eglGetProcAddress"));
+     if (!get_proc_address) {
+         LOG(ERROR) << "eglGetProcAddress not found.";
+-        base::UnloadNativeLibrary(eglLibrary);
+-        base::UnloadNativeLibrary(gles2Library);
++        base::UnloadNativeLibrary(eglgles2Library);
+         return false;
+     }
+ 
+     gl::SetGLGetProcAddressProc(get_proc_address);
+-    gl::AddGLNativeLibrary(eglLibrary);
+-    gl::AddGLNativeLibrary(gles2Library);
++    gl::AddGLNativeLibrary(eglgles2Library);
+     return true;
+ }
+ 
+-- 
+2.13.2
+
diff --git a/package/qt5/qt5webengine/Config.in b/package/qt5/qt5webengine/Config.in
new file mode 100644
index 000000000..b5de88933
--- /dev/null
+++ b/package/qt5/qt5webengine/Config.in
@@ -0,0 +1,86 @@
+config BR2_PACKAGE_QT5WEBENGINE_ARCH_SUPPORTS
+	bool
+	default y if BR2_aarch64 || BR2_arm || \
+		BR2_i386 || BR2_x86_64 || \
+		BR2_mips || BR2_mips64
+
+comment "qt5webengine needs an Open(E)GL-capable backend"
+	depends on BR2_PACKAGE_QT5WEBENGINE_ARCH_SUPPORTS
+	depends on !BR2_PACKAGE_QT5_GL_AVAILABLE || !BR2_PACKAGE_HAS_LIBEGL
+
+comment "qt5webengine needs udev@runtime"
+	depends on !BR2_PACKAGE_HAS_UDEV
+
+comment "qt5webengine builds only with glibc"
+	depends on !BR2_TOOLCHAIN_USES_GLIBC
+
+comment "qt5webengine is not yet buildable with Qt 5.6"
+	depends on BR2_PACKAGE_QT5WEBENGINE_ARCH_SUPPORTS
+	depends on BR2_PACKAGE_QT5_VERSION_5_6
+
+config BR2_PACKAGE_QT5WEBENGINE
+	bool "qt5webengine"
+	depends on BR2_PACKAGE_QT5WEBENGINE_ARCH_SUPPORTS
+	depends on !BR2_BINFMT_FLAT # qt5base-icu
+	depends on BR2_HOST_GCC_AT_LEAST_4_8 # qt5base-icu
+	depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_8 # qt5base-icu
+	depends on BR2_TOOLCHAIN_HAS_THREADS # libglib2, libvpx, qt5base-dbus
+	depends on BR2_TOOLCHAIN_USES_GLIBC # execinfo.h, mallinfo
+	depends on BR2_USE_MMU # libglib2, qt5base-dbus
+	depends on BR2_USE_WCHAR # libglib2
+	depends on BR2_PACKAGE_HAS_LIBEGL # qt5base-eglfs
+	depends on BR2_PACKAGE_HAS_UDEV
+	depends on BR2_PACKAGE_QT5_GL_AVAILABLE # qt5declarative, qt5base-eglfs
+	depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE # qt5declarative
+	depends on !BR2_PACKAGE_QT5_VERSION_5_6
+	# v8 (a chromium 3rd-party) compiles its internal host-tools with the
+	# same word size as the target. For 32-bits targets, it adds the -m32
+	# flag (for 64-bits, it adds the -m64 flag).
+	# https://github.com/v8/v8/blob/5.6.326.55/gypfiles/toolchain.gypi#L1036-L1037
+	select BR2_HOSTARCH_NEEDS_IA32_COMPILER if !BR2_ARCH_IS_64 # v8/chromium
+	select BR2_PACKAGE_FFMPEG
+	select BR2_PACKAGE_LIBGLIB2
+	select BR2_PACKAGE_LIBVPX
+	select BR2_PACKAGE_OPUS
+	select BR2_PACKAGE_WEBP
+	select BR2_PACKAGE_WEBP_DEMUX
+	select BR2_PACKAGE_QT5BASE_DBUS
+	select BR2_PACKAGE_QT5BASE_EGLFS
+	select BR2_PACKAGE_QT5BASE_FONTCONFIG
+	select BR2_PACKAGE_QT5BASE_ICU
+	select BR2_PACKAGE_QT5BASE_GUI
+	select BR2_PACKAGE_QT5BASE_WIDGETS
+	select BR2_PACKAGE_QT5DECLARATIVE
+	select BR2_PACKAGE_QT5DECLARATIVE_QUICK
+	select BR2_PACKAGE_QT5QUICKCONTROLS
+	select BR2_PACKAGE_QT5QUICKCONTROLS2
+	select BR2_PACKAGE_QT5WEBCHANNEL
+	select BR2_PACKAGE_XLIB_LIBXCOMPOSITE if BR2_PACKAGE_QT5BASE_XCB
+	select BR2_PACKAGE_XLIB_LIBXCURSOR if BR2_PACKAGE_QT5BASE_XCB
+	select BR2_PACKAGE_XLIB_LIBXI if BR2_PACKAGE_QT5BASE_XCB
+	select BR2_PACKAGE_XLIB_LIBXRANDR if BR2_PACKAGE_QT5BASE_XCB
+	select BR2_PACKAGE_XLIB_LIBXSCRNSAVER if BR2_PACKAGE_QT5BASE_XCB
+	select BR2_PACKAGE_XLIB_LIBXTST if BR2_PACKAGE_QT5BASE_XCB
+	help
+	  The Qt WebEngine module provides a web browser engine that
+	  makes it easy to embed content from the World Wide Web into
+	  your Qt application.
+
+	  Qt WebEngine provides C++ classes and QML types for rendering
+	  HTML, XHTML, and SVG documents, styled using Cascading Style
+	  Sheets (CSS) and scripted with JavaScript. HTML documents can
+	  be made fully editable by the user through the use of the
+	  contenteditable attribute on HTML elements.
+
+	  http://doc.qt.io/qt-5/qtwebengine-index.html
+
+if BR2_PACKAGE_QT5WEBENGINE
+
+config BR2_PACKAGE_QT5WEBENGINE_PROPRIETARY_CODECS
+	bool "proprietary codecs"
+	help
+	  Qt WebEngine supports the MPEG-4 Part 14 (MP4) file format;
+	  which includes required proprietary audio and video codecs,
+	  such as H.264 and MPEG layer-3 (MP3).
+
+endif
diff --git a/package/qt5/qt5webengine/chromium.inc b/package/qt5/qt5webengine/chromium.inc
new file mode 100644
index 000000000..da709fd5a
--- /dev/null
+++ b/package/qt5/qt5webengine/chromium.inc
@@ -0,0 +1,310 @@
+CHROMIUM_LICENSE_FILES = \
+	src/3rdparty/chromium/base/third_party/dmg_fp/LICENSE \
+	src/3rdparty/chromium/base/third_party/dynamic_annotations/LICENSE \
+	src/3rdparty/chromium/base/third_party/icu/LICENSE \
+	src/3rdparty/chromium/base/third_party/libevent/LICENSE \
+	src/3rdparty/chromium/base/third_party/nspr/LICENSE \
+	src/3rdparty/chromium/base/third_party/superfasthash/LICENSE \
+	src/3rdparty/chromium/base/third_party/symbolize/LICENSE \
+	src/3rdparty/chromium/base/third_party/valgrind/LICENSE \
+	src/3rdparty/chromium/base/third_party/xdg_mime/LICENSE \
+	src/3rdparty/chromium/base/third_party/xdg_user_dirs/LICENSE \
+	src/3rdparty/chromium/buildtools/LICENSE \
+	src/3rdparty/chromium/buildtools/third_party/libc++abi/trunk/LICENSE.TXT \
+	src/3rdparty/chromium/buildtools/third_party/libc++/trunk/LICENSE.TXT \
+	src/3rdparty/chromium/chrome/third_party/chromevox/LICENSE \
+	src/3rdparty/chromium/chrome/third_party/chromevox/third_party/closure-library/LICENSE \
+	src/3rdparty/chromium/LICENSE \
+	src/3rdparty/chromium/LICENSE.chromium_os \
+	src/3rdparty/chromium/mojo/public/LICENSE \
+	src/3rdparty/chromium/net/third_party/mozilla_security_manager/LICENSE \
+	src/3rdparty/chromium/net/third_party/nss/LICENSE \
+	src/3rdparty/chromium/ppapi/LICENSE \
+	src/3rdparty/chromium/sdch/open-vcdiff/COPYING \
+	src/3rdparty/chromium/testing/gmock/LICENSE \
+	src/3rdparty/chromium/testing/gmock/scripts/generator/LICENSE \
+	src/3rdparty/chromium/testing/gtest/LICENSE \
+	src/3rdparty/chromium/third_party/accessibility_test_framework/LICENSE \
+	src/3rdparty/chromium/third_party/afl/src/docs/COPYING \
+	src/3rdparty/chromium/third_party/angle/LICENSE \
+	src/3rdparty/chromium/third_party/angle/src/third_party/compiler/LICENSE \
+	src/3rdparty/chromium/third_party/angle/src/third_party/libXNVCtrl/LICENSE \
+	src/3rdparty/chromium/third_party/angle/src/third_party/murmurhash/LICENSE \
+	src/3rdparty/chromium/third_party/apache-portable-runtime/LICENSE \
+	src/3rdparty/chromium/third_party/apache_velocity/LICENSE \
+	src/3rdparty/chromium/third_party/apple_apsl/LICENSE \
+	src/3rdparty/chromium/third_party/bintrees/LICENSE.txt \
+	src/3rdparty/chromium/third_party/blanketjs/LICENSE \
+	src/3rdparty/chromium/third_party/blimp_fonts/LICENSE \
+	src/3rdparty/chromium/third_party/blimp_fonts/LICENSE.Apache \
+	src/3rdparty/chromium/third_party/blimp_fonts/LICENSE.OFL \
+	src/3rdparty/chromium/third_party/boringssl/src/LICENSE \
+	src/3rdparty/chromium/third_party/boringssl/src/third_party/android-cmake/LICENSE \
+	src/3rdparty/chromium/third_party/bouncycastle/LICENSE \
+	src/3rdparty/chromium/third_party/brotli/LICENSE \
+	src/3rdparty/chromium/third_party/bspatch/LICENSE \
+	src/3rdparty/chromium/third_party/byte_buddy/LICENSE \
+	src/3rdparty/chromium/third_party/ced/LICENSE \
+	src/3rdparty/chromium/third_party/ced/src/LICENSE \
+	src/3rdparty/chromium/third_party/chaijs/LICENSE \
+	src/3rdparty/chromium/third_party/checkstyle/LICENSE \
+	src/3rdparty/chromium/third_party/checkstyle/LICENSE.apache20 \
+	src/3rdparty/chromium/third_party/cld_3/LICENSE \
+	src/3rdparty/chromium/third_party/cld_3/src/LICENSE \
+	src/3rdparty/chromium/third_party/cld/LICENSE \
+	src/3rdparty/chromium/third_party/closure_compiler/compiler/COPYING \
+	src/3rdparty/chromium/third_party/closure_compiler/LICENSE \
+	src/3rdparty/chromium/third_party/closure_linter/LICENSE \
+	src/3rdparty/chromium/third_party/crashpad/crashpad/LICENSE \
+	src/3rdparty/chromium/third_party/crashpad/crashpad/third_party/apple_cctools/cctools/APPLE_LICENSE \
+	src/3rdparty/chromium/third_party/crashpad/crashpad/third_party/apple_cf/APPLE_LICENSE \
+	src/3rdparty/chromium/third_party/crashpad/crashpad/third_party/getopt/LICENSE \
+	src/3rdparty/chromium/third_party/cros_system_api/LICENSE \
+	src/3rdparty/chromium/third_party/cros_system_api/MODULE_LICENSE_BSD \
+	src/3rdparty/chromium/third_party/custom_tabs_client/LICENSE \
+	src/3rdparty/chromium/third_party/d3/src/LICENSE \
+	src/3rdparty/chromium/third_party/decklink/LICENSE \
+	src/3rdparty/chromium/third_party/devscripts/COPYING \
+	src/3rdparty/chromium/third_party/dom_distiller_js/LICENSE \
+	src/3rdparty/chromium/third_party/dpkg-dev/LICENSE \
+	src/3rdparty/chromium/third_party/drmemory/LICENSE \
+	src/3rdparty/chromium/third_party/errorprone/LICENSE \
+	src/3rdparty/chromium/third_party/espresso/LICENSE \
+	src/3rdparty/chromium/third_party/expat/files/COPYING \
+	src/3rdparty/chromium/third_party/ffmpeg/chromium/scripts/license_texts/full_lgpl.txt \
+	src/3rdparty/chromium/third_party/ffmpeg/COPYING.GPLv2 \
+	src/3rdparty/chromium/third_party/ffmpeg/COPYING.GPLv3 \
+	src/3rdparty/chromium/third_party/ffmpeg/COPYING.LGPLv2.1 \
+	src/3rdparty/chromium/third_party/ffmpeg/COPYING.LGPLv3 \
+	src/3rdparty/chromium/third_party/ffmpeg/LICENSE.md \
+	src/3rdparty/chromium/third_party/fips181/COPYING \
+	src/3rdparty/chromium/third_party/flac/COPYING.FDL \
+	src/3rdparty/chromium/third_party/flac/COPYING.GPL \
+	src/3rdparty/chromium/third_party/flac/COPYING.LGPL \
+	src/3rdparty/chromium/third_party/flac/COPYING.Xiph \
+	src/3rdparty/chromium/third_party/flatbuffers/LICENSE \
+	src/3rdparty/chromium/third_party/flatbuffers/src/LICENSE.txt \
+	src/3rdparty/chromium/third_party/flot/LICENSE.txt \
+	src/3rdparty/chromium/third_party/fontconfig/LICENSE \
+	src/3rdparty/chromium/third_party/fontconfig/src/COPYING \
+	src/3rdparty/chromium/third_party/freetype2/src/docs/GPLv2.TXT \
+	src/3rdparty/chromium/third_party/freetype2/src/docs/LICENSE.TXT \
+	src/3rdparty/chromium/third_party/gardiner_mod/LICENSE \
+	src/3rdparty/chromium/third_party/gif_player/LICENSE \
+	src/3rdparty/chromium/third_party/glslang/LICENSE \
+	src/3rdparty/chromium/third_party/grpc/LICENSE \
+	src/3rdparty/chromium/third_party/grpc/src/node/health_check/LICENSE \
+	src/3rdparty/chromium/third_party/grpc/src/php/ext/grpc/LICENSE \
+	src/3rdparty/chromium/third_party/grpc/third_party/nanopb/LICENSE.txt \
+	src/3rdparty/chromium/third_party/grpc/third_party/rake-compiler-dock/LICENSE.txt \
+	src/3rdparty/chromium/third_party/guava/LICENSE \
+	src/3rdparty/chromium/third_party/gvr-android-sdk/LICENSE \
+	src/3rdparty/chromium/third_party/haha/LICENSE \
+	src/3rdparty/chromium/third_party/hamcrest/LICENSE \
+	src/3rdparty/chromium/third_party/harfbuzz-ng/COPYING \
+	src/3rdparty/chromium/third_party/hunspell/COPYING \
+	src/3rdparty/chromium/third_party/hunspell/COPYING.LGPL \
+	src/3rdparty/chromium/third_party/hunspell/COPYING.MPL \
+	src/3rdparty/chromium/third_party/hunspell/src/hunspell/license.hunspell \
+	src/3rdparty/chromium/third_party/hunspell/src/hunspell/license.myspell \
+	src/3rdparty/chromium/third_party/hwcplus/LICENSE \
+	src/3rdparty/chromium/third_party/iaccessible2/LICENSE \
+	src/3rdparty/chromium/third_party/iccjpeg/LICENSE \
+	src/3rdparty/chromium/third_party/icu4j/LICENSE \
+	src/3rdparty/chromium/third_party/icu/LICENSE \
+	src/3rdparty/chromium/third_party/icu/license.html \
+	src/3rdparty/chromium/third_party/icu/scripts/LICENSE \
+	src/3rdparty/chromium/third_party/ijar/LICENSE \
+	src/3rdparty/chromium/third_party/inspector_protocol/LICENSE \
+	src/3rdparty/chromium/third_party/intellij/LICENSE \
+	src/3rdparty/chromium/third_party/isimpledom/LICENSE \
+	src/3rdparty/chromium/third_party/javax_inject/LICENSE \
+	src/3rdparty/chromium/third_party/jinja2/LICENSE \
+	src/3rdparty/chromium/third_party/jmake/LICENSE \
+	src/3rdparty/chromium/third_party/jsoncpp/LICENSE \
+	src/3rdparty/chromium/third_party/jstemplate/COPYING \
+	src/3rdparty/chromium/third_party/khronos/LICENSE \
+	src/3rdparty/chromium/third_party/leakcanary/LICENSE \
+	src/3rdparty/chromium/third_party/leveldatabase/src/LICENSE \
+	src/3rdparty/chromium/third_party/libaddressinput/LICENSE \
+	src/3rdparty/chromium/third_party/libaddressinput/src/cpp/LICENSE.chromium \
+	src/3rdparty/chromium/third_party/libaddressinput/src/LICENSE \
+	src/3rdparty/chromium/third_party/libFuzzer/LICENSE.TXT \
+	src/3rdparty/chromium/third_party/libjpeg/LICENSE \
+	src/3rdparty/chromium/third_party/libjpeg_turbo/LICENSE.md \
+	src/3rdparty/chromium/third_party/libpng/LICENSE \
+	src/3rdparty/chromium/third_party/libsecret/LICENSE \
+	src/3rdparty/chromium/third_party/libsrtp/LICENSE \
+	src/3rdparty/chromium/third_party/libsync/LICENSE \
+	src/3rdparty/chromium/third_party/libudev/LICENSE \
+	src/3rdparty/chromium/third_party/libusb/src/COPYING \
+	src/3rdparty/chromium/third_party/libva/COPYING \
+	src/3rdparty/chromium/third_party/libvpx/source/libvpx/LICENSE \
+	src/3rdparty/chromium/third_party/libvpx/source/libvpx/third_party/googletest/src/LICENSE \
+	src/3rdparty/chromium/third_party/libvpx/source/libvpx/third_party/libwebm/LICENSE.TXT \
+	src/3rdparty/chromium/third_party/libvpx/source/libvpx/third_party/x86inc/LICENSE \
+	src/3rdparty/chromium/third_party/libwebm/source/LICENSE.TXT \
+	src/3rdparty/chromium/third_party/libwebp/LICENSE \
+	src/3rdparty/chromium/third_party/libxml/src/COPYING \
+	src/3rdparty/chromium/third_party/libXNVCtrl/LICENSE \
+	src/3rdparty/chromium/third_party/libxslt/linux/COPYING \
+	src/3rdparty/chromium/third_party/libyuv/LICENSE \
+	src/3rdparty/chromium/third_party/libyuv/LICENSE_THIRD_PARTY \
+	src/3rdparty/chromium/third_party/libyuv/third_party/gflags/LICENSE \
+	src/3rdparty/chromium/third_party/lzma_sdk/LICENSE \
+	src/3rdparty/chromium/third_party/mach_override/LICENSE \
+	src/3rdparty/chromium/third_party/markupsafe/LICENSE \
+	src/3rdparty/chromium/third_party/mesa/LICENSE \
+	src/3rdparty/chromium/third_party/mesa/src/docs/COPYING \
+	src/3rdparty/chromium/third_party/mesa/src/docs/license.html \
+	src/3rdparty/chromium/third_party/mesa/src/src/gallium/drivers/radeon/LICENSE.TXT \
+	src/3rdparty/chromium/third_party/minigbm/LICENSE \
+	src/3rdparty/chromium/third_party/mocha/LICENSE \
+	src/3rdparty/chromium/third_party/mockito/LICENSE \
+	src/3rdparty/chromium/third_party/modp_b64/LICENSE \
+	src/3rdparty/chromium/third_party/molokocacao/LICENSE \
+	src/3rdparty/chromium/third_party/motemplate/LICENSE \
+	src/3rdparty/chromium/third_party/mozilla/LICENSE \
+	src/3rdparty/chromium/third_party/mt19937ar/LICENSE \
+	src/3rdparty/chromium/third_party/netty4/LICENSE \
+	src/3rdparty/chromium/third_party/netty-tcnative/LICENSE \
+	src/3rdparty/chromium/third_party/objenesis/LICENSE \
+	src/3rdparty/chromium/third_party/ocmock/License.txt \
+	src/3rdparty/chromium/third_party/openh264/src/LICENSE \
+	src/3rdparty/chromium/third_party/openmax_dl/LICENSE \
+	src/3rdparty/chromium/third_party/opus/src/COPYING \
+	src/3rdparty/chromium/third_party/ots/LICENSE \
+	src/3rdparty/chromium/third_party/ow2_asm/LICENSE \
+	src/3rdparty/chromium/third_party/pdfium/LICENSE \
+	src/3rdparty/chromium/third_party/pdfium/third_party/bigint/LICENSE \
+	src/3rdparty/chromium/third_party/pdfium/third_party/pymock/LICENSE.txt \
+	src/3rdparty/chromium/third_party/pexpect/LICENSE \
+	src/3rdparty/chromium/third_party/ply/LICENSE \
+	src/3rdparty/chromium/third_party/polymer/v1_0/components-chromium/polymer/LICENSE.txt \
+	src/3rdparty/chromium/third_party/proguard/LICENSE \
+	src/3rdparty/chromium/third_party/protobuf/LICENSE \
+	src/3rdparty/chromium/third_party/pycoverage/LICENSE \
+	src/3rdparty/chromium/third_party/pyelftools/elftools/construct/LICENSE \
+	src/3rdparty/chromium/third_party/pyelftools/LICENSE \
+	src/3rdparty/chromium/third_party/pyftpdlib/src/LICENSE \
+	src/3rdparty/chromium/third_party/pymock/LICENSE.txt \
+	src/3rdparty/chromium/third_party/python_gflags/COPYING \
+	src/3rdparty/chromium/third_party/Python-Markdown/LICENSE.md \
+	src/3rdparty/chromium/third_party/py_trace_event/src/LICENSE \
+	src/3rdparty/chromium/third_party/pywebsocket/src/LICENSE \
+	src/3rdparty/chromium/third_party/qcms/src/COPYING \
+	src/3rdparty/chromium/third_party/qunit/LICENSE \
+	src/3rdparty/chromium/third_party/re2/LICENSE \
+	src/3rdparty/chromium/third_party/re2/src/LICENSE \
+	src/3rdparty/chromium/third_party/requests/LICENSE \
+	src/3rdparty/chromium/third_party/robolectric/LICENSE \
+	src/3rdparty/chromium/third_party/robolectric/licenses/extreme.indiana.edu.license.txt \
+	src/3rdparty/chromium/third_party/robolectric/licenses/javolution.license.txt \
+	src/3rdparty/chromium/third_party/robolectric/licenses/pivotal.labs.license.txt \
+	src/3rdparty/chromium/third_party/sfntly/COPYING.txt \
+	src/3rdparty/chromium/third_party/sfntly/src/cpp/COPYING.txt \
+	src/3rdparty/chromium/third_party/sfntly/src/java/COPYING \
+	src/3rdparty/chromium/third_party/shaderc/LICENSE \
+	src/3rdparty/chromium/third_party/shaderc/src/LICENSE \
+	src/3rdparty/chromium/third_party/shaderc/src/third_party/LICENSE.glslang \
+	src/3rdparty/chromium/third_party/shaderc/src/third_party/LICENSE.spirv-tools \
+	src/3rdparty/chromium/third_party/simplejson/LICENSE.txt \
+	src/3rdparty/chromium/third_party/sinonjs/LICENSE \
+	src/3rdparty/chromium/third_party/skia/LICENSE \
+	src/3rdparty/chromium/third_party/skia/platform_tools/android/third_party/ashmem/LICENSE \
+	src/3rdparty/chromium/third_party/skia/third_party/etc1/LICENSE \
+	src/3rdparty/chromium/third_party/skia/third_party/gif/LICENSE \
+	src/3rdparty/chromium/third_party/skia/third_party/libpng/LICENSE \
+	src/3rdparty/chromium/third_party/smhasher/LICENSE \
+	src/3rdparty/chromium/third_party/snappy/src/COPYING \
+	src/3rdparty/chromium/third_party/SPIRV-Tools/LICENSE \
+	src/3rdparty/chromium/third_party/SPIRV-Tools/src/LICENSE \
+	src/3rdparty/chromium/third_party/sqlite4java/LICENSE \
+	src/3rdparty/chromium/third_party/sqlite/LICENSE \
+	src/3rdparty/chromium/third_party/sqlite/sqlite-src-3100200/autoconf/tea/license.terms \
+	src/3rdparty/chromium/third_party/sqlite/src/autoconf/tea/license.terms \
+	src/3rdparty/chromium/third_party/sudden_motion_sensor/LICENSE \
+	src/3rdparty/chromium/third_party/swiftshader/LICENSE.txt \
+	src/3rdparty/chromium/third_party/swiftshader/third_party/LLVM/autoconf/LICENSE.TXT \
+	src/3rdparty/chromium/third_party/swiftshader/third_party/LLVM/include/llvm/Support/LICENSE.TXT \
+	src/3rdparty/chromium/third_party/swiftshader/third_party/LLVM/LICENSE.TXT \
+	src/3rdparty/chromium/third_party/swiftshader/third_party/LLVM/projects/sample/autoconf/LICENSE.TXT \
+	src/3rdparty/chromium/third_party/swiftshader/third_party/llvm-subzero/LICENSE.TXT \
+	src/3rdparty/chromium/third_party/swiftshader/third_party/LLVM/utils/unittest/googletest/LICENSE.TXT \
+	src/3rdparty/chromium/third_party/swiftshader/third_party/PowerVR_SDK/License.txt \
+	src/3rdparty/chromium/third_party/tcmalloc/LICENSE \
+	src/3rdparty/chromium/third_party/tcmalloc/vendor/COPYING \
+	src/3rdparty/chromium/third_party/tlslite/LICENSE \
+	src/3rdparty/chromium/third_party/typ/LICENSE \
+	src/3rdparty/chromium/third_party/ub-uiautomator/LICENSE \
+	src/3rdparty/chromium/third_party/usb_ids/LICENSE \
+	src/3rdparty/chromium/third_party/usrsctp/LICENSE \
+	src/3rdparty/chromium/third_party/usrsctp/usrsctplib/LICENSE.md \
+	src/3rdparty/chromium/third_party/v4l2capture/LICENSE \
+	src/3rdparty/chromium/third_party/v4l-utils/COPYING.libv4l \
+	src/3rdparty/chromium/third_party/visualmetrics/src/LICENSE \
+	src/3rdparty/chromium/third_party/vulkan/LICENSE \
+	src/3rdparty/chromium/third_party/wayland/LICENSE \
+	src/3rdparty/chromium/third_party/wayland-protocols/LICENSE \
+	src/3rdparty/chromium/third_party/wayland-protocols/src/COPYING \
+	src/3rdparty/chromium/third_party/wayland/src/COPYING \
+	src/3rdparty/chromium/third_party/wds/LICENSE \
+	src/3rdparty/chromium/third_party/wds/src/COPYING \
+	src/3rdparty/chromium/third_party/web-animations-js/LICENSE \
+	src/3rdparty/chromium/third_party/web-animations-js/sources/COPYING \
+	src/3rdparty/chromium/third_party/webdriver/COPYING \
+	src/3rdparty/chromium/third_party/webdriver/LICENSE \
+	src/3rdparty/chromium/third_party/WebKit/LICENSE_FOR_ABOUT_CREDITS \
+	src/3rdparty/chromium/third_party/WebKit/Source/core/LICENSE-APPLE \
+	src/3rdparty/chromium/third_party/WebKit/Source/core/LICENSE-LGPL-2 \
+	src/3rdparty/chromium/third_party/WebKit/Source/core/LICENSE-LGPL-2.1 \
+	src/3rdparty/chromium/third_party/WebKit/Source/devtools/front_end/audits2_worker/lighthouse/LICENSE \
+	src/3rdparty/chromium/third_party/WebKit/Source/devtools/front_end/cm/LICENSE \
+	src/3rdparty/chromium/third_party/WebKit/Source/devtools/front_end/cm/LICENSE_python \
+	src/3rdparty/chromium/third_party/WebKit/Source/devtools/front_end/cm_modes/LICENSE \
+	src/3rdparty/chromium/third_party/WebKit/Source/devtools/front_end/formatter_worker/acorn/LICENSE \
+	src/3rdparty/chromium/third_party/WebKit/Source/devtools/front_end/gonzales/MIT-LICENSE.txt \
+	src/3rdparty/chromium/third_party/WebKit/Source/devtools/front_end/terminal/xterm.js/LICENSE \
+	src/3rdparty/chromium/third_party/WebKit/Source/devtools/LICENSE \
+	src/3rdparty/chromium/third_party/WebKit/Source/devtools/scripts/closure/COPYING \
+	src/3rdparty/chromium/third_party/WebKit/Source/wtf/dtoa/COPYING \
+	src/3rdparty/chromium/third_party/WebKit/Source/wtf/dtoa/LICENSE \
+	src/3rdparty/chromium/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/mod_pywebsocket/COPYING \
+	src/3rdparty/chromium/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/LICENSE \
+	src/3rdparty/chromium/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/LICENSE \
+	src/3rdparty/chromium/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/six/LICENSE \
+	src/3rdparty/chromium/third_party/WebKit/Tools/Scripts/webkitpy/thirdparty/wpt/wpt/tools/wptserve/LICENSE \
+	src/3rdparty/chromium/third_party/webpagereplay/COPYING \
+	src/3rdparty/chromium/third_party/webpagereplay/third_party/dns/LICENSE \
+	src/3rdparty/chromium/third_party/webpagereplay/third_party/ipaddr/COPYING \
+	src/3rdparty/chromium/third_party/webpagereplay/third_party/ipfw_win32/LICENSE \
+	src/3rdparty/chromium/third_party/webpagereplay/third_party/jsmin/LICENSE.txt \
+	src/3rdparty/chromium/third_party/webrtc/examples/androidapp/third_party/autobanh/LICENSE \
+	src/3rdparty/chromium/third_party/webrtc/examples/androidapp/third_party/autobanh/LICENSE.md \
+	src/3rdparty/chromium/third_party/webrtc/examples/objc/AppRTCMobile/third_party/SocketRocket/LICENSE \
+	src/3rdparty/chromium/third_party/webrtc/LICENSE \
+	src/3rdparty/chromium/third_party/webrtc/LICENSE_THIRD_PARTY \
+	src/3rdparty/chromium/third_party/webtreemap/src/COPYING \
+	src/3rdparty/chromium/third_party/woff2/LICENSE \
+	src/3rdparty/chromium/third_party/x86inc/LICENSE \
+	src/3rdparty/chromium/third_party/xdg-utils/LICENSE \
+	src/3rdparty/chromium/third_party/yasm/source/patched-yasm/COPYING \
+	src/3rdparty/chromium/third_party/yasm/source/patched-yasm/GNU_GPL-2.0 \
+	src/3rdparty/chromium/third_party/yasm/source/patched-yasm/GNU_LGPL-2.0 \
+	src/3rdparty/chromium/third_party/zlib/LICENSE \
+	src/3rdparty/chromium/tools/gn/out/Release/obj/third_party/widevine/cdm/widevine_test_license_server.ninja \
+	src/3rdparty/chromium/tools/gyp/LICENSE \
+	src/3rdparty/chromium/tools/origin_trials/third_party/ed25519/LICENSE \
+	src/3rdparty/chromium/tools/page_cycler/acid3/LICENSE \
+	src/3rdparty/chromium/tools/symsrc/COPYING-pefile \
+	src/3rdparty/chromium/tools/win/ChromeDebug/ChromeDebug/LICENSE \
+	src/3rdparty/chromium/url/third_party/mozilla/LICENSE.txt \
+	src/3rdparty/chromium/v8/LICENSE \
+	src/3rdparty/chromium/v8/LICENSE.fdlibm \
+	src/3rdparty/chromium/v8/LICENSE.strongtalk \
+	src/3rdparty/chromium/v8/LICENSE.v8 \
+	src/3rdparty/chromium/v8/LICENSE.valgrind \
+	src/3rdparty/chromium/v8/src/third_party/valgrind/LICENSE \
+	src/3rdparty/chromium/v8/src/third_party/vtune/LICENSE \
+	src/3rdparty/chromium/v8/third_party/inspector_protocol/LICENSE \
+
diff --git a/package/qt5/qt5webengine/qt5webengine.hash b/package/qt5/qt5webengine/qt5webengine.hash
new file mode 100644
index 000000000..d45500c44
--- /dev/null
+++ b/package/qt5/qt5webengine/qt5webengine.hash
@@ -0,0 +1,2 @@
+# Hash from: http://download.qt.io/official_releases/qt/5.9/5.9.1/submodules/qtwebengine-opensource-src-5.9.1.tar.xz.mirrorlist
+sha256 f6a37eeb9188474a16d29ede498fce959396ab80329a0a83eaeb925251686401  qtwebengine-opensource-src-5.9.1.tar.xz
diff --git a/package/qt5/qt5webengine/qt5webengine.mk b/package/qt5/qt5webengine/qt5webengine.mk
new file mode 100644
index 000000000..96dd401c6
--- /dev/null
+++ b/package/qt5/qt5webengine/qt5webengine.mk
@@ -0,0 +1,80 @@
+################################################################################
+#
+# qt5webengine
+#
+################################################################################
+
+QT5WEBENGINE_VERSION = $(QT5_VERSION)
+QT5WEBENGINE_SITE = $(QT5_SITE)
+QT5WEBENGINE_SOURCE = qtwebengine-opensource-src-$(QT5WEBENGINE_VERSION).tar.xz
+QT5WEBENGINE_DEPENDENCIES = ffmpeg libglib2 libvpx opus webp qt5base \
+	qt5declarative qt5webchannel host-bison host-flex host-gperf \
+	host-pkgconf host-python
+QT5WEBENGINE_INSTALL_STAGING = YES
+
+include package/qt5/qt5webengine/chromium.inc
+QT5WEBENGINE_LICENSE = GPL-2.0 or LGPL-3.0 or GPL-3.0 or GPL-3.0 with exception
+QT5WEBENGINE_LICENSE_FILES = LICENSE.GPL2 LICENSE.GPL3 LICENSE.GPL3-EXCEPT \
+	LICENSE.GPLv3 LICENSE.LGPL3 $(CHROMIUM_LICENSE_FILES)
+
+ifeq ($(BR2_PACKAGE_QT5BASE_XCB),y)
+QT5WEBENGINE_DEPENDENCIES += xlib_libXScrnSaver xlib_libXcomposite \
+	xlib_libXcursor xlib_libXi xlib_libXrandr xlib_libXtst
+endif
+
+QT5WEBENGINE_QMAKEFLAGS += WEBENGINE_CONFIG+=use_system_ffmpeg
+
+ifeq ($(BR2_PACKAGE_QT5WEBENGINE_PROPRIETARY_CODECS),y)
+QT5WEBENGINE_QMAKEFLAGS += WEBENGINE_CONFIG+=use_proprietary_codecs
+endif
+
+# QtWebengine's build system uses python, but only supports python2. We work
+# around this by forcing python2 early in the PATH, via a python->python2
+# symlink.
+QT5WEBENGINE_ENV = PATH=$(@D)/host-bin:$(BR_PATH)
+define QT5WEBENGINE_PYTHON2_SYMLINK
+	mkdir -p $(@D)/host-bin
+	ln -sf $(HOST_DIR)/bin/python2 $(@D)/host-bin/python
+endef
+QT5WEBENGINE_PRE_CONFIGURE_HOOKS += QT5WEBENGINE_PYTHON2_SYMLINK
+
+define QT5WEBENGINE_CONFIGURE_CMDS
+	(cd $(@D); $(TARGET_MAKE_ENV) $(QT5WEBENGINE_ENV) $(HOST_DIR)/usr/bin/qmake $(QT5WEBENGINE_QMAKEFLAGS))
+endef
+
+define QT5WEBENGINE_BUILD_CMDS
+	$(TARGET_MAKE_ENV) $(QT5WEBENGINE_ENV) $(MAKE) -C $(@D)
+endef
+
+define QT5WEBENGINE_INSTALL_STAGING_CMDS
+	$(TARGET_MAKE_ENV) $(QT5WEBENGINE_ENV) $(MAKE) -C $(@D) install
+	$(QT5_LA_PRL_FILES_FIXUP)
+endef
+
+define QT5WEBENGINE_INSTALL_TARGET_QMLS
+	cp -dpfr $(STAGING_DIR)/usr/qml/QtWebEngine $(TARGET_DIR)/usr/qml/
+endef
+
+ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y)
+define QT5WEBENGINE_INSTALL_TARGET_EXAMPLES
+	cp -dpfr $(STAGING_DIR)/usr/lib/qt/examples/webengine* $(TARGET_DIR)/usr/lib/qt/examples/
+endef
+endif
+
+ifneq ($(BR2_STATIC_LIBS),y)
+define QT5WEBENGINE_INSTALL_TARGET_LIBS
+	cp -dpf $(STAGING_DIR)/usr/lib/libQt5WebEngine*.so.* $(TARGET_DIR)/usr/lib
+	cp -dpf $(STAGING_DIR)/usr/libexec/QtWebEngineProcess $(TARGET_DIR)/usr/libexec/
+	cp -dpfr $(STAGING_DIR)/usr/resources/ $(TARGET_DIR)/usr/
+	mkdir -p $(TARGET_DIR)/usr/translations/qtwebengine_locales/
+	cp -dpfr $(STAGING_DIR)/usr/translations/qtwebengine_locales $(TARGET_DIR)/usr/translations/qtwebengine_locales/
+endef
+endif
+
+define QT5WEBENGINE_INSTALL_TARGET_CMDS
+	$(QT5WEBENGINE_INSTALL_TARGET_LIBS)
+	$(QT5WEBENGINE_INSTALL_TARGET_QMLS)
+	$(QT5WEBENGINE_INSTALL_TARGET_EXAMPLES)
+endef
+
+$(eval $(generic-package))
-- 
2.13.2

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [Buildroot] [PATCH v8 2/2] configs: new raspberrypi3 qt5we config
  2017-08-15 20:38 [Buildroot] [PATCH v8 0/3] Qt WebEngine support Gaël PORTAY
  2017-08-15 20:38 ` [Buildroot] [PATCH v8 1/2] qt5webengine: new package Gaël PORTAY
@ 2017-08-15 20:38 ` Gaël PORTAY
  2017-08-15 20:50 ` [Buildroot] [PATCH v8 0/3] Qt WebEngine support Thomas Petazzoni
                   ` (2 subsequent siblings)
  4 siblings, 0 replies; 14+ messages in thread
From: Gaël PORTAY @ 2017-08-15 20:38 UTC (permalink / raw)
  To: buildroot

This config sets Qt5 WebEngine for raspberrypi 3.

Signed-off-by: Ga?l PORTAY <gael.portay@savoirfairelinux.com>
---
 configs/raspberrypi3_qt5we_defconfig | 50 ++++++++++++++++++++++++++++++++++++
 1 file changed, 50 insertions(+)
 create mode 100644 configs/raspberrypi3_qt5we_defconfig

diff --git a/configs/raspberrypi3_qt5we_defconfig b/configs/raspberrypi3_qt5we_defconfig
new file mode 100644
index 000000000..9df14c530
--- /dev/null
+++ b/configs/raspberrypi3_qt5we_defconfig
@@ -0,0 +1,50 @@
+BR2_arm=y
+BR2_cortex_a53=y
+BR2_ARM_FPU_NEON_VFPV4=y
+
+BR2_TOOLCHAIN_BUILDROOT_GLIBC=y
+BR2_TOOLCHAIN_BUILDROOT_CXX=y
+
+BR2_SYSTEM_DHCP="eth0"
+
+# Linux headers same as kernel, a 4.9 series
+BR2_PACKAGE_HOST_LINUX_HEADERS_CUSTOM_4_9=y
+
+BR2_LINUX_KERNEL=y
+BR2_LINUX_KERNEL_CUSTOM_GIT=y
+BR2_LINUX_KERNEL_CUSTOM_REPO_URL="https://github.com/raspberrypi/linux.git"
+BR2_LINUX_KERNEL_CUSTOM_REPO_VERSION="9126e25b0934bd7bd843763310ea4b34c6e139d0"
+BR2_LINUX_KERNEL_DEFCONFIG="bcm2709"
+
+# Build the DTB from the kernel sources
+BR2_LINUX_KERNEL_DTS_SUPPORT=y
+BR2_LINUX_KERNEL_INTREE_DTS_NAME="bcm2710-rpi-3-b bcm2710-rpi-cm3"
+
+# Build Qt5 WebEngine
+BR2_PACKAGE_LIBERATION=y
+BR2_PACKAGE_QT5=y
+BR2_PACKAGE_QT5BASE_EXAMPLES=y
+BR2_PACKAGE_QT5BASE_GIF=y
+BR2_PACKAGE_QT5BASE_JPEG=y
+BR2_PACKAGE_QT5BASE_PNG=y
+BR2_PACKAGE_QT5WEBENGINE=y
+BR2_PACKAGE_QT5WEBENGINE_PROPRIETARY_CODECS=y
+BR2_PACKAGE_RPI_FIRMWARE=y
+BR2_PACKAGE_RPI_USERLAND=y
+BR2_PACKAGE_CA_CERTIFICATES=y
+BR2_PACKAGE_NTP=y
+
+# Required tools to create the SD image
+BR2_PACKAGE_HOST_DOSFSTOOLS=y
+BR2_PACKAGE_HOST_GENIMAGE=y
+BR2_PACKAGE_HOST_MTOOLS=y
+
+# Filesystem / image
+BR2_TARGET_ROOTFS_EXT2=y
+BR2_TARGET_ROOTFS_EXT2_4=y
+BR2_TARGET_ROOTFS_EXT2_SIZE="360M"
+# BR2_TARGET_ROOTFS_TAR is not set
+BR2_ROOTFS_DEVICE_CREATION_DYNAMIC_EUDEV=y
+BR2_ROOTFS_POST_BUILD_SCRIPT="board/raspberrypi3/post-build.sh"
+BR2_ROOTFS_POST_IMAGE_SCRIPT="board/raspberrypi3/post-image.sh"
+BR2_ROOTFS_POST_SCRIPT_ARGS="--add-pi3-miniuart-bt-overlay"
-- 
2.13.2

^ permalink raw reply related	[flat|nested] 14+ messages in thread

* [Buildroot] [PATCH v8 0/3] Qt WebEngine support
  2017-08-15 20:38 [Buildroot] [PATCH v8 0/3] Qt WebEngine support Gaël PORTAY
  2017-08-15 20:38 ` [Buildroot] [PATCH v8 1/2] qt5webengine: new package Gaël PORTAY
  2017-08-15 20:38 ` [Buildroot] [PATCH v8 2/2] configs: new raspberrypi3 qt5we config Gaël PORTAY
@ 2017-08-15 20:50 ` Thomas Petazzoni
  2017-08-15 20:57   ` Gaël PORTAY
  2017-08-15 22:10 ` Julien Grossholtz
  2017-09-23 20:24 ` Arnout Vandecappelle
  4 siblings, 1 reply; 14+ messages in thread
From: Thomas Petazzoni @ 2017-08-15 20:50 UTC (permalink / raw)
  To: buildroot

Hello,

On Tue, 15 Aug 2017 16:38:52 -0400, Ga?l PORTAY wrote:

> Ga?l PORTAY (3):
>   qt5webengine: new package
>   configs: new raspberrypi3 qt5we config

So there are really 2 patches now, not 3 ?

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Buildroot] [PATCH v8 0/3] Qt WebEngine support
  2017-08-15 20:50 ` [Buildroot] [PATCH v8 0/3] Qt WebEngine support Thomas Petazzoni
@ 2017-08-15 20:57   ` Gaël PORTAY
  2017-08-15 21:57     ` Thomas Petazzoni
  0 siblings, 1 reply; 14+ messages in thread
From: Gaël PORTAY @ 2017-08-15 20:57 UTC (permalink / raw)
  To: buildroot

Hello Thomas,

On Tue, Aug 15, 2017 at 10:50:06PM +0200, Thomas Petazzoni wrote:
> Hello,
> 
> On Tue, 15 Aug 2017 16:38:52 -0400, Ga?l PORTAY wrote:
> 
> > Ga?l PORTAY (3):
> >   qt5webengine: new package
> >   configs: new raspberrypi3 qt5we config
> 
> So there are really 2 patches now, not 3 ?
> 

Yes, since Yann shows me that I can backport this patch [1], I can drop my patch
about rpi-userland and library symlinks.

[1]: https://codereview.qt-project.org/#/c/199554/

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Buildroot] [PATCH v8 0/3] Qt WebEngine support
  2017-08-15 20:57   ` Gaël PORTAY
@ 2017-08-15 21:57     ` Thomas Petazzoni
  2017-08-15 22:04       ` Gaël PORTAY
  0 siblings, 1 reply; 14+ messages in thread
From: Thomas Petazzoni @ 2017-08-15 21:57 UTC (permalink / raw)
  To: buildroot

Hello,

On Tue, 15 Aug 2017 16:57:18 -0400, Ga?l PORTAY wrote:
> Hello Thomas,
> 
> On Tue, Aug 15, 2017 at 10:50:06PM +0200, Thomas Petazzoni wrote:
> > Hello,
> > 
> > On Tue, 15 Aug 2017 16:38:52 -0400, Ga?l PORTAY wrote:
> >   
> > > Ga?l PORTAY (3):
> > >   qt5webengine: new package
> > >   configs: new raspberrypi3 qt5we config  
> > 
> > So there are really 2 patches now, not 3 ?
> >   
> 
> Yes, since Yann shows me that I can backport this patch [1], I can drop my patch
> about rpi-userland and library symlinks.

Yes I know that, I followed the discussions. But your cover letter
indicates [PATCH v8 0/3], and contains:

 Ga?l PORTAY (3):
   qt5webengine: new package
   configs: new raspberrypi3 qt5we config  

So you're announcing 3 patches, but you really have 2.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Buildroot] [PATCH v8 0/3] Qt WebEngine support
  2017-08-15 21:57     ` Thomas Petazzoni
@ 2017-08-15 22:04       ` Gaël PORTAY
  0 siblings, 0 replies; 14+ messages in thread
From: Gaël PORTAY @ 2017-08-15 22:04 UTC (permalink / raw)
  To: buildroot

Hello,

On Tue, Aug 15, 2017 at 11:57:49PM +0200, Thomas Petazzoni wrote:
> Hello,
> 
> On Tue, 15 Aug 2017 16:57:18 -0400, Ga?l PORTAY wrote:
> > Hello Thomas,
> > 
> > On Tue, Aug 15, 2017 at 10:50:06PM +0200, Thomas Petazzoni wrote:
> > > Hello,
> > > 
> > > On Tue, 15 Aug 2017 16:38:52 -0400, Ga?l PORTAY wrote:
> > >   
> > > > Ga?l PORTAY (3):
> > > >   qt5webengine: new package
> > > >   configs: new raspberrypi3 qt5we config  
> > > 
> > > So there are really 2 patches now, not 3 ?
> > >   
> > 
> > Yes, since Yann shows me that I can backport this patch [1], I can drop my patch
> > about rpi-userland and library symlinks.
> 
> Yes I know that, I followed the discussions. But your cover letter
> indicates [PATCH v8 0/3], and contains:
> 
>  Ga?l PORTAY (3):
>    qt5webengine: new package
>    configs: new raspberrypi3 qt5we config  
> 
> So you're announcing 3 patches, but you really have 2.
> 

Damned...

I used a diff tool to get back things from the coverletter of the v7. And 
obviously, I was not smart enough to copy only the right things... Sorry about
that.

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Buildroot] [PATCH v8 0/3] Qt WebEngine support
  2017-08-15 20:38 [Buildroot] [PATCH v8 0/3] Qt WebEngine support Gaël PORTAY
                   ` (2 preceding siblings ...)
  2017-08-15 20:50 ` [Buildroot] [PATCH v8 0/3] Qt WebEngine support Thomas Petazzoni
@ 2017-08-15 22:10 ` Julien Grossholtz
  2017-08-16 22:21   ` Julien Grossholtz
  2017-09-23 20:24 ` Arnout Vandecappelle
  4 siblings, 1 reply; 14+ messages in thread
From: Julien Grossholtz @ 2017-08-15 22:10 UTC (permalink / raw)
  To: buildroot

Hi,

I will test these patchs on a Beaglebone black.

Julien


----- Original Message -----
> From: "Ga?l Portay" <gael.portay@savoirfairelinux.com>
> To: "buildroot @ busybox . net" <buildroot@busybox.net>, "Thomas Petazzoni" <thomas.petazzoni@free-electrons.com>,
> "Peter Seiderer" <ps.report@gmx.net>, "Arnout Vandecappelle" <arnout@mind.be>, "Julien CORJON" <corjon.j@ecagroup.com>
> Cc: "Joshua Henderson" <joshua.henderson@microchip.com>, "Jean-Daniel Michaud" <jean.daniel.michaud@gmail.com>, "brents
> 3" <brents_3@hotmail.com>, "Ga?l Portay" <gael.portay@savoirfairelinux.com>, "gomis" <tuzaklirefik@gmail.com>, "Akihiko
> Odaki" <akihiko.odaki.4i@stu.hosei.ac.jp>
> Sent: Tuesday, August 15, 2017 4:38:52 PM
> Subject: [Buildroot] [PATCH v8 0/3] Qt WebEngine support

> Hi all,
> 
> The purpose of this patch series is to continue the integration of Qt5 WebEngine
> in buildroot; started long time ago by Akihiko Odaki [1] and Julien Corjon [2].
> 
> The first patch provides the Qt WebEngine package.
> 
> The second patch is a special defconfig that provides a Qt WebEngine setup on
> raspberrypi3 to provide a demo.
> 
> I have tested it with a rpi 3; and I will be glad if someone else has another
> EGL platform to test it. You will find instructions to try qtwebengine on rpi3
> in the commit message of the first patch.
> 
> Enjoy ;)
> 
> Note: Tested against:
>        - GCC 6.x and binutils 2.27 on rpi 3.
>        - GCC 7.x and binutils 2.28 on rpi 3.
> 
> [1] https://patchwork.ozlabs.org/patch/640633/
> [2] http://lists.busybox.net/pipermail/buildroot/2015-July/132010.html
> 
> Changes since RFC:
> - rebase to master (use SPDX licenses, remove license approved, update
>   qt5_defconfig...)
> - remove the patch "prefer arm tune"
> - disable build with Qt 5.6 LTS (not working, waiting for 5.6.3 in August)
> - re-order patches
> 
> Changes since v1:
> - manually create symlinks to preserve SONAME
> - add my signed-off-by to the qt webengine patch
> - make qtwe package depends on supported architectures
> - fix Kconfig comment about Qt 5.6
> - sort alphabetically chromium licenses
> 
> Changes since v2:
> - fix build issue when I sorted alphabetically the chromium licenses
> - replace legacy option BR2_TARGET_ROOTFS_EXT2_BLOCK to
>   new option BR2_TARGET_ROOTFS_EXT2_SIZE
> 
> Changes since v3:
> - add my signed-off-by and the PR link to the rpi-userland patch
> - move rpi patch index from 0001 to 0007
> 
> Changes since v4:
> - bump to Qt WebEngine to 5.9.1
> - added the mainlined patch that fixes the build issue with samples when print
>   is not supported
> - udev is selected (required by chromium)
> - add config entry to use system ffmpeg and set it to yes by default
> - the patch concerning the path to CA certificates has been removed since it is
>   no more relevant in 5.9.x
> - increase BR2_TARGET_ROOTFS_EXT2_SIZE to 360MB to support
>   $ du -sk target/
>   312480	target/
> 
> Changes since v5:
> - really add the mainlined patch that fixes the build issue with samples when
>   print is not supported
> - add BR2_PACKAGE_QT5WEBENGINE_ARCH_SUPPORTS to list all supported
>   architectures
> - add BR2_PACKAGE_QT5WEBENGINE missing dependencies (tc, mmu, wchar...)
> - stop using && for depends on relationships
> - update chromium licence list in chromium.inc
> - remove option BR2_PACKAGE_QT5WEBENGINE_SYSTEM_FFMPEG;
>   and compile ffmpeg, opus, libvpx and webp packages
> - reword help and add url to documentation of package qt5webengine
> - remove hash of 5.6.2 version
> - add QT5WEBENGINE_ namespace to QMAKEFLAGS
> - add missing TARGET_MAKE_ENV to BUILD_CMD
> - create python symlink form $(HOST_DIR)/bin (was $(HOST_DIR)/usr/bin)
> - add myself to DEVELOPERS
> 
> Changes since v6:
> - rpi-userland commit message:
>   fix output of ls -l snippet
>   update url to link to qtwe-5.9.1
>   add upstream-status
> - qtwe:
>   add missing host-bison, host-flex and host-pkgconf dependencies
>   select BR2_HOSTARCH_NEEDS_IA32_COMPILER to let v8 compiles its host-tools
>   with the same word-size as the target.
> 
> Changes since v7:
> - rpi-userland:
>   remove rpi-userland patch and apply upstreamed commit suggested by Yann.
> - qtwe:
>   reword the commit message to include notes from the coverletter
>   depends on has udev + comment (udev is needed at runtime)
>   depends on uses glibc + comment (for now, it builds only with glibc)
>   select qtquickcontrols2 (may be needed at runtime)
>   reword BR2_HOSTARCH_NEEDS_IA32_COMPILER comment
> - raspberrypi3_qt5we_defconfig:
>   rename raspberrypi3_qt5_defconfig into raspberrypi3_qt5we_defconfig
>   bump kernel (synced with all rpi defconfigs)
>   add gif, jpeg and options to raspberrypi3_qt5we_defconfig
>   use M suffix with BR2_TARGET_ROOTFS_EXT2_SIZE option
> 
> Ga?l PORTAY (3):
>  qt5webengine: new package
>  configs: new raspberrypi3 qt5we config
> 
> DEVELOPERS                                         |   1 +
> configs/raspberrypi3_qt5we_defconfig               |  50 ++++
> package/qt5/Config.in                              |   1 +
> .../0001-Always-compile-QWebEnginePage-print.patch | 246 ++++++++++++++++
> ...ad-libEGL-and-libGLES2-symbols-implicitly.patch |  89 ++++++
> package/qt5/qt5webengine/Config.in                 |  86 ++++++
> package/qt5/qt5webengine/chromium.inc              | 310 +++++++++++++++++++++
> package/qt5/qt5webengine/qt5webengine.hash         |   2 +
> package/qt5/qt5webengine/qt5webengine.mk           |  80 ++++++
> 9 files changed, 865 insertions(+)
> create mode 100644 configs/raspberrypi3_qt5we_defconfig
> create mode 100644
> package/qt5/qt5webengine/5.9.1/0001-Always-compile-QWebEnginePage-print.patch
> create mode 100644
> package/qt5/qt5webengine/5.9.1/0002-Load-libEGL-and-libGLES2-symbols-implicitly.patch
> create mode 100644 package/qt5/qt5webengine/Config.in
> create mode 100644 package/qt5/qt5webengine/chromium.inc
> create mode 100644 package/qt5/qt5webengine/qt5webengine.hash
> create mode 100644 package/qt5/qt5webengine/qt5webengine.mk
> 
> --
> 2.13.2
> 
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Buildroot] [PATCH v8 0/3] Qt WebEngine support
  2017-08-15 22:10 ` Julien Grossholtz
@ 2017-08-16 22:21   ` Julien Grossholtz
  2017-09-04 14:56     ` Zoltan Gyarmati
  0 siblings, 1 reply; 14+ messages in thread
From: Julien Grossholtz @ 2017-08-16 22:21 UTC (permalink / raw)
  To: buildroot

Hi,

I have been able to compile Qt WebEngine for the Beaglebone black. I ran the quicknanobrowser successfully even if performances are poor with this board and colors are not correct. I used the HDMI output and a mouse for this test.

It was necessary to add some fonts to the system to run quicknanobrowser.

It was also necessary to set QT_QPA_EGLFS_INTEGRATION to none, it fails without it:

$ cd /usr/lib/qt/examples/webengine/quicknanobrowser/
$ ./quicknanobrowser
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
PVR: Hint: Setting WindowSystem to libpvrDRMWSEGL_FRONT.so

mode for connector 20 is 1280x1024
mode for CRTC of connector 20 is 1280x1024
DRM SET CRTC: index: 0 fd: 5, crtc: 12, fb: 1e, conn: 14, mode: 1280x1024
EGL library doesn't support Emulator extensions
Aborted

$ QT_QPA_EGLFS_INTEGRATION=none ./quicknanobrowser www.google.com
QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
PVR: Hint: Setting WindowSystem to libpvrDRMWSEGL_FRONT.so

mode for connector 20 is 1280x1024
mode for CRTC of connector 20 is 1280x1024
fDRM SET CRTC: index: 0 fd: 6, crtc: 12, fb: 1e, conn: 14, mode: 1280x1024
Unable to query physical screen size, defaulting to 100 dpi.
To override, set QT_QPA_EGLFS_PHYSICAL_WIDTH and QT_QPA_EGLFS_PHYSICAL_HEIGHT (in millimeters).
PVR: Hint: Setting DisableHWTQTextureUpload to 1

[0101/001546.323753:WARNING:resource_bundle_qt.cpp(114)] locale_file_path.empty() for locale 
[0101/001546.688823:WARNING:resource_bundle_qt.cpp(114)] locale_file_path.empty() for locale 
PVR: Hint: Setting DisableHWTQTextureUpload to 1

PVR: Hint: Setting DisableHWTQTextureUpload to 1

PVR: Hint: Setting DisableHWTQTextureUpload to 1

PVR: Hint: Setting DisableHWTQTextureUpload to 1


So it is functional, but colors are somehow reversed.


Julien

----- Original Message -----
> From: "Julien Grossholtz" <julien.grossholtz@savoirfairelinux.com>
> To: "Ga?l Portay" <gael.portay@savoirfairelinux.com>
> Cc: "Thomas Petazzoni" <thomas.petazzoni@free-electrons.com>, "Joshua Henderson" <joshua.henderson@microchip.com>,
> "Jean-Daniel Michaud" <jean.daniel.michaud@gmail.com>, "brents 3" <brents_3@hotmail.com>, "Peter Seiderer"
> <ps.report@gmx.net>, "buildroot @ busybox . net" <buildroot@busybox.net>, "gomis" <tuzaklirefik@gmail.com>, "Akihiko
> Odaki" <akihiko.odaki.4i@stu.hosei.ac.jp>
> Sent: Tuesday, August 15, 2017 6:10:37 PM
> Subject: Re: [Buildroot] [PATCH v8 0/3] Qt WebEngine support

> Hi,
> 
> I will test these patchs on a Beaglebone black.
> 
> Julien
> 
> 
> ----- Original Message -----
>> From: "Ga?l Portay" <gael.portay@savoirfairelinux.com>
>> To: "buildroot @ busybox . net" <buildroot@busybox.net>, "Thomas Petazzoni"
>> <thomas.petazzoni@free-electrons.com>,
>> "Peter Seiderer" <ps.report@gmx.net>, "Arnout Vandecappelle" <arnout@mind.be>,
>> "Julien CORJON" <corjon.j@ecagroup.com>
>> Cc: "Joshua Henderson" <joshua.henderson@microchip.com>, "Jean-Daniel Michaud"
>> <jean.daniel.michaud@gmail.com>, "brents
>> 3" <brents_3@hotmail.com>, "Ga?l Portay" <gael.portay@savoirfairelinux.com>,
>> "gomis" <tuzaklirefik@gmail.com>, "Akihiko
>> Odaki" <akihiko.odaki.4i@stu.hosei.ac.jp>
>> Sent: Tuesday, August 15, 2017 4:38:52 PM
>> Subject: [Buildroot] [PATCH v8 0/3] Qt WebEngine support
> 
>> Hi all,
>> 
>> The purpose of this patch series is to continue the integration of Qt5 WebEngine
>> in buildroot; started long time ago by Akihiko Odaki [1] and Julien Corjon [2].
>> 
>> The first patch provides the Qt WebEngine package.
>> 
>> The second patch is a special defconfig that provides a Qt WebEngine setup on
>> raspberrypi3 to provide a demo.
>> 
>> I have tested it with a rpi 3; and I will be glad if someone else has another
>> EGL platform to test it. You will find instructions to try qtwebengine on rpi3
>> in the commit message of the first patch.
>> 
>> Enjoy ;)
>> 
>> Note: Tested against:
>>        - GCC 6.x and binutils 2.27 on rpi 3.
>>        - GCC 7.x and binutils 2.28 on rpi 3.
>> 
>> [1] https://patchwork.ozlabs.org/patch/640633/
>> [2] http://lists.busybox.net/pipermail/buildroot/2015-July/132010.html
>> 
>> Changes since RFC:
>> - rebase to master (use SPDX licenses, remove license approved, update
>>   qt5_defconfig...)
>> - remove the patch "prefer arm tune"
>> - disable build with Qt 5.6 LTS (not working, waiting for 5.6.3 in August)
>> - re-order patches
>> 
>> Changes since v1:
>> - manually create symlinks to preserve SONAME
>> - add my signed-off-by to the qt webengine patch
>> - make qtwe package depends on supported architectures
>> - fix Kconfig comment about Qt 5.6
>> - sort alphabetically chromium licenses
>> 
>> Changes since v2:
>> - fix build issue when I sorted alphabetically the chromium licenses
>> - replace legacy option BR2_TARGET_ROOTFS_EXT2_BLOCK to
>>   new option BR2_TARGET_ROOTFS_EXT2_SIZE
>> 
>> Changes since v3:
>> - add my signed-off-by and the PR link to the rpi-userland patch
>> - move rpi patch index from 0001 to 0007
>> 
>> Changes since v4:
>> - bump to Qt WebEngine to 5.9.1
>> - added the mainlined patch that fixes the build issue with samples when print
>>   is not supported
>> - udev is selected (required by chromium)
>> - add config entry to use system ffmpeg and set it to yes by default
>> - the patch concerning the path to CA certificates has been removed since it is
>>   no more relevant in 5.9.x
>> - increase BR2_TARGET_ROOTFS_EXT2_SIZE to 360MB to support
>>   $ du -sk target/
>>   312480	target/
>> 
>> Changes since v5:
>> - really add the mainlined patch that fixes the build issue with samples when
>>   print is not supported
>> - add BR2_PACKAGE_QT5WEBENGINE_ARCH_SUPPORTS to list all supported
>>   architectures
>> - add BR2_PACKAGE_QT5WEBENGINE missing dependencies (tc, mmu, wchar...)
>> - stop using && for depends on relationships
>> - update chromium licence list in chromium.inc
>> - remove option BR2_PACKAGE_QT5WEBENGINE_SYSTEM_FFMPEG;
>>   and compile ffmpeg, opus, libvpx and webp packages
>> - reword help and add url to documentation of package qt5webengine
>> - remove hash of 5.6.2 version
>> - add QT5WEBENGINE_ namespace to QMAKEFLAGS
>> - add missing TARGET_MAKE_ENV to BUILD_CMD
>> - create python symlink form $(HOST_DIR)/bin (was $(HOST_DIR)/usr/bin)
>> - add myself to DEVELOPERS
>> 
>> Changes since v6:
>> - rpi-userland commit message:
>>   fix output of ls -l snippet
>>   update url to link to qtwe-5.9.1
>>   add upstream-status
>> - qtwe:
>>   add missing host-bison, host-flex and host-pkgconf dependencies
>>   select BR2_HOSTARCH_NEEDS_IA32_COMPILER to let v8 compiles its host-tools
>>   with the same word-size as the target.
>> 
>> Changes since v7:
>> - rpi-userland:
>>   remove rpi-userland patch and apply upstreamed commit suggested by Yann.
>> - qtwe:
>>   reword the commit message to include notes from the coverletter
>>   depends on has udev + comment (udev is needed at runtime)
>>   depends on uses glibc + comment (for now, it builds only with glibc)
>>   select qtquickcontrols2 (may be needed at runtime)
>>   reword BR2_HOSTARCH_NEEDS_IA32_COMPILER comment
>> - raspberrypi3_qt5we_defconfig:
>>   rename raspberrypi3_qt5_defconfig into raspberrypi3_qt5we_defconfig
>>   bump kernel (synced with all rpi defconfigs)
>>   add gif, jpeg and options to raspberrypi3_qt5we_defconfig
>>   use M suffix with BR2_TARGET_ROOTFS_EXT2_SIZE option
>> 
>> Ga?l PORTAY (3):
>>  qt5webengine: new package
>>  configs: new raspberrypi3 qt5we config
>> 
>> DEVELOPERS                                         |   1 +
>> configs/raspberrypi3_qt5we_defconfig               |  50 ++++
>> package/qt5/Config.in                              |   1 +
>> .../0001-Always-compile-QWebEnginePage-print.patch | 246 ++++++++++++++++
>> ...ad-libEGL-and-libGLES2-symbols-implicitly.patch |  89 ++++++
>> package/qt5/qt5webengine/Config.in                 |  86 ++++++
>> package/qt5/qt5webengine/chromium.inc              | 310 +++++++++++++++++++++
>> package/qt5/qt5webengine/qt5webengine.hash         |   2 +
>> package/qt5/qt5webengine/qt5webengine.mk           |  80 ++++++
>> 9 files changed, 865 insertions(+)
>> create mode 100644 configs/raspberrypi3_qt5we_defconfig
>> create mode 100644
>> package/qt5/qt5webengine/5.9.1/0001-Always-compile-QWebEnginePage-print.patch
>> create mode 100644
>> package/qt5/qt5webengine/5.9.1/0002-Load-libEGL-and-libGLES2-symbols-implicitly.patch
>> create mode 100644 package/qt5/qt5webengine/Config.in
>> create mode 100644 package/qt5/qt5webengine/chromium.inc
>> create mode 100644 package/qt5/qt5webengine/qt5webengine.hash
>> create mode 100644 package/qt5/qt5webengine/qt5webengine.mk
>> 
>> --
>> 2.13.2
>> 
>> _______________________________________________
>> buildroot mailing list
>> buildroot at busybox.net
>> http://lists.busybox.net/mailman/listinfo/buildroot
> _______________________________________________
> buildroot mailing list
> buildroot at busybox.net
> http://lists.busybox.net/mailman/listinfo/buildroot

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Buildroot] [PATCH v8 0/3] Qt WebEngine support
  2017-08-16 22:21   ` Julien Grossholtz
@ 2017-09-04 14:56     ` Zoltan Gyarmati
  2017-09-12 12:40       ` Gaël PORTAY
  0 siblings, 1 reply; 14+ messages in thread
From: Zoltan Gyarmati @ 2017-09-04 14:56 UTC (permalink / raw)
  To: buildroot

On 08/17/2017 12:21 AM, Julien Grossholtz wrote:
> Hi,
>
> I have been able to compile Qt WebEngine for the Beaglebone black. I ran the quicknanobrowser successfully even if performances are poor with this board and colors are not correct. I used the HDMI output and a mouse for this test.
>
> It was necessary to add some fonts to the system to run quicknanobrowser.
>
> It was also necessary to set QT_QPA_EGLFS_INTEGRATION to none, it fails without it:
>
> $ cd /usr/lib/qt/examples/webengine/quicknanobrowser/
> $ ./quicknanobrowser
> QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
> PVR: Hint: Setting WindowSystem to libpvrDRMWSEGL_FRONT.so
>
> mode for connector 20 is 1280x1024
> mode for CRTC of connector 20 is 1280x1024
> DRM SET CRTC: index: 0 fd: 5, crtc: 12, fb: 1e, conn: 14, mode: 1280x1024
> EGL library doesn't support Emulator extensions
> Aborted
>
> $ QT_QPA_EGLFS_INTEGRATION=none ./quicknanobrowser www.google.com
> QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
> PVR: Hint: Setting WindowSystem to libpvrDRMWSEGL_FRONT.so
>
> mode for connector 20 is 1280x1024
> mode for CRTC of connector 20 is 1280x1024
> fDRM SET CRTC: index: 0 fd: 6, crtc: 12, fb: 1e, conn: 14, mode: 1280x1024
> Unable to query physical screen size, defaulting to 100 dpi.
> To override, set QT_QPA_EGLFS_PHYSICAL_WIDTH and QT_QPA_EGLFS_PHYSICAL_HEIGHT (in millimeters).
> PVR: Hint: Setting DisableHWTQTextureUpload to 1
>
> [0101/001546.323753:WARNING:resource_bundle_qt.cpp(114)] locale_file_path.empty() for locale 
> [0101/001546.688823:WARNING:resource_bundle_qt.cpp(114)] locale_file_path.empty() for locale 
> PVR: Hint: Setting DisableHWTQTextureUpload to 1
>
> PVR: Hint: Setting DisableHWTQTextureUpload to 1
>
> PVR: Hint: Setting DisableHWTQTextureUpload to 1
>
> PVR: Hint: Setting DisableHWTQTextureUpload to 1
>
>
> So it is functional, but colors are somehow reversed.
>
>
> Julien
>
> ----- Original Message -----
>> From: "Julien Grossholtz" <julien.grossholtz@savoirfairelinux.com>
>> To: "Ga?l Portay" <gael.portay@savoirfairelinux.com>
>> Cc: "Thomas Petazzoni" <thomas.petazzoni@free-electrons.com>, "Joshua Henderson" <joshua.henderson@microchip.com>,
>> "Jean-Daniel Michaud" <jean.daniel.michaud@gmail.com>, "brents 3" <brents_3@hotmail.com>, "Peter Seiderer"
>> <ps.report@gmx.net>, "buildroot @ busybox . net" <buildroot@busybox.net>, "gomis" <tuzaklirefik@gmail.com>, "Akihiko
>> Odaki" <akihiko.odaki.4i@stu.hosei.ac.jp>
>> Sent: Tuesday, August 15, 2017 6:10:37 PM
>> Subject: Re: [Buildroot] [PATCH v8 0/3] Qt WebEngine support
>> Hi,
>>
>> I will test these patchs on a Beaglebone black.
>>
>> Julien
>>
>>
>> ----- Original Message -----
>>> From: "Ga?l Portay" <gael.portay@savoirfairelinux.com>
>>> To: "buildroot @ busybox . net" <buildroot@busybox.net>, "Thomas Petazzoni"
>>> <thomas.petazzoni@free-electrons.com>,
>>> "Peter Seiderer" <ps.report@gmx.net>, "Arnout Vandecappelle" <arnout@mind.be>,
>>> "Julien CORJON" <corjon.j@ecagroup.com>
>>> Cc: "Joshua Henderson" <joshua.henderson@microchip.com>, "Jean-Daniel Michaud"
>>> <jean.daniel.michaud@gmail.com>, "brents
>>> 3" <brents_3@hotmail.com>, "Ga?l Portay" <gael.portay@savoirfairelinux.com>,
>>> "gomis" <tuzaklirefik@gmail.com>, "Akihiko
>>> Odaki" <akihiko.odaki.4i@stu.hosei.ac.jp>
>>> Sent: Tuesday, August 15, 2017 4:38:52 PM
>>> Subject: [Buildroot] [PATCH v8 0/3] Qt WebEngine support
>>> Hi all,
>>>
>>> The purpose of this patch series is to continue the integration of Qt5 WebEngine
>>> in buildroot; started long time ago by Akihiko Odaki [1] and Julien Corjon [2].
>>>
>>> The first patch provides the Qt WebEngine package.
>>>
>>> The second patch is a special defconfig that provides a Qt WebEngine setup on
>>> raspberrypi3 to provide a demo.
>>>
>>> I have tested it with a rpi 3; and I will be glad if someone else has another
>>> EGL platform to test it. You will find instructions to try qtwebengine on rpi3
>>> in the commit message of the first patch.
>>>
>>> Enjoy ;)
>>>
>>> Note: Tested against:
>>>        - GCC 6.x and binutils 2.27 on rpi 3.
>>>        - GCC 7.x and binutils 2.28 on rpi 3.
>>>
>>> [1] https://patchwork.ozlabs.org/patch/640633/
>>> [2] http://lists.busybox.net/pipermail/buildroot/2015-July/132010.html
>>>
>>> Changes since RFC:
>>> - rebase to master (use SPDX licenses, remove license approved, update
>>>   qt5_defconfig...)
>>> - remove the patch "prefer arm tune"
>>> - disable build with Qt 5.6 LTS (not working, waiting for 5.6.3 in August)
>>> - re-order patches
>>>
>>> Changes since v1:
>>> - manually create symlinks to preserve SONAME
>>> - add my signed-off-by to the qt webengine patch
>>> - make qtwe package depends on supported architectures
>>> - fix Kconfig comment about Qt 5.6
>>> - sort alphabetically chromium licenses
>>>
>>> Changes since v2:
>>> - fix build issue when I sorted alphabetically the chromium licenses
>>> - replace legacy option BR2_TARGET_ROOTFS_EXT2_BLOCK to
>>>   new option BR2_TARGET_ROOTFS_EXT2_SIZE
>>>
>>> Changes since v3:
>>> - add my signed-off-by and the PR link to the rpi-userland patch
>>> - move rpi patch index from 0001 to 0007
>>>
>>> Changes since v4:
>>> - bump to Qt WebEngine to 5.9.1
>>> - added the mainlined patch that fixes the build issue with samples when print
>>>   is not supported
>>> - udev is selected (required by chromium)
>>> - add config entry to use system ffmpeg and set it to yes by default
>>> - the patch concerning the path to CA certificates has been removed since it is
>>>   no more relevant in 5.9.x
>>> - increase BR2_TARGET_ROOTFS_EXT2_SIZE to 360MB to support
>>>   $ du -sk target/
>>>   312480	target/
>>>
>>> Changes since v5:
>>> - really add the mainlined patch that fixes the build issue with samples when
>>>   print is not supported
>>> - add BR2_PACKAGE_QT5WEBENGINE_ARCH_SUPPORTS to list all supported
>>>   architectures
>>> - add BR2_PACKAGE_QT5WEBENGINE missing dependencies (tc, mmu, wchar...)
>>> - stop using && for depends on relationships
>>> - update chromium licence list in chromium.inc
>>> - remove option BR2_PACKAGE_QT5WEBENGINE_SYSTEM_FFMPEG;
>>>   and compile ffmpeg, opus, libvpx and webp packages
>>> - reword help and add url to documentation of package qt5webengine
>>> - remove hash of 5.6.2 version
>>> - add QT5WEBENGINE_ namespace to QMAKEFLAGS
>>> - add missing TARGET_MAKE_ENV to BUILD_CMD
>>> - create python symlink form $(HOST_DIR)/bin (was $(HOST_DIR)/usr/bin)
>>> - add myself to DEVELOPERS
>>>
>>> Changes since v6:
>>> - rpi-userland commit message:
>>>   fix output of ls -l snippet
>>>   update url to link to qtwe-5.9.1
>>>   add upstream-status
>>> - qtwe:
>>>   add missing host-bison, host-flex and host-pkgconf dependencies
>>>   select BR2_HOSTARCH_NEEDS_IA32_COMPILER to let v8 compiles its host-tools
>>>   with the same word-size as the target.
>>>
>>> Changes since v7:
>>> - rpi-userland:
>>>   remove rpi-userland patch and apply upstreamed commit suggested by Yann.
>>> - qtwe:
>>>   reword the commit message to include notes from the coverletter
>>>   depends on has udev + comment (udev is needed at runtime)
>>>   depends on uses glibc + comment (for now, it builds only with glibc)
>>>   select qtquickcontrols2 (may be needed at runtime)
>>>   reword BR2_HOSTARCH_NEEDS_IA32_COMPILER comment
>>> - raspberrypi3_qt5we_defconfig:
>>>   rename raspberrypi3_qt5_defconfig into raspberrypi3_qt5we_defconfig
>>>   bump kernel (synced with all rpi defconfigs)
>>>   add gif, jpeg and options to raspberrypi3_qt5we_defconfig
>>>   use M suffix with BR2_TARGET_ROOTFS_EXT2_SIZE option
>>>
>>> Ga?l PORTAY (3):
>>>  qt5webengine: new package
>>>  configs: new raspberrypi3 qt5we config
>>>
>>> DEVELOPERS                                         |   1 +
>>> configs/raspberrypi3_qt5we_defconfig               |  50 ++++
>>> package/qt5/Config.in                              |   1 +
>>> .../0001-Always-compile-QWebEnginePage-print.patch | 246 ++++++++++++++++
>>> ...ad-libEGL-and-libGLES2-symbols-implicitly.patch |  89 ++++++
>>> package/qt5/qt5webengine/Config.in                 |  86 ++++++
>>> package/qt5/qt5webengine/chromium.inc              | 310 +++++++++++++++++++++
>>> package/qt5/qt5webengine/qt5webengine.hash         |   2 +
>>> package/qt5/qt5webengine/qt5webengine.mk           |  80 ++++++
>>> 9 files changed, 865 insertions(+)
>>> create mode 100644 configs/raspberrypi3_qt5we_defconfig
>>> create mode 100644
>>> package/qt5/qt5webengine/5.9.1/0001-Always-compile-QWebEnginePage-print.patch
>>> create mode 100644
>>> package/qt5/qt5webengine/5.9.1/0002-Load-libEGL-and-libGLES2-symbols-implicitly.patch
>>> create mode 100644 package/qt5/qt5webengine/Config.in
>>> create mode 100644 package/qt5/qt5webengine/chromium.inc
>>> create mode 100644 package/qt5/qt5webengine/qt5webengine.hash
>>> create mode 100644 package/qt5/qt5webengine/qt5webengine.mk
>>>
>>> --
>>> 2.13.2
>>>


Dear Ga?l & All

first of all: thanks for your persistenceon this!

I've tested the current config on RPi3, and with the
webenginewidgets/minimal example the qt.io webpage starts to load, but
after a short while the content on the screen is collapsing, and i get
this on the console:

> # /usr/lib/qt/examples/webenginewidgets/minimal/minimal
> QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
> Unable to query physical screen size, defaulting to 100 dpi.
> To override, set QT_QPA_EGLFS_PHYSICAL_WIDTH and
> QT_QPA_EGLFS_PHYSICAL_HEIGHT (in millimeters).
> [0904/143017.960529:WARNING:resource_bundle_qt.cpp(114)]
> locale_file_path.empty() for locale
> [0904/143018.185769:WARNING:resource_bundle_qt.cpp(114)]
> locale_file_path.empty() for locale
> glGetError 0x505
> [790:814:0904/143024.028196:ERROR:texture_manager.cc(3235)]
> [.RenderCompositor-0x6c706918]GL ERROR :GL_OUT_OF_MEMORY : glTexImage2D:
> [790:814:0904/143024.028386:ERROR:gles2_cmd_decoder.cc(5202)] Error: 5
> for Command kTexImage2D
> [790:814:0904/143024.028574:ERROR:gles2_cmd_decoder.cc(4169)]  
> GLES2DecoderImpl: Trying to make lost context current.
> [790:814:0904/143024.028688:ERROR:gles2_cmd_decoder.cc(4169)]  
> GLES2DecoderImpl: Trying to make lost context current.
> [790:814:0904/143024.028764:ERROR:gles2_cmd_decoder.cc(4169)]  
> GLES2DecoderImpl: Trying to make lost context current.
> [790:814:0904/143024.028840:ERROR:gles2_cmd_decoder.cc(4169)]  
> GLES2DecoderImpl: Trying to make lost context current.

Increasing the GPU memory to 192MB in config.txt seems to be fixing it
(for the qt.io homepage at least...), so i think it worth to consider to
increase the gpu_memory for raspberrypi3_qt5we_defconfig.
Apart from this (and from the general fact that Qt WebEngine is a
PITA...), it looks good to me. Unfortunately i don't have other
applicable HW around to test this, just a BBB which already has been
tested by Julien, but if needed, i'm happy to reproduce his test.


Regards

Zoltan Gyarmati
https://zgyarmati.de

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20170904/918289ad/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: OpenPGP digital signature
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20170904/918289ad/attachment.asc>

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Buildroot] [PATCH v8 0/3] Qt WebEngine support
  2017-09-04 14:56     ` Zoltan Gyarmati
@ 2017-09-12 12:40       ` Gaël PORTAY
  2017-09-17 14:11         ` Gaël PORTAY
  0 siblings, 1 reply; 14+ messages in thread
From: Gaël PORTAY @ 2017-09-12 12:40 UTC (permalink / raw)
  To: buildroot

Hi Zoltan,

On Mon, Sep 04, 2017 at 04:56:10PM +0200, Zoltan Gyarmati wrote:
> ... 
> Dear Ga?l & All
> 
> first of all: thanks for your persistenceon this!
> 
> I've tested the current config on RPi3, and with the
> webenginewidgets/minimal example the qt.io webpage starts to load, but
> after a short while the content on the screen is collapsing, and i get
> this on the console:
> 
> > # /usr/lib/qt/examples/webenginewidgets/minimal/minimal
> > QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
> > Unable to query physical screen size, defaulting to 100 dpi.
> > To override, set QT_QPA_EGLFS_PHYSICAL_WIDTH and
> > QT_QPA_EGLFS_PHYSICAL_HEIGHT (in millimeters).
> > [0904/143017.960529:WARNING:resource_bundle_qt.cpp(114)]
> > locale_file_path.empty() for locale
> > [0904/143018.185769:WARNING:resource_bundle_qt.cpp(114)]
> > locale_file_path.empty() for locale
> > glGetError 0x505
> > [790:814:0904/143024.028196:ERROR:texture_manager.cc(3235)]
> > [.RenderCompositor-0x6c706918]GL ERROR :GL_OUT_OF_MEMORY : glTexImage2D:
> > [790:814:0904/143024.028386:ERROR:gles2_cmd_decoder.cc(5202)] Error: 5
> > for Command kTexImage2D
> > [790:814:0904/143024.028574:ERROR:gles2_cmd_decoder.cc(4169)]  
> > GLES2DecoderImpl: Trying to make lost context current.
> > [790:814:0904/143024.028688:ERROR:gles2_cmd_decoder.cc(4169)]  
> > GLES2DecoderImpl: Trying to make lost context current.
> > [790:814:0904/143024.028764:ERROR:gles2_cmd_decoder.cc(4169)]  
> > GLES2DecoderImpl: Trying to make lost context current.
> > [790:814:0904/143024.028840:ERROR:gles2_cmd_decoder.cc(4169)]  
> > GLES2DecoderImpl: Trying to make lost context current.
> 
> Increasing the GPU memory to 192MB in config.txt seems to be fixing it
> (for the qt.io homepage at least...), so i think it worth to consider to
> increase the gpu_memory for raspberrypi3_qt5we_defconfig.
>

Thanks for the report.

I have already two patches for this. It is probably the right time to
send them :)

> Apart from this (and from the general fact that Qt WebEngine is a
> PITA...), it looks good to me. Unfortunately i don't have other
> applicable HW around to test this, just a BBB which already has been
> tested by Julien, but if needed, i'm happy to reproduce his test.
> 

Another platform that everybody have (but we used to forget) is a PC.

I started to test QTWE on my laptop using pc_x86_64_bios_defconfig, but
I do not have the time to go further.

I met the following error at runtime.

	QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
	gbm: failed to open any driver (search paths /usr/lib/dri)
	gbm: Last dlopen error: /usr/lib/dri/i965_dri.so: cannot open shared object file: No such file or directory
	failed to load driver: i965
	gbm: failed to open any driver (search paths /usr/lib/dri)
	gbm: Last dlopen error: /usr/lib/dri/kms_swrast_dri.so: cannot open shared object file: No such file or directory
	failed to load driver: kms_swrast
	gbm: failed to open any driver (search paths /usr/lib/dri)
	gbm: Last dlopen error: /usr/lib/dri/swrast_dri.so: cannot open shared object file: No such file or directory
	failed to load swrast driver
	Could not create GBM device (Invalid argument)
	Could not open DRM device
	Aborted

I enabled these configs (my laptop has an i915 chipset):

	- BR2_PACKAGE_MESA3D_DRI_DRIVER_I915
	- BR2_PACKAGE_LINUX_FIRMWARE_I915
	- BR2_PACKAGE_MESA3D_OPENGL_EGL
	- BR2_PACKAGE_MESA3D_OPENGL_ES

All, I do not know that much about graphic/opengl. I think I will need
some help to make it works.

> Regards
> 
> Zoltan Gyarmati
> https://zgyarmati.de

Regards,
Gael

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Buildroot] [PATCH v8 0/3] Qt WebEngine support
  2017-09-12 12:40       ` Gaël PORTAY
@ 2017-09-17 14:11         ` Gaël PORTAY
  0 siblings, 0 replies; 14+ messages in thread
From: Gaël PORTAY @ 2017-09-17 14:11 UTC (permalink / raw)
  To: buildroot

Hi all,

On Tue, Sep 12, 2017 at 08:40:33AM -0400, Ga?l PORTAY wrote:
> ...
> 
> Another platform that everybody have (but we used to forget) is a PC.
> 
> I started to test QTWE on my laptop using pc_x86_64_bios_defconfig, but
> I do not have the time to go further.
> 
> I met the following error at runtime.
> 
> 	QStandardPaths: XDG_RUNTIME_DIR not set, defaulting to '/tmp/runtime-root'
> 	gbm: failed to open any driver (search paths /usr/lib/dri)
> 	gbm: Last dlopen error: /usr/lib/dri/i965_dri.so: cannot open shared object file: No such file or directory
> 	failed to load driver: i965
> 	gbm: failed to open any driver (search paths /usr/lib/dri)
> 	gbm: Last dlopen error: /usr/lib/dri/kms_swrast_dri.so: cannot open shared object file: No such file or directory
> 	failed to load driver: kms_swrast
> 	gbm: failed to open any driver (search paths /usr/lib/dri)
> 	gbm: Last dlopen error: /usr/lib/dri/swrast_dri.so: cannot open shared object file: No such file or directory
> 	failed to load swrast driver
> 	Could not create GBM device (Invalid argument)
> 	Could not open DRM device
> 	Aborted
> 
> I enabled these configs (my laptop has an i915 chipset):
> 
> 	- BR2_PACKAGE_MESA3D_DRI_DRIVER_I915
> 	- BR2_PACKAGE_LINUX_FIRMWARE_I915
> 	- BR2_PACKAGE_MESA3D_OPENGL_EGL
> 	- BR2_PACKAGE_MESA3D_OPENGL_ES
> 
> All, I do not know that much about graphic/opengl. I think I will need
> some help to make it works.
> 
> > Regards
> > 
> > Zoltan Gyarmati
> > https://zgyarmati.de
> 
> Regards,
> Gael

I am able to make QtWE works on x86 too.

Regards,
Gael

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Buildroot] [PATCH v8 0/3] Qt WebEngine support
  2017-08-15 20:38 [Buildroot] [PATCH v8 0/3] Qt WebEngine support Gaël PORTAY
                   ` (3 preceding siblings ...)
  2017-08-15 22:10 ` Julien Grossholtz
@ 2017-09-23 20:24 ` Arnout Vandecappelle
  2017-09-23 20:28   ` Gaël PORTAY
  4 siblings, 1 reply; 14+ messages in thread
From: Arnout Vandecappelle @ 2017-09-23 20:24 UTC (permalink / raw)
  To: buildroot



On 15-08-17 22:38, Ga?l PORTAY wrote:
> Hi all,
> 
> The purpose of this patch series is to continue the integration of Qt5 WebEngine
> in buildroot; started long time ago by Akihiko Odaki [1] and Julien Corjon [2].
> 
> The first patch provides the Qt WebEngine package.
> 
> The second patch is a special defconfig that provides a Qt WebEngine setup on
> raspberrypi3 to provide a demo.
> 
> I have tested it with a rpi 3; and I will be glad if someone else has another
> EGL platform to test it. You will find instructions to try qtwebengine on rpi3
> in the commit message of the first patch.
> 
> Enjoy ;)
> 
> Note: Tested against:
>         - GCC 6.x and binutils 2.27 on rpi 3.
>         - GCC 7.x and binutils 2.28 on rpi 3.
> 
> [1] https://patchwork.ozlabs.org/patch/640633/
> [2] http://lists.busybox.net/pipermail/buildroot/2015-July/132010.html
 I finally applied your patches, with just a few more changes in the structure
of the Config.in dependencies. That was a long time coming, thanks for your
persistence!

 Regards,
 Arnout

-- 
Arnout Vandecappelle                          arnout at mind be
Senior Embedded Software Architect            +32-16-286500
Essensium/Mind                                http://www.mind.be
G.Geenslaan 9, 3001 Leuven, Belgium           BE 872 984 063 RPR Leuven
LinkedIn profile: http://www.linkedin.com/in/arnoutvandecappelle
GPG fingerprint:  7493 020B C7E3 8618 8DEC 222C 82EB F404 F9AC 0DDF

^ permalink raw reply	[flat|nested] 14+ messages in thread

* [Buildroot] [PATCH v8 0/3] Qt WebEngine support
  2017-09-23 20:24 ` Arnout Vandecappelle
@ 2017-09-23 20:28   ` Gaël PORTAY
  0 siblings, 0 replies; 14+ messages in thread
From: Gaël PORTAY @ 2017-09-23 20:28 UTC (permalink / raw)
  To: buildroot

Arnout,

On Sat, Sep 23, 2017 at 10:24:14PM +0200, Arnout Vandecappelle wrote:
>  I finally applied your patches, with just a few more changes in the structure
> of the Config.in dependencies. That was a long time coming, thanks for your
> persistence!
> 
>  Regards,
>  Arnout
>

Thanks!

^ permalink raw reply	[flat|nested] 14+ messages in thread

end of thread, other threads:[~2017-09-23 20:28 UTC | newest]

Thread overview: 14+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-08-15 20:38 [Buildroot] [PATCH v8 0/3] Qt WebEngine support Gaël PORTAY
2017-08-15 20:38 ` [Buildroot] [PATCH v8 1/2] qt5webengine: new package Gaël PORTAY
2017-08-15 20:38 ` [Buildroot] [PATCH v8 2/2] configs: new raspberrypi3 qt5we config Gaël PORTAY
2017-08-15 20:50 ` [Buildroot] [PATCH v8 0/3] Qt WebEngine support Thomas Petazzoni
2017-08-15 20:57   ` Gaël PORTAY
2017-08-15 21:57     ` Thomas Petazzoni
2017-08-15 22:04       ` Gaël PORTAY
2017-08-15 22:10 ` Julien Grossholtz
2017-08-16 22:21   ` Julien Grossholtz
2017-09-04 14:56     ` Zoltan Gyarmati
2017-09-12 12:40       ` Gaël PORTAY
2017-09-17 14:11         ` Gaël PORTAY
2017-09-23 20:24 ` Arnout Vandecappelle
2017-09-23 20:28   ` Gaël PORTAY

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.