Commit Graph

17 Commits

Author SHA1 Message Date
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