Commit Graph

44 Commits

Author SHA1 Message Date
Khem Raj
4bf24dd514 qtmultimedia: Fix build of dependencies when using vivante gpu drivers
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2023-03-13 14:34:05 -07:00
Tom Hochstein
286385e3b2 dynamic-layers: Update SOC overrides
Fix dynamic layer overrides missed by the script.

Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
2022-03-02 09:56:39 -06:00
Khem Raj
59d36c9832 layer: Convert to new override syntax
Signed-off-by: Khem Raj <raj.khem@gmail.com>
2021-08-12 10:08:24 -07:00
Tom Hochstein
3e515c5af4 qtbase: Add reference for pending patch
Note the Qt ticket for the pending patch.

Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
2021-04-30 13:46:54 -03:00
Pierluigi Passaro
d0973b6c9c qtwayland: fix configuration errors for both mx6 and mx7 machines
QtWayland configuration task fails for xwayland distros.
Just remove the conflicting options.

Signed-off-by: Pierluigi Passaro <pierluigi.p@variscite.com>
2021-01-31 12:36:40 -03:00
Khem Raj
e1b169c907 qtbase: Define empty PACKAGECONFIG_VULKAN
In cases where non imxgpu and non-fsl SOCs are target do_configure results in

ERROR: qtbase-5.15.0+gitAUTOINC+f6fe4bbab7-r0 do_configure: QA Issue: qtbase: in
valid PACKAGECONFIG: ${@bb.utils.contains('DISTRO_FEATURES', [invalid-packagecon
fig]

Therefore having empty value helps in avoiding this case

Signed-off-by: Khem Raj <raj.khem@gmail.com>
2020-06-05 08:07:10 -03:00
Tom Hochstein
22408f5766 qtbase: Drop upstreamed patch
Drop patch 0015-Add-eglfs-to-IMX-GPU.patch. It is upstream and
no longer necessary.

Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
2020-06-02 09:18:25 -03:00
Tom Hochstein
b37a332b13 qtbase: Add i.MX 8 configuration
- 8M Quad has 3D but no 2D, so fix the override for GPU patches
- Add gbm and kms for all i.MX 8 with GPU
- Add vulkan for all i.MX 8 with GPU except 8M Mini

Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
2020-06-02 09:18:25 -03:00
antznin
eaefe96561 qtbase: Fix patch fuzz for mkspecs/linux-oe-g++/qmake.conf
The current version of the patch causes a fuzz because of context
change.

Signed-off-by: antznin <agodard@witekio.com>
2020-05-05 11:58:53 -03:00
Otavio Salvador
2f4e04cb97 qtbase: Allow easy override of the mainline BSP GL backend
Using a weak setting, allow distributions to override it and make
customizations if need (use gl, for example).

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Change-Id: Id1ee47764148e07feba86e16cd7d282a37dcf9e9
2020-05-05 08:43:07 -03:00
Otavio Salvador
e1b7bce0bd Revert "qtbase: Do not pin gles2 when using open source graphic stack"
This reverts commit 1cf9efd20f.

The qtbase configure fail to find any suitable GL library, so it fails
with:

,----
| WARNING: No QPA platform plugin enabled! This will produce a Qt that
| cannot run GUI applications.  See "Platform backends" in the output of
| --help.
|
| ERROR: Feature 'opengl-desktop' was enabled, but the pre-condition
| '(config.win32 && !config.winrt && !features.opengles2
|     && (config.msvc || libs.opengl))
|  || (!config.watchos && !config.win32 && !config.wasm && libs.opengl)' failed.
|
| ERROR: Feature 'eglfs' was enabled, but the pre-condition
|   '!config.android && !config.darwin && !config.win32 && !config.wasm
|   && features.egl' failed.
`----

Fixed: #378

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2020-05-05 08:43:07 -03:00
Christopher Boyd
218e7c48e6 fix(qtbase): remove unnecessary patch 2019-10-23 18:14:36 -03:00
Max Krummenacher
a2f542394e qtwayland: drop xcomposite-egl, xcomposite-glx packageconfig for mx8
NXP dropped native X11 support for i.MX 8(X).

with xcomposite-glx:
qtwayland fails in configure with:

| ERROR: Feature 'xcomposite-glx' was enabled, but the pre-condition 'features.wayland-client && features.opengl && !features.opengles2 && features.xlib && libs.xcomposite && libs.glx' failed.
| ERROR: Feature 'xcomposite-glx' was enabled, but the pre-condition 'features.wayland-server && features.opengl && !features.opengles2 && libs.xcomposite && libs.glx' failed.

with xcomposte-egl:
qtwayland fails during compile starting with:

| .../qwaylandxcompositeeglclientbufferintegration.cpp:140:59: error: cannot convert 'Display*' {aka '_XDisplay*'} to 'EGLNativeDisplayType' {aka 'wl_display*'}
|       integration->mEglDisplay = eglGetDisplay(integration->mDisplay);
|                                                ~~~~~~~~~~~~~^~~~~~~~

Signed-off-by: Max Krummenacher <max.krummenacher@toradex.com>
2019-05-05 16:23:48 -03:00
Andreas Müller
0daa6c7825 qtbase: Do not modify QT_CONFIG_FLAGS
* For distros enabling x11 and wayland it breaks X11 images (xfce/lxqt) for ALL
  machines
* It is a setting which can be done at runtime. E.g KDE plasma does so.
* Settings like these do NOT belong into BSP layers

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
2018-11-21 09:30:43 +01:00
Tom Hochstein
6c67c9e2d6 qtbase: Refactor configuration
Replace QT_CONFIG_FLAGS with PACKAGECONFIG

Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
2018-11-06 10:16:34 -02:00
Tom Hochstein
e6fb7ea9e0 qtbase: Drop redundant configuration flag -no-eglfs
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
2018-11-06 10:16:34 -02:00
Tom Hochstein
dd1e2f1139 qtbase: Fix QT_CONFIG_FLAGS for non-mainline-bsp
- Enable eglfs only for 3D parts and framebuffer backend
- Disable opengl and enable linuxfb for 2D parts with no 3D

Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
2018-11-06 10:16:34 -02:00
Tom Hochstein
33a9e62181 qtbase: Set the default platform correctly
Set the correct Qt platform for the graphics backend so the user
isn't required to set it manually.

Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
2018-11-06 10:16:34 -02:00
Tom Hochstein
9693f8c4d1 qtbase: Fix SRC_URI whitespace
- Fix a missing space in an append.
- Re-format to reduce leading whitespace.

Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
2018-11-06 10:16:34 -02:00
Andreas Müller
1cf9efd20f qtbase: Do not pin gles2 when using open source graphic stack
One of the advantages in using upstream mesa is that we have the freedom to
use gl or gles2 for qtbase. So follow meta-qt5's default here which is
desktop-gl and give other layers a more simple chance to change default if
necessary.

Notes:

* Did performance tests with my images and did not find any performance
  issues.
* Some recipes in meta-qt5-extra fail to build when qtbase is build for gles2.
  A patch addressing imx was applied [1] - but honestly it is not the way to
  go: use meta-qt5's default which is fine.

[1] 0972828deb

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2018-10-26 14:06:46 -03:00
Andreas Müller
2d37dc736f qtwayland/etnaviv: remove xcomposite-glx
fixes
| ERROR: Feature 'xcomposite-glx' was enabled, but the pre-condition 'features.wayland-client && features.opengl && !features.opengles2 && features.xlib && libs.xcomposite && libs.glx' failed.
|
| ERROR: Feature 'xcomposite-glx' was enabled, but the pre-condition 'features.wayland-server && features.opengl && !features.opengles2 && libs.xcomposite && libs.glx' failed.

FWIW: Have similar for Raspi/VC4 in meta-raspi-light

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2018-08-30 21:58:38 -03:00
Andreas Müller
99f8b01e9c qtwebkit: remove 0001-Fix-to-match-the-uniform-precision-qualifiers-in-ver.patch
* it does not apply with meta-qt5 master
* it changes (breaks currently) qtwebkit for all boards when adding
  meta-freescale to layers

Signed-off-by: Andreas Müller <schnitzeltony@gmail.com>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2018-08-30 21:58:01 -03:00
Ming Liu
192def2732 qtbase: set default EGLFS_DEVICE_INTEGRATION before oe-device-extra.pri
This allows the users to be able to override it in oe-device-extra.pri.

Signed-off-by: Ming Liu <liu.ming50@gmail.com>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2018-02-06 10:04:45 -02:00
Fabio Berton
a3bc34889b qt5: Enable backends for GBM when using use-mainline-bsp override
Add gbm to PACKAGECONFIG_GL_use-mainline-bsp to enable EGLFS GBM QPA backend.

Change-Id: I76d8a3116ebebc4b9383fc575878c5aec666c203
Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2017-12-12 09:54:05 -02:00
Fabio Berton
18daae47bd qtbase: Remove upstream applied patch
This patch was applied on qtbase commit:

commit 9ae028f507a22bd03c861e9d14c2efc4aa2efeda
Author: Marco Martin <mart@kde.org>
Date:   Fri Feb 10 15:00:23 2017 +0100

    Environment variable enabling the workaround FBO readback bug

    On some ARM devices the font glyph generation is broken
    Add an environment variable to enable workaround_brokenFBOReadBack
    in QOpenGLContext, to fix font rendering on such devices as
    Mali and Adreno

    Change-Id: I9cc99ecb8b71a35bc369ec9dd11b877016b1179e
    Reviewed-by: Laszlo Agocs <laszlo.agocs@qt.io>

Change-Id: I0aec7ed2941b22aa2a0ea7638a5523a25c47fbd1
Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2017-12-12 09:53:38 -02:00
Yuqing Zhu
a1c88d1b14 qtbase: Fix QT5.8 build error "Platform not recognized" in egl header
Gain the platform value through pkg-config
and pass it through QMAKE_CFLAGS_EGL.

Signed-off-by: Yuqing Zhu <carol.zhu@nxp.com>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2017-06-28 15:21:18 -03:00
Tom Hochstein
111997c8d1 qtbase: Update patch for upgrade to Qt 5.8
Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2017-06-28 15:21:18 -03:00
Otavio Salvador
06c92e76ba qtbase: Add 'use-mainline-bsp' support
This configures the Qt to use the OpenGL ES2 and KMS backend for the
'use-mainline-bsp' case. It also includes a fix for the font rendering
issue found when using Etnaviv which were used for Android-based
platforms but now being enabled for all EGL based systems.

Change-Id: Icdfd2a01836a90bcedbe1665ab3a0733ed505eff
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2017-03-27 11:53:01 -03:00
Tom Hochstein
a99b95c899 qtbase: Recipe cleanup
- List variables in override priority order
- Replace deprecated base_contains
- Remove extraneous whitespace

Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2017-01-11 10:56:36 -02:00
Tom Hochstein
0d82059f6c qtbase: Configure eglfs with EGL pkg-config
A build error occurred because eglfs needs to be
configured with the EGL pkg-config.

Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2017-01-11 10:56:36 -02:00
Tom Hochstein
59885ab983 qtbase: Reimplement i.MX configuration changes with patches
Changing source should be done during the patch phase, not
the configure stage.

Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2017-01-11 10:56:36 -02:00
Tom Hochstein
1c0104b699 qtbase: Remove link to libGAL
imx-gpu-viv doesn't use libGAL as of v5.

Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2017-01-11 10:56:36 -02:00
Tom Hochstein
80d7b4e5d5 qtbase: Use compiler settings provided by IMX-GPU driver pkg-config
The IMX-GPU driver now provides compiler settings through pkg-config,
so don't set them explicitly.

Signed-off-by: Tom Hochstein <tom.hochstein@nxp.com>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2017-01-11 10:56:36 -02:00
Andreas Müller
e80e2b0af8 qtbase: do not pass -DEGL_API_FB=1 for x11 in distro features
* sympthoms:
    * qml applications complain/crash with 'Failed to create OpenGL context...'
    * qt5-opengles2-test hangs forever without displaying anything

* analysis:
    qtbase's configure complains:

    <...>/usr/include/EGL/eglvivante.h:117:16: note: class type '_FBDisplay' is incomplete

    and configure ends up with no X11 support:

    EGLFS ................ no
      EGLFS i.MX6 ........ no
      EGLFS i.MX6 Wayland. no
      EGLFS EGLDevice .... no
      EGLFS GBM .......... no
      EGLFS Mali ......... no
      EGLFS Raspberry Pi . no
      EGLFS X11 .......... no
    LinuxFB .............. no
    Mir client............ no
    XCB .................. yes (system library)
      EGL on X ........... no

* background:
    '-DEGL_API_FB=1' was introduced in

    commit 62c8d8cc65
    Author: Martin Jansa <martin.jansa@gmail.com>
    Date:   Mon Feb 29 18:22:28 2016 +0100

    qtbase: Allow to build eglfs with x11 in DISTRO_FEATURES

    * even when x11 is in DISTRO_FEATURES someone might configure qtbase
      to build with eglfs, that works OK with Qt 5.5.1, because
      -DEGL_API_FB=1 is also passed through
      mkspecs/devices/linux-imx6-g++/qmake.conf
      but with 5.6 and 5.7 it fails when X11 headers are include with their
      own Status enum (the same errors like before
      https://codereview.qt-project.org/#/c/105116/2)
      Adding -DEGL_API_FB=1 like linux-imx6-g++/qmake.conf does is simplest
      workaround to prevent imx-gpu-viv from including Xlib from
      EGL/eglvivante.h

* comments on original commit (at today's' environment):
     * it breaks GL support for X11
     * in meta-freescale's qtbase.bbappend eglfs is disabled explicitly when
       x11 in DISTRO_FEATURES so it seems that vivante driver does not support
       eglfs and x11 at the same build.
       Tested: setting 'eglfs' in PACKAGECONFIG builds fine but bare eglfs
       support is skipped.

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2016-11-18 16:23:08 -02:00
Fabio Berton
57bd2af545 qtbase: Fix if condition in do_configure_prepend task
Add missing bracket to if statement.

Signed-off-by: Fabio Berton <fabio.berton@ossystems.com.br>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2016-10-18 16:26:15 -02:00
Otavio Salvador
2ce6ca4ec4 qtbase: Enable support for i.MX SoCs with PXP
This enables the use of GLES2 backend for Software Rendering allowing
SoCs without GPU support to use it. Up to now, this includes i.MX6UL
and i.MX7D.

Change-Id: I3011a84198d42744639121394423106fcfc738b3
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2016-09-08 11:24:25 -03:00
Otavio Salvador
20a0f69f16 qtbase: Refactor code to use the new overrides
The recipe has been reworked to use the 'imxgpu2d' and 'imxgpu3d'
feature overrides. While on that, the i.MX6SL specific code has been
reworked to used when only 2D GPU support is available.

Change-Id: I8fade08f54bd74e1dfd46b59711f6896c0bc7e6e
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2016-09-08 11:24:25 -03:00
Otavio Salvador
bdd2df483c qtbase: Stop using base_contains
The base_contains function is deprecated and we ought to use
bb.utils.contains instead.

Change-Id: Ib53b854f79f45ecd75da9f5c07a276465f2675fb
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2016-05-16 17:06:51 -03:00
Martin Jansa
62c8d8cc65 qtbase: Allow to build eglfs with x11 in DISTRO_FEATURES
* even when x11 is in DISTRO_FEATURES someone might configure qtbase
  to build with eglfs, that works OK with Qt 5.5.1, because
  -DEGL_API_FB=1 is also passed through
  mkspecs/devices/linux-imx6-g++/qmake.conf
  but with 5.6 and 5.7 it fails when X11 headers are include with their
  own Status enum (the same errors like before
  https://codereview.qt-project.org/#/c/105116/2)
  Adding -DEGL_API_FB=1 like linux-imx6-g++/qmake.conf does is simplest
  workaround to prevent imx-gpu-viv from including Xlib from
  EGL/eglvivante.h

Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2016-04-19 15:03:26 -03:00
Andreas Müller
574898eb75 qtbase: follow 5.5 platform configuration style
This one comes up when building for non-x11 / wayland.

for further details see qtbase
commit d04c3d2079e0df79592128a67e115ecb90b08454
Author: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
Date:   Mon Mar 2 16:09:22 2015 +0100

    eglfs: Pluginize RPi, iMX6 and Mali backends

    eglfs does not depend on the device makespecs anymore when it comes to these device
    integration backends (hooks). Instead, backends are autodetected by configure.

    The name of the preferred plugin is still set in the device makespecs. This
    is optional. When not set and there is more than one plugin present in the system,
    the environment variable QT_QPA_EGLFS_INTEGRATION will have to be set at runtime.
    In the absence of that, the order is undefined.

    Change-Id: Ie1ced2c9aa1beff2adb13b4fdea7c499cb5a6aab
    Reviewed-by: Oswald Buddenhagen <oswald.buddenhagen@theqtcompany.com>
    Reviewed-by: Andy Nichols <andy.nichols@theqtcompany.com>

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2016-04-19 15:03:19 -03:00
Andreas Müller
0f0e7777ef qtbase: remove Force_egl_visual_ID_33.patch
It does not apply for Qt 5.5 anymore and mainline qtbase takes care for vivante
specifics.

See qtbase
commit e7bd18f156e508969cc536c0f0b8e3c2c3c75c47
Author: Laszlo Agocs <laszlo.agocs@theqtcompany.com>
Date:   Wed Mar 18 11:03:39 2015 +0100

    Fix EGL config - X visual matching for i.MX6

    Task-number: QTBUG-44290
    Change-Id: I06cbb169803aa8a06ea310651def1f3582194c8e
    Reviewed-by: Jørgen Lind <jorgen.lind@theqtcompany.com>

Signed-off-by: Andreas Müller <schnitzeltony@googlemail.com>
Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2016-04-19 15:03:19 -03:00
Otavio Salvador
d5e730317a Drop Freescale official Linux kernel for i.MX23, i.MX28 and i.MX5 SoC families
The Linux kernel provided by Freescale for i.MX28 and i.MX5 is too old
(2.6.35.3) and there are no plans to upgrade it, as the OE-Core is
going to use GCC 5.2 as default compiler soon and it is not possible
to compile this kernel with the new toolchain, thus the removal.

The metadata related to the i.MX23, i.MX28 and i.MX5 SoC family, which
is dependant of this Linux kernel support, has been removed in this
commit so if someone ever wants to bring it back it is easy to find
out all the necessary changes. The recipes affected are:

 - alsa-state
 - amd-gpu-x11-bin
 - gtk+3
 - imx-lib
 - imx-test
 - imx-vpu
 - libfslcodec
 - linux-imx
 - mesa
 - qt4-embedded-free
 - qt4-x11-free
 - qtbase
 - xf86-video-imxfb

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
Acked-by: Daiane Angolini <daiane.angolini@freescale.com>
2016-04-19 15:03:14 -03:00
Otavio Salvador
b9fd2a72b8 qtbase: Fix indentation of recipe
The recipe had a mix of indentation styles which makes it hard to
read. Those are changed to avoid tabs and rely on spaces only.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2016-04-19 15:03:14 -03:00
Otavio Salvador
ca38cdc4de Move external layer's specific changes for 'dynamic-layers' subdir
The external layer's specific changes are now in the 'dynamic-layers'
subdirectory. This approach ease the identification of layer specific
recipes and extensions as all those are more visible isolated of the
main layer components.

Signed-off-by: Otavio Salvador <otavio@ossystems.com.br>
2015-07-16 15:01:29 -03:00