Message ID | 20200702201125.3639873-1-aduskett@gmail.com |
---|---|
State | Superseded |
Headers | show |
Series | [1/1] package/ti-sgx-{km, um}: bump to SDK 06.01.00.08 versions | expand |
For what it's worth, I received an email a few days ago with the following body: "Hi Adam Thank you very much for this patch set! I've been pulling my hair for a long time trying to get Qt working with eglfs in Buildroot and the current TI SDK. Now I can finally use BBB for the next project :-) Best regards Markus" As he does not have a way to add a tested-by line, I will do so for him. Tested-by: Markus <zehnder@live.com> On Thu, Jul 2, 2020 at 1:11 PM <aduskett@gmail.com> wrote: > > From: Adam Duskett <Aduskett@gmail.com> > > Currently, the ti-sgx packages and the beaglebone_qt5_defconfig do not > work with KMS nor Weston. What's worse, is the latest SDK version > 06.03.00.106 (as of this commit) of these packages is broken and > does not correctly support KMS, and attempting to run KMS applications results > in eglfs initialization failures. As such, bumping these packages to the > version before 06.03.00.106 is the best option. > > Because of the above problems, several packages must change at the same time > to ensure this patch does not break any other packages. > > Changes include: > > board/beaglebone/rootfs_overlay: > - The TI SDK 06.01.00.08 provides a eglfs_kms_cfg.json file in /etc/qt5. > This file configures eglfs_kms needed to run QT applications. > > board/beaglebone/readme.txt: > - Update SDK version information > - Add help text on how to run the QT5 hellowindow OpenGL demo. > - Add me to the bottom of the file. > > configs/beaglebone_qt5_defconfig: > - Remove QT5Wayland and set the default QPA to eglfs. > Even with the above fixes, the SDK packages do not yet support Weston > versions greater than 5.0. Changing the default QPA from Wayland to eglfs > allows a user to run QT in KMS mode by default. > - Add board/beaglebone/rootfs_overlay as an overlay directory. > > ti-sgx-um: > - Bump the version that matches TI SDK 06.01.00.08. > - Remove select BR2_PACKAGE_TI_SGX_LIBGBM in Config.in, as the libgbm > package merges ti-sgx-libgbm with this package. > > ti-sgx-demos: > - Because weston does not work, change the installation path from > "$(@D)/targetfs/arm/Examples/Advanced/Wayland/" to > "$(@D)/targetfs/arm/Examples/Advanced/NullWS/" > These demos are designed to work with KMS output. > > ti-sgx-km: > - Bump the version that matches TI SDK 06.01.00.08. > > package/qt5/qt5base/qt5base.mk: > - Change the check for BR2_PACKAGE_TI_SGX_LIBGBM to BR2_PACKAGE_TI_SGX_UM > > Config.in.legacy: > - Add an entry for BR2_PACKAGE_TI_SGX_LIBGBM. > > Signed-off-by: Adam Duskett <Aduskett@gmail.com> > --- > Config.in.legacy | 6 ++++ > board/beaglebone/readme.txt | 12 ++++++- > .../rootfs_overlay/etc/qt5/eglfs_kms_cfg.json | 15 +++++++++ > configs/beaglebone_qt5_defconfig | 5 +-- > package/Config.in | 1 - > package/ti-sgx-demos/ti-sgx-demos.mk | 2 +- > package/ti-sgx-km/ti-sgx-km.hash | 4 +-- > package/ti-sgx-km/ti-sgx-km.mk | 4 +-- > ...-Add-missing-sys-sysmacros.h-include.patch | 25 --------------- > package/ti-sgx-libgbm/Config.in | 12 ------- > package/ti-sgx-libgbm/ti-sgx-libgbm.hash | 3 -- > package/ti-sgx-libgbm/ti-sgx-libgbm.mk | 32 ------------------- > package/ti-sgx-um/Config.in | 1 - > package/ti-sgx-um/ti-sgx-um.hash | 4 +-- > package/ti-sgx-um/ti-sgx-um.mk | 4 +-- > 15 files changed, 42 insertions(+), 88 deletions(-) > create mode 100644 board/beaglebone/rootfs_overlay/etc/qt5/eglfs_kms_cfg.json > delete mode 100644 package/ti-sgx-libgbm/0001-Add-missing-sys-sysmacros.h-include.patch > delete mode 100644 package/ti-sgx-libgbm/Config.in > delete mode 100644 package/ti-sgx-libgbm/ti-sgx-libgbm.hash > delete mode 100644 package/ti-sgx-libgbm/ti-sgx-libgbm.mk > > diff --git a/Config.in.legacy b/Config.in.legacy > index 7a5435188b..151715b461 100644 > --- a/Config.in.legacy > +++ b/Config.in.legacy > @@ -146,6 +146,12 @@ endif > > comment "Legacy options removed in 2020.08" > > +config BR2_PACKAGE_TI_SGX_LIBGBM > + bool "ti-sgx-libgbm support removed" > + help > + TI has merged the ti-sgx-libgbm package with the ti-sgx-um > + package > + > config BR2_BINUTILS_VERSION_2_31_X > bool "binutils version 2.31.1 support removed" > select BR2_LEGACY > diff --git a/board/beaglebone/readme.txt b/board/beaglebone/readme.txt > index e6647dad2a..231e977a89 100644 > --- a/board/beaglebone/readme.txt > +++ b/board/beaglebone/readme.txt > @@ -7,7 +7,7 @@ Description > This configuration will build a complete image for the beaglebone and > the TI AM335x-EVM, the board type is identified by the on-board > EEPROM. The configuration is based on the > -ti-processor-sdk-02.00.00.00. Device tree blobs for beaglebone > +ti-processor-sdk-06.01.00.08. Device tree blobs for beaglebone > variants and the evm-sk are built too. > > For Qt5 support support use the beaglebone_qt5_defconfig. > @@ -43,10 +43,20 @@ output/images/ > To copy the image file to the sdcard use dd: > $ dd if=output/images/sdcard.img of=/dev/XXX > > + > +Running Qt5 hellowindow opengl demo: > +=================== > +# export QT_QPA_EGLFS_KMS_CONFIG=/etc/qt5/eglfs_kms_cfg.json > +# export QT_QPA_PLATFORM=eglfs > +# export QT_QPA_EGLFS_INTEGRATION=none > +# /usr/lib/qt/examples/opengl/hellowindow/hellowindow > + > + > Tested hardware > =============== > am335x-evm (rev. 1.1A) > beagleboneblack (rev. A5A) > beaglebone (rev. A6) > > +2020, Adam Duskett <aduskett@gmail.com> > 2016, Lothar Felten <lothar.felten@gmail.com> > diff --git a/board/beaglebone/rootfs_overlay/etc/qt5/eglfs_kms_cfg.json b/board/beaglebone/rootfs_overlay/etc/qt5/eglfs_kms_cfg.json > new file mode 100644 > index 0000000000..76f5e7d379 > --- /dev/null > +++ b/board/beaglebone/rootfs_overlay/etc/qt5/eglfs_kms_cfg.json > @@ -0,0 +1,15 @@ > +{ > + "device": "/dev/dri/card0", > + "hwcursor": false, > + "pbuffers": true, > + "outputs": [ > + { > + "name": "VGA1", > + "mode": "off" > + }, > + { > + "name": "HDMI1", > + "mode": "1024x768" > + } > + ] > +} > diff --git a/configs/beaglebone_qt5_defconfig b/configs/beaglebone_qt5_defconfig > index 5f7b911e5d..6e0371a7d3 100644 > --- a/configs/beaglebone_qt5_defconfig > +++ b/configs/beaglebone_qt5_defconfig > @@ -20,11 +20,8 @@ BR2_PACKAGE_FBV=y > BR2_PACKAGE_QT5=y > BR2_PACKAGE_QT5BASE_EXAMPLES=y > BR2_PACKAGE_QT5BASE_EGLFS=y > -BR2_PACKAGE_QT5BASE_DEFAULT_QPA="wayland" > +BR2_PACKAGE_QT5BASE_DEFAULT_QPA="eglfs" > BR2_PACKAGE_QT5QUICKCONTROLS=y > -BR2_PACKAGE_QT5WAYLAND=y > -BR2_PACKAGE_QT5WAYLAND_COMPOSITOR=y > -BR2_PACKAGE_WESTON=y > BR2_PACKAGE_TI_SGX_DEMOS=y > BR2_PACKAGE_TI_SGX_KM=y > BR2_PACKAGE_TI_SGX_UM=y > diff --git a/package/Config.in b/package/Config.in > index 6a34a895af..6abd138f45 100644 > --- a/package/Config.in > +++ b/package/Config.in > @@ -551,7 +551,6 @@ endmenu > source "package/ti-gfx/Config.in" > source "package/ti-sgx-demos/Config.in" > source "package/ti-sgx-km/Config.in" > - source "package/ti-sgx-libgbm/Config.in" > source "package/ti-sgx-um/Config.in" > source "package/ti-uim/Config.in" > source "package/ti-utils/Config.in" > diff --git a/package/ti-sgx-demos/ti-sgx-demos.mk b/package/ti-sgx-demos/ti-sgx-demos.mk > index 8599e88e9b..ea6c6c6b08 100644 > --- a/package/ti-sgx-demos/ti-sgx-demos.mk > +++ b/package/ti-sgx-demos/ti-sgx-demos.mk > @@ -12,7 +12,7 @@ TI_SGX_DEMOS_LICENSE = Imagination Technologies License Agreement > TI_SGX_DEMOS_LICENSE_FILES = LegalNotice.txt > > define TI_SGX_DEMOS_INSTALL_TARGET_CMDS > - cp -dpfr $(@D)/targetfs/arm/Examples/Advanced/Wayland/OGLES* \ > + cp -dpfr $(@D)/targetfs/arm/Examples/Advanced/NullWS/OGLES* \ > $(TARGET_DIR)/usr/bin/ > endef > > diff --git a/package/ti-sgx-km/ti-sgx-km.hash b/package/ti-sgx-km/ti-sgx-km.hash > index 1fd07d7467..2fd3b56b1e 100644 > --- a/package/ti-sgx-km/ti-sgx-km.hash > +++ b/package/ti-sgx-km/ti-sgx-km.hash > @@ -1,3 +1,3 @@ > # Locally computed: > -sha256 f1505f38f9e82f958673bb1755e65090bdbc513a68d41640561d9d491bc4b0e3 ti-sgx-km-4519ed3b83d1d72207ddc2874c7eb5e5a7f20d8d.tar.gz > -sha256 e9d660547691b2a9232850fd43aac16d40fd063023166fd27162020c30dc2bd4 eurasia_km/GPL-COPYING > +sha256 ea70356dd0fd7f904f6d6046c4090c7d6d0126e13039db746c75bb6e666864d8 ti-sgx-km-cf7f48cb30abfd5df7a60c9bf4bbb1dde0d496d9.tar.gz > +sha256 e9d660547691b2a9232850fd43aac16d40fd063023166fd27162020c30dc2bd4 eurasia_km/GPL-COPYING > diff --git a/package/ti-sgx-km/ti-sgx-km.mk b/package/ti-sgx-km/ti-sgx-km.mk > index ae294c300a..25f1f83ca7 100644 > --- a/package/ti-sgx-km/ti-sgx-km.mk > +++ b/package/ti-sgx-km/ti-sgx-km.mk > @@ -4,8 +4,8 @@ > # > ################################################################################ > > -# This correpsonds to SDK 06.00.00.07 > -TI_SGX_KM_VERSION = 4519ed3b83d1d72207ddc2874c7eb5e5a7f20d8d > +# This correpsonds to SDK 06.01.00.08 > +TI_SGX_KM_VERSION = cf7f48cb30abfd5df7a60c9bf4bbb1dde0d496d9 > TI_SGX_KM_SITE = http://git.ti.com/git/graphics/omap5-sgx-ddk-linux.git > TI_SGX_KM_SITE_METHOD = git > TI_SGX_KM_LICENSE = GPL-2.0 > diff --git a/package/ti-sgx-libgbm/0001-Add-missing-sys-sysmacros.h-include.patch b/package/ti-sgx-libgbm/0001-Add-missing-sys-sysmacros.h-include.patch > deleted file mode 100644 > index 2863c93bed..0000000000 > --- a/package/ti-sgx-libgbm/0001-Add-missing-sys-sysmacros.h-include.patch > +++ /dev/null > @@ -1,25 +0,0 @@ > -From e3a3f3655956265eb4f3b866d445a9d19e613594 Mon Sep 17 00:00:00 2001 > -From: Lothar Felten <lothar.felten@gmail.com> > -Date: Thu, 14 Nov 2019 23:37:07 -0300 > -Subject: [PATCH] Add missing sys/sysmacros.h include > - > -Signed-off-by: Lothar Felten <lothar.felten@gmail.com> > ---- > - gbm.c | 1 + > - 1 file changed, 1 insertion(+) > - > -diff --git a/gbm.c b/gbm.c > -index 7bc5880..e360da7 100644 > ---- a/gbm.c > -+++ b/gbm.c > -@@ -36,6 +36,7 @@ > - > - #include <sys/types.h> > - #include <sys/stat.h> > -+#include <sys/sysmacros.h> > - #include <unistd.h> > - #include <errno.h> > - > --- > -2.18.1 > - > diff --git a/package/ti-sgx-libgbm/Config.in b/package/ti-sgx-libgbm/Config.in > deleted file mode 100644 > index 2c679e2046..0000000000 > --- a/package/ti-sgx-libgbm/Config.in > +++ /dev/null > @@ -1,12 +0,0 @@ > -config BR2_PACKAGE_TI_SGX_LIBGBM > - bool "ti-sgx-libgbm" > - depends on BR2_TOOLCHAIN_HAS_THREADS > - depends on BR2_PACKAGE_HAS_UDEV > - select BR2_PACKAGE_LIBDRM > - help > - TI SGX libgbm variant. > - > - https://git.ti.com/cgit/glsdk/libgbm > - > -comment "ti-sgx-libgbm needs udev and a toolchain w/ threads" > - depends on !BR2_PACKAGE_HAS_UDEV || !BR2_TOOLCHAIN_HAS_THREADS > diff --git a/package/ti-sgx-libgbm/ti-sgx-libgbm.hash b/package/ti-sgx-libgbm/ti-sgx-libgbm.hash > deleted file mode 100644 > index 32af5ad5ae..0000000000 > --- a/package/ti-sgx-libgbm/ti-sgx-libgbm.hash > +++ /dev/null > @@ -1,3 +0,0 @@ > -# Locally computed: > -sha256 85e3eafcd06caccd8c4cea3081b1406ae51c07e19541ac19b9c33a5b41fec82d ti-sgx-libgbm-c5ddc6a37bb78ac753b317b17d890d1f7338dea6.tar.gz > -sha256 58fe00de76ae5d533e1c562950e1848682c03155a653d76870cf0a3c59be8b4c gbm.h > diff --git a/package/ti-sgx-libgbm/ti-sgx-libgbm.mk b/package/ti-sgx-libgbm/ti-sgx-libgbm.mk > deleted file mode 100644 > index 00a0716e21..0000000000 > --- a/package/ti-sgx-libgbm/ti-sgx-libgbm.mk > +++ /dev/null > @@ -1,32 +0,0 @@ > -################################################################################ > -# > -# ti-sgx-libgbm > -# > -################################################################################ > - > -# This correpsonds to SDK 06.00.00.07 > -TI_SGX_LIBGBM_VERSION = c5ddc6a37bb78ac753b317b17d890d1f7338dea6 > -TI_SGX_LIBGBM_SITE = http://git.ti.com/git/glsdk/libgbm.git > -TI_SGX_LIBGBM_SITE_METHOD = git > -TI_SGX_LIBGBM_LICENSE = MIT > -TI_SGX_LIBGBM_LICENSE_FILES = gbm.h > -TI_SGX_LIBGBM_INSTALL_STAGING = YES > -TI_SGX_LIBGBM_AUTORECONF = YES > - > -TI_SGX_LIBGBM_DEPENDENCIES = libdrm udev > - > -define TI_SGX_LIBGBM_INSTALL_TARGET_OPTS > - PREFIX=/usr \ > - STRIP=/bin/true \ > - DESTDIR=$(TARGET_DIR) \ > - install > -endef > - > -define TI_SGX_LIBGBM_INSTALL_STAGING_OPTS > - PREFIX=/usr \ > - STRIP=/bin/true \ > - DESTDIR=$(STAGING_DIR) \ > - install > -endef > - > -$(eval $(autotools-package)) > diff --git a/package/ti-sgx-um/Config.in b/package/ti-sgx-um/Config.in > index ee87d46aa4..6a8b7e87e3 100644 > --- a/package/ti-sgx-um/Config.in > +++ b/package/ti-sgx-um/Config.in > @@ -17,7 +17,6 @@ config BR2_PACKAGE_TI_SGX_UM > select BR2_PACKAGE_HAS_LIBEGL > select BR2_PACKAGE_HAS_LIBGLES > select BR2_PACKAGE_HAS_POWERVR > - select BR2_PACKAGE_TI_SGX_LIBGBM > select BR2_PACKAGE_LIBFFI > select BR2_PACKAGE_WAYLAND > help > diff --git a/package/ti-sgx-um/ti-sgx-um.hash b/package/ti-sgx-um/ti-sgx-um.hash > index ff54ecbd6d..8e8c5ff328 100644 > --- a/package/ti-sgx-um/ti-sgx-um.hash > +++ b/package/ti-sgx-um/ti-sgx-um.hash > @@ -1,3 +1,3 @@ > # Locally computed: > -sha256 cb1373a6335af3d3741c6b11cf217afc8bdbe182642229df359c38e3ccfc5866 ti-sgx-um-2a2e5bb090ced870d73ed4edbc54793e952cc6d8.tar.gz > -sha256 368c306246c9130b5c90a6fef2f80085f70b6225b3f552654a288c0f39fc1531 TI-Linux-Graphics-DDK-UM-Manifest.doc > +sha256 4d293a4170e2fd28852680830dacd8f575b12037f3e15bcf599232f6ccbf6deb ti-sgx-um-909e237baf47d0bde006ff25552f5403fd7e359d.tar.gz > +sha256 368c306246c9130b5c90a6fef2f80085f70b6225b3f552654a288c0f39fc1531 TI-Linux-Graphics-DDK-UM-Manifest.doc > diff --git a/package/ti-sgx-um/ti-sgx-um.mk b/package/ti-sgx-um/ti-sgx-um.mk > index 0e26d057c1..30d1ef81f0 100644 > --- a/package/ti-sgx-um/ti-sgx-um.mk > +++ b/package/ti-sgx-um/ti-sgx-um.mk > @@ -4,8 +4,8 @@ > # > ################################################################################ > > -# This correpsonds to SDK 06.00.00.07 plus one pull request > -TI_SGX_UM_VERSION = 2a2e5bb090ced870d73ed4edbc54793e952cc6d8 > +# This correpsonds to SDK 06.01.00.08 > +TI_SGX_UM_VERSION = 909e237baf47d0bde006ff25552f5403fd7e359d > TI_SGX_UM_SITE = http://git.ti.com/git/graphics/omap5-sgx-ddk-um-linux.git > TI_SGX_UM_SITE_METHOD = git > TI_SGX_UM_LICENSE = TI TSPA License > -- > 2.26.2 >
I'm the happy ti-sgx patch user and newly subscribed to the mailing list. BR2_PACKAGE_TI_SGX_DEMOS, the Qt examples and the famous BR2_PACKAGE_QT5CINEX_HD are working now in Qt 5.12.8 and 5.15.0. For the patch to work I had to add two small things: - patching qt5base.mk as mentioned in the description, but missing in the patch - patch Qt core to fix a compile error with the eglfs backend, related to: https://bugreports.qt.io/browse/QTBUG-72567 What's the proper way to proceed with the patch, resubmit a new patch series? It would be great if it could be included. If anyone needs them immediately, here's what I've added to Adam's patch: diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk index e0189599a7..c402f42008 100644 --- a/package/qt5/qt5base/qt5base.mk +++ b/package/qt5/qt5base/qt5base.mk @@ -76,9 +76,9 @@ QT5BASE_DEPENDENCIES += mesa3d else ifeq ($(BR2_PACKAGE_GCNANO_BINARIES),y) QT5BASE_CONFIGURE_OPTS += -gbm QT5BASE_DEPENDENCIES += gcnano-binaries -else ifeq ($(BR2_PACKAGE_TI_SGX_LIBGBM),y) +else ifeq ($(BR2_PACKAGE_TI_SGX_UM),y) QT5BASE_CONFIGURE_OPTS += -gbm -QT5BASE_DEPENDENCIES += ti-sgx-libgbm +QT5BASE_DEPENDENCIES += ti-sgx-um else ifeq ($(BR2_PACKAGE_IMX_GPU_VIV),y) QT5BASE_CONFIGURE_OPTS += -gbm QT5BASE_DEPENDENCIES += imx-gpu-viv qt5base patch: diff -Naur a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp --- a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp +++ b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp @@ -80,7 +80,8 @@ } if (getPlatformDisplay) { - display = getPlatformDisplay(EGL_PLATFORM_GBM_KHR, nativeDisplay, nullptr); + qintptr nativeDisplayPtr = reinterpret_cast<qintptr>(nativeDisplay); + display = getPlatformDisplay(EGL_PLATFORM_GBM_KHR, reinterpret_cast<void *>(&nativeDisplayPtr), nullptr); } else { qCDebug(qLcEglfsKmsDebug, "No eglGetPlatformDisplay for GBM, falling back to eglGetDisplay"); display = eglGetDisplay(nativeDisplay); -- Sent from: http://buildroot-busybox.2317881.n4.nabble.com/
Hey Markus! Thanks for the comment! Ideally, your patch would come next after my patch is applied upstream. I can attempt to ping the maintainers directly for a review; however, I believe they are more focused on the 2020.11 release. Adam On Tue, Nov 17, 2020 at 12:30 PM Markus Zehnder <zehnder@live.com> wrote: > > I'm the happy ti-sgx patch user and newly subscribed to the mailing list. > BR2_PACKAGE_TI_SGX_DEMOS, the Qt examples and the famous > BR2_PACKAGE_QT5CINEX_HD are working now in Qt 5.12.8 and 5.15.0. > > For the patch to work I had to add two small things: > - patching qt5base.mk as mentioned in the description, but missing in the > patch > - patch Qt core to fix a compile error with the eglfs backend, related to: > https://bugreports.qt.io/browse/QTBUG-72567 > > What's the proper way to proceed with the patch, resubmit a new patch > series? It would be great if it could be included. > If anyone needs them immediately, here's what I've added to Adam's patch: > > diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk > index e0189599a7..c402f42008 100644 > --- a/package/qt5/qt5base/qt5base.mk > +++ b/package/qt5/qt5base/qt5base.mk > @@ -76,9 +76,9 @@ QT5BASE_DEPENDENCIES += mesa3d > else ifeq ($(BR2_PACKAGE_GCNANO_BINARIES),y) > QT5BASE_CONFIGURE_OPTS += -gbm > QT5BASE_DEPENDENCIES += gcnano-binaries > -else ifeq ($(BR2_PACKAGE_TI_SGX_LIBGBM),y) > +else ifeq ($(BR2_PACKAGE_TI_SGX_UM),y) > QT5BASE_CONFIGURE_OPTS += -gbm > -QT5BASE_DEPENDENCIES += ti-sgx-libgbm > +QT5BASE_DEPENDENCIES += ti-sgx-um > else ifeq ($(BR2_PACKAGE_IMX_GPU_VIV),y) > QT5BASE_CONFIGURE_OPTS += -gbm > QT5BASE_DEPENDENCIES += imx-gpu-viv > > qt5base patch: > > diff -Naur > a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp > b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp > --- > a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp > +++ > b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp > @@ -80,7 +80,8 @@ > } > > if (getPlatformDisplay) { > - display = getPlatformDisplay(EGL_PLATFORM_GBM_KHR, nativeDisplay, > nullptr); > + qintptr nativeDisplayPtr = > reinterpret_cast<qintptr>(nativeDisplay); > + display = getPlatformDisplay(EGL_PLATFORM_GBM_KHR, > reinterpret_cast<void *>(&nativeDisplayPtr), nullptr); > } else { > qCDebug(qLcEglfsKmsDebug, "No eglGetPlatformDisplay for GBM, > falling back to eglGetDisplay"); > display = eglGetDisplay(nativeDisplay); > > > > > -- > Sent from: http://buildroot-busybox.2317881.n4.nabble.com/ > _______________________________________________ > buildroot mailing list > buildroot@busybox.net > http://lists.busybox.net/mailman/listinfo/buildroot
Hi Adam, I'm toying around with this package as I try to get wpewebkit working on an AM5728. I was wondering: How did you find out which commits correspond to the specific TI SDK Version? In the Software_Manifests provided by TI [0] I only see references to Branches. But no Tags or Commits. Can you give me a hint? Regards, Michael [0] https://software-dl.ti.com/processor-sdk-linux-rt/esd/AM57X/latest/exports/software_manifest.htm
Hey Michael; It was a bit of trial and error that took quite a while to figure out! It's been quite some time since I did this but the basic troubleshooting was in this order (ish): - Update the various am335x Buildroot packages to match the latest release - Find out the new packages don't work with eglfs - Download the newest AM335x SDK release and burn it to an SD Card - Find out that the packages also don't work - Download the second to newest AM335x SDK release from TI and burn that to an SD Card - EGLFS works At this point, I had to find a way to figure out what was the proper commit hash. To do that, I was lucky in the sense that the user modules are pre-compiled binary blobs. So by ways of trial and error, I checked out each commit in order until I found .so's that were the exact match in size and date as the ones provided in the official AM335x SDK release that had a working eglfs. That release happened to be 909e237baf47d0bde006ff25552f5403fd7e359d which corresponds to one commit before v06.03 was released. At that point, I tried (and failed) to update all of the other packages related to these packages, and to update the board files as well so nobody else would have to go through the 40+ hours of work it took me to figure out how to get EGLFS working with Buildroot on the AM335x platform. Hopefully, that's helpful! Adam > Hi Adam, > > I'm toying around with this package as I try to get wpewebkit working on an AM5728. > > I was wondering: How did you find out which commits correspond to the specific TI SDK Version? > In the Software_Manifests provided by TI [0] I only see references to Branches. But no Tags or Commits. > Can you give me a hint? > > Regards, > Michael > > [0] https://software-dl.ti.com/processor-sdk-linux-rt/esd/AM57X/latest/exports/software_manifest.htm > > On Wed, Nov 18, 2020 at 8:56 AM Adam Duskett <aduskett@gmail.com> wrote: > > Hey Markus! Thanks for the comment! > > Ideally, your patch would come next after my patch is applied > upstream. I can attempt to ping the maintainers directly for a review; > however, I believe they are more focused on the 2020.11 release. > > Adam > > On Tue, Nov 17, 2020 at 12:30 PM Markus Zehnder <zehnder@live.com> wrote: > > > > I'm the happy ti-sgx patch user and newly subscribed to the mailing list. > > BR2_PACKAGE_TI_SGX_DEMOS, the Qt examples and the famous > > BR2_PACKAGE_QT5CINEX_HD are working now in Qt 5.12.8 and 5.15.0. > > > > For the patch to work I had to add two small things: > > - patching qt5base.mk as mentioned in the description, but missing in the > > patch > > - patch Qt core to fix a compile error with the eglfs backend, related to: > > https://bugreports.qt.io/browse/QTBUG-72567 > > > > What's the proper way to proceed with the patch, resubmit a new patch > > series? It would be great if it could be included. > > If anyone needs them immediately, here's what I've added to Adam's patch: > > > > diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk > > index e0189599a7..c402f42008 100644 > > --- a/package/qt5/qt5base/qt5base.mk > > +++ b/package/qt5/qt5base/qt5base.mk > > @@ -76,9 +76,9 @@ QT5BASE_DEPENDENCIES += mesa3d > > else ifeq ($(BR2_PACKAGE_GCNANO_BINARIES),y) > > QT5BASE_CONFIGURE_OPTS += -gbm > > QT5BASE_DEPENDENCIES += gcnano-binaries > > -else ifeq ($(BR2_PACKAGE_TI_SGX_LIBGBM),y) > > +else ifeq ($(BR2_PACKAGE_TI_SGX_UM),y) > > QT5BASE_CONFIGURE_OPTS += -gbm > > -QT5BASE_DEPENDENCIES += ti-sgx-libgbm > > +QT5BASE_DEPENDENCIES += ti-sgx-um > > else ifeq ($(BR2_PACKAGE_IMX_GPU_VIV),y) > > QT5BASE_CONFIGURE_OPTS += -gbm > > QT5BASE_DEPENDENCIES += imx-gpu-viv > > > > qt5base patch: > > > > diff -Naur > > a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp > > b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp > > --- > > a/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp > > +++ > > b/src/plugins/platforms/eglfs/deviceintegration/eglfs_kms/qeglfskmsgbmintegration.cpp > > @@ -80,7 +80,8 @@ > > } > > > > if (getPlatformDisplay) { > > - display = getPlatformDisplay(EGL_PLATFORM_GBM_KHR, nativeDisplay, > > nullptr); > > + qintptr nativeDisplayPtr = > > reinterpret_cast<qintptr>(nativeDisplay); > > + display = getPlatformDisplay(EGL_PLATFORM_GBM_KHR, > > reinterpret_cast<void *>(&nativeDisplayPtr), nullptr); > > } else { > > qCDebug(qLcEglfsKmsDebug, "No eglGetPlatformDisplay for GBM, > > falling back to eglGetDisplay"); > > display = eglGetDisplay(nativeDisplay); > > > > > > > > > > -- > > Sent from: http://buildroot-busybox.2317881.n4.nabble.com/ > > _______________________________________________ > > buildroot mailing list > > buildroot@busybox.net > > http://lists.busybox.net/mailman/listinfo/buildroot
diff --git a/Config.in.legacy b/Config.in.legacy index 7a5435188b..151715b461 100644 --- a/Config.in.legacy +++ b/Config.in.legacy @@ -146,6 +146,12 @@ endif comment "Legacy options removed in 2020.08" +config BR2_PACKAGE_TI_SGX_LIBGBM + bool "ti-sgx-libgbm support removed" + help + TI has merged the ti-sgx-libgbm package with the ti-sgx-um + package + config BR2_BINUTILS_VERSION_2_31_X bool "binutils version 2.31.1 support removed" select BR2_LEGACY diff --git a/board/beaglebone/readme.txt b/board/beaglebone/readme.txt index e6647dad2a..231e977a89 100644 --- a/board/beaglebone/readme.txt +++ b/board/beaglebone/readme.txt @@ -7,7 +7,7 @@ Description This configuration will build a complete image for the beaglebone and the TI AM335x-EVM, the board type is identified by the on-board EEPROM. The configuration is based on the -ti-processor-sdk-02.00.00.00. Device tree blobs for beaglebone +ti-processor-sdk-06.01.00.08. Device tree blobs for beaglebone variants and the evm-sk are built too. For Qt5 support support use the beaglebone_qt5_defconfig. @@ -43,10 +43,20 @@ output/images/ To copy the image file to the sdcard use dd: $ dd if=output/images/sdcard.img of=/dev/XXX + +Running Qt5 hellowindow opengl demo: +=================== +# export QT_QPA_EGLFS_KMS_CONFIG=/etc/qt5/eglfs_kms_cfg.json +# export QT_QPA_PLATFORM=eglfs +# export QT_QPA_EGLFS_INTEGRATION=none +# /usr/lib/qt/examples/opengl/hellowindow/hellowindow + + Tested hardware =============== am335x-evm (rev. 1.1A) beagleboneblack (rev. A5A) beaglebone (rev. A6) +2020, Adam Duskett <aduskett@gmail.com> 2016, Lothar Felten <lothar.felten@gmail.com> diff --git a/board/beaglebone/rootfs_overlay/etc/qt5/eglfs_kms_cfg.json b/board/beaglebone/rootfs_overlay/etc/qt5/eglfs_kms_cfg.json new file mode 100644 index 0000000000..76f5e7d379 --- /dev/null +++ b/board/beaglebone/rootfs_overlay/etc/qt5/eglfs_kms_cfg.json @@ -0,0 +1,15 @@ +{ + "device": "/dev/dri/card0", + "hwcursor": false, + "pbuffers": true, + "outputs": [ + { + "name": "VGA1", + "mode": "off" + }, + { + "name": "HDMI1", + "mode": "1024x768" + } + ] +} diff --git a/configs/beaglebone_qt5_defconfig b/configs/beaglebone_qt5_defconfig index 5f7b911e5d..6e0371a7d3 100644 --- a/configs/beaglebone_qt5_defconfig +++ b/configs/beaglebone_qt5_defconfig @@ -20,11 +20,8 @@ BR2_PACKAGE_FBV=y BR2_PACKAGE_QT5=y BR2_PACKAGE_QT5BASE_EXAMPLES=y BR2_PACKAGE_QT5BASE_EGLFS=y -BR2_PACKAGE_QT5BASE_DEFAULT_QPA="wayland" +BR2_PACKAGE_QT5BASE_DEFAULT_QPA="eglfs" BR2_PACKAGE_QT5QUICKCONTROLS=y -BR2_PACKAGE_QT5WAYLAND=y -BR2_PACKAGE_QT5WAYLAND_COMPOSITOR=y -BR2_PACKAGE_WESTON=y BR2_PACKAGE_TI_SGX_DEMOS=y BR2_PACKAGE_TI_SGX_KM=y BR2_PACKAGE_TI_SGX_UM=y diff --git a/package/Config.in b/package/Config.in index 6a34a895af..6abd138f45 100644 --- a/package/Config.in +++ b/package/Config.in @@ -551,7 +551,6 @@ endmenu source "package/ti-gfx/Config.in" source "package/ti-sgx-demos/Config.in" source "package/ti-sgx-km/Config.in" - source "package/ti-sgx-libgbm/Config.in" source "package/ti-sgx-um/Config.in" source "package/ti-uim/Config.in" source "package/ti-utils/Config.in" diff --git a/package/ti-sgx-demos/ti-sgx-demos.mk b/package/ti-sgx-demos/ti-sgx-demos.mk index 8599e88e9b..ea6c6c6b08 100644 --- a/package/ti-sgx-demos/ti-sgx-demos.mk +++ b/package/ti-sgx-demos/ti-sgx-demos.mk @@ -12,7 +12,7 @@ TI_SGX_DEMOS_LICENSE = Imagination Technologies License Agreement TI_SGX_DEMOS_LICENSE_FILES = LegalNotice.txt define TI_SGX_DEMOS_INSTALL_TARGET_CMDS - cp -dpfr $(@D)/targetfs/arm/Examples/Advanced/Wayland/OGLES* \ + cp -dpfr $(@D)/targetfs/arm/Examples/Advanced/NullWS/OGLES* \ $(TARGET_DIR)/usr/bin/ endef diff --git a/package/ti-sgx-km/ti-sgx-km.hash b/package/ti-sgx-km/ti-sgx-km.hash index 1fd07d7467..2fd3b56b1e 100644 --- a/package/ti-sgx-km/ti-sgx-km.hash +++ b/package/ti-sgx-km/ti-sgx-km.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 f1505f38f9e82f958673bb1755e65090bdbc513a68d41640561d9d491bc4b0e3 ti-sgx-km-4519ed3b83d1d72207ddc2874c7eb5e5a7f20d8d.tar.gz -sha256 e9d660547691b2a9232850fd43aac16d40fd063023166fd27162020c30dc2bd4 eurasia_km/GPL-COPYING +sha256 ea70356dd0fd7f904f6d6046c4090c7d6d0126e13039db746c75bb6e666864d8 ti-sgx-km-cf7f48cb30abfd5df7a60c9bf4bbb1dde0d496d9.tar.gz +sha256 e9d660547691b2a9232850fd43aac16d40fd063023166fd27162020c30dc2bd4 eurasia_km/GPL-COPYING diff --git a/package/ti-sgx-km/ti-sgx-km.mk b/package/ti-sgx-km/ti-sgx-km.mk index ae294c300a..25f1f83ca7 100644 --- a/package/ti-sgx-km/ti-sgx-km.mk +++ b/package/ti-sgx-km/ti-sgx-km.mk @@ -4,8 +4,8 @@ # ################################################################################ -# This correpsonds to SDK 06.00.00.07 -TI_SGX_KM_VERSION = 4519ed3b83d1d72207ddc2874c7eb5e5a7f20d8d +# This correpsonds to SDK 06.01.00.08 +TI_SGX_KM_VERSION = cf7f48cb30abfd5df7a60c9bf4bbb1dde0d496d9 TI_SGX_KM_SITE = http://git.ti.com/git/graphics/omap5-sgx-ddk-linux.git TI_SGX_KM_SITE_METHOD = git TI_SGX_KM_LICENSE = GPL-2.0 diff --git a/package/ti-sgx-libgbm/0001-Add-missing-sys-sysmacros.h-include.patch b/package/ti-sgx-libgbm/0001-Add-missing-sys-sysmacros.h-include.patch deleted file mode 100644 index 2863c93bed..0000000000 --- a/package/ti-sgx-libgbm/0001-Add-missing-sys-sysmacros.h-include.patch +++ /dev/null @@ -1,25 +0,0 @@ -From e3a3f3655956265eb4f3b866d445a9d19e613594 Mon Sep 17 00:00:00 2001 -From: Lothar Felten <lothar.felten@gmail.com> -Date: Thu, 14 Nov 2019 23:37:07 -0300 -Subject: [PATCH] Add missing sys/sysmacros.h include - -Signed-off-by: Lothar Felten <lothar.felten@gmail.com> ---- - gbm.c | 1 + - 1 file changed, 1 insertion(+) - -diff --git a/gbm.c b/gbm.c -index 7bc5880..e360da7 100644 ---- a/gbm.c -+++ b/gbm.c -@@ -36,6 +36,7 @@ - - #include <sys/types.h> - #include <sys/stat.h> -+#include <sys/sysmacros.h> - #include <unistd.h> - #include <errno.h> - --- -2.18.1 - diff --git a/package/ti-sgx-libgbm/Config.in b/package/ti-sgx-libgbm/Config.in deleted file mode 100644 index 2c679e2046..0000000000 --- a/package/ti-sgx-libgbm/Config.in +++ /dev/null @@ -1,12 +0,0 @@ -config BR2_PACKAGE_TI_SGX_LIBGBM - bool "ti-sgx-libgbm" - depends on BR2_TOOLCHAIN_HAS_THREADS - depends on BR2_PACKAGE_HAS_UDEV - select BR2_PACKAGE_LIBDRM - help - TI SGX libgbm variant. - - https://git.ti.com/cgit/glsdk/libgbm - -comment "ti-sgx-libgbm needs udev and a toolchain w/ threads" - depends on !BR2_PACKAGE_HAS_UDEV || !BR2_TOOLCHAIN_HAS_THREADS diff --git a/package/ti-sgx-libgbm/ti-sgx-libgbm.hash b/package/ti-sgx-libgbm/ti-sgx-libgbm.hash deleted file mode 100644 index 32af5ad5ae..0000000000 --- a/package/ti-sgx-libgbm/ti-sgx-libgbm.hash +++ /dev/null @@ -1,3 +0,0 @@ -# Locally computed: -sha256 85e3eafcd06caccd8c4cea3081b1406ae51c07e19541ac19b9c33a5b41fec82d ti-sgx-libgbm-c5ddc6a37bb78ac753b317b17d890d1f7338dea6.tar.gz -sha256 58fe00de76ae5d533e1c562950e1848682c03155a653d76870cf0a3c59be8b4c gbm.h diff --git a/package/ti-sgx-libgbm/ti-sgx-libgbm.mk b/package/ti-sgx-libgbm/ti-sgx-libgbm.mk deleted file mode 100644 index 00a0716e21..0000000000 --- a/package/ti-sgx-libgbm/ti-sgx-libgbm.mk +++ /dev/null @@ -1,32 +0,0 @@ -################################################################################ -# -# ti-sgx-libgbm -# -################################################################################ - -# This correpsonds to SDK 06.00.00.07 -TI_SGX_LIBGBM_VERSION = c5ddc6a37bb78ac753b317b17d890d1f7338dea6 -TI_SGX_LIBGBM_SITE = http://git.ti.com/git/glsdk/libgbm.git -TI_SGX_LIBGBM_SITE_METHOD = git -TI_SGX_LIBGBM_LICENSE = MIT -TI_SGX_LIBGBM_LICENSE_FILES = gbm.h -TI_SGX_LIBGBM_INSTALL_STAGING = YES -TI_SGX_LIBGBM_AUTORECONF = YES - -TI_SGX_LIBGBM_DEPENDENCIES = libdrm udev - -define TI_SGX_LIBGBM_INSTALL_TARGET_OPTS - PREFIX=/usr \ - STRIP=/bin/true \ - DESTDIR=$(TARGET_DIR) \ - install -endef - -define TI_SGX_LIBGBM_INSTALL_STAGING_OPTS - PREFIX=/usr \ - STRIP=/bin/true \ - DESTDIR=$(STAGING_DIR) \ - install -endef - -$(eval $(autotools-package)) diff --git a/package/ti-sgx-um/Config.in b/package/ti-sgx-um/Config.in index ee87d46aa4..6a8b7e87e3 100644 --- a/package/ti-sgx-um/Config.in +++ b/package/ti-sgx-um/Config.in @@ -17,7 +17,6 @@ config BR2_PACKAGE_TI_SGX_UM select BR2_PACKAGE_HAS_LIBEGL select BR2_PACKAGE_HAS_LIBGLES select BR2_PACKAGE_HAS_POWERVR - select BR2_PACKAGE_TI_SGX_LIBGBM select BR2_PACKAGE_LIBFFI select BR2_PACKAGE_WAYLAND help diff --git a/package/ti-sgx-um/ti-sgx-um.hash b/package/ti-sgx-um/ti-sgx-um.hash index ff54ecbd6d..8e8c5ff328 100644 --- a/package/ti-sgx-um/ti-sgx-um.hash +++ b/package/ti-sgx-um/ti-sgx-um.hash @@ -1,3 +1,3 @@ # Locally computed: -sha256 cb1373a6335af3d3741c6b11cf217afc8bdbe182642229df359c38e3ccfc5866 ti-sgx-um-2a2e5bb090ced870d73ed4edbc54793e952cc6d8.tar.gz -sha256 368c306246c9130b5c90a6fef2f80085f70b6225b3f552654a288c0f39fc1531 TI-Linux-Graphics-DDK-UM-Manifest.doc +sha256 4d293a4170e2fd28852680830dacd8f575b12037f3e15bcf599232f6ccbf6deb ti-sgx-um-909e237baf47d0bde006ff25552f5403fd7e359d.tar.gz +sha256 368c306246c9130b5c90a6fef2f80085f70b6225b3f552654a288c0f39fc1531 TI-Linux-Graphics-DDK-UM-Manifest.doc diff --git a/package/ti-sgx-um/ti-sgx-um.mk b/package/ti-sgx-um/ti-sgx-um.mk index 0e26d057c1..30d1ef81f0 100644 --- a/package/ti-sgx-um/ti-sgx-um.mk +++ b/package/ti-sgx-um/ti-sgx-um.mk @@ -4,8 +4,8 @@ # ################################################################################ -# This correpsonds to SDK 06.00.00.07 plus one pull request -TI_SGX_UM_VERSION = 2a2e5bb090ced870d73ed4edbc54793e952cc6d8 +# This correpsonds to SDK 06.01.00.08 +TI_SGX_UM_VERSION = 909e237baf47d0bde006ff25552f5403fd7e359d TI_SGX_UM_SITE = http://git.ti.com/git/graphics/omap5-sgx-ddk-um-linux.git TI_SGX_UM_SITE_METHOD = git TI_SGX_UM_LICENSE = TI TSPA License