diff mbox series

[1/1] add qmake.conf fixup for sunxi-mali platforms

Message ID 1510066081-35701-1-git-send-email-giulio.benetti@micronovasrl.com
State Changes Requested
Headers show
Series [1/1] add qmake.conf fixup for sunxi-mali platforms | expand

Commit Message

Giulio Benetti Nov. 7, 2017, 2:48 p.m. UTC
Based on Gary Bisson patch qt5base: add qmake.conf fixup for i.MX platforms
Same happens for eglfs_mali.

As stated in QTBUG-61156 [1], since Qt5.9 all the Qt apps fail to start
on sunxi-mali platforms.

The reason is that the qmake.conf should apparently now specify which
eglfs backend to use.

Although this issue can be worked around by exporting a variable
(QT_QPA_EGLFS_INTEGRATION=eglfs_mali), this patch aims at providing
a more user-friendly approach by modifying qmake.conf when created.

[1]: https://bugreports.qt.io/browse/QTBUG-61156

Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com>
---
 package/qt5/qt5base/qt5base.mk | 8 ++++++++
 1 file changed, 8 insertions(+)

Comments

Giulio Benetti Nov. 7, 2017, 6:58 p.m. UTC | #1
This patch is buggy.
The same for Gary Bisson patch.
Must put "EGLFS_DEVICE_INTEGRATION = eglfs_mali"
before:

include(../common/linux_device_post.conf)
load(qt_config)

otherwise qmake ignores it.
I thought to use sed to append EGLFS_DEVICE_INTEGRATION = eglfs_mali/viv 
just after include(arch.conf).

What do you think?

Kind regards

Il 07/11/2017 15:48, Giulio Benetti ha scritto:
> Based on Gary Bisson patch qt5base: add qmake.conf fixup for i.MX platforms
> Same happens for eglfs_mali.
> 
> As stated in QTBUG-61156 [1], since Qt5.9 all the Qt apps fail to start
> on sunxi-mali platforms.
> 
> The reason is that the qmake.conf should apparently now specify which
> eglfs backend to use.
> 
> Although this issue can be worked around by exporting a variable
> (QT_QPA_EGLFS_INTEGRATION=eglfs_mali), this patch aims at providing
> a more user-friendly approach by modifying qmake.conf when created.
> 
> [1]: https://bugreports.qt.io/browse/QTBUG-61156
> 
> Signed-off-by: Giulio Benetti <giulio.benetti@micronovasrl.com>
> ---
>   package/qt5/qt5base/qt5base.mk | 8 ++++++++
>   1 file changed, 8 insertions(+)
> 
> diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk
> index b3f9c79..494031e 100644
> --- a/package/qt5/qt5base/qt5base.mk
> +++ b/package/qt5/qt5base/qt5base.mk
> @@ -248,6 +248,14 @@ define QT5BASE_CONFIGURE_QMAKE_CONFIG
>   endef
>   endif
>   
> +ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST)$(BR2_PACKAGE_SUNXI_MALI_MAINLINE),yy)
> +# use vivante backend
> +define QT5BASE_CONFIGURE_QMAKE_CONFIG
> +	echo "EGLFS_DEVICE_INTEGRATION = eglfs_mali" >> \
> +		$(@D)/mkspecs/devices/linux-buildroot-g++/qmake.conf
> +endef
> +endif
> +
>   ifneq ($(QT5BASE_CONFIG_FILE),)
>   define QT5BASE_CONFIGURE_CONFIG_FILE
>   	cp $(QT5BASE_CONFIG_FILE) $(@D)/src/corelib/global/qconfig-buildroot.h
>
Arnout Vandecappelle Nov. 7, 2017, 8:21 p.m. UTC | #2
On 07-11-17 19:58, Giulio Benetti wrote:
> This patch is buggy.
> The same for Gary Bisson patch.
> Must put "EGLFS_DEVICE_INTEGRATION = eglfs_mali"
> before:
> 
> include(../common/linux_device_post.conf)
> load(qt_config)
> 
> otherwise qmake ignores it.
> I thought to use sed to append EGLFS_DEVICE_INTEGRATION = eglfs_mali/viv just
> after include(arch.conf).

 Yes, with sed is a good idea. Preferably by renaming qmake.conf to
qmake.conf.in and always using sed to generate the actual qmake.conf file. Add a
line

EGLFS_DEVICE_INTEGRATION = @EGLFS_DEVICE@

at the appropriate place. The sed then either replaces @EGLFS_DEVICE@ with the
proper string, or deletes the line.

 Regards,
 Arnout

> 
> What do you think?
[snip]
Giulio Benetti Nov. 7, 2017, 8:22 p.m. UTC | #3
Perfect,

tomorrow I submit a patch.

Thanks
Cheers

Il 07/11/2017 21:21, Arnout Vandecappelle ha scritto:
>
> On 07-11-17 19:58, Giulio Benetti wrote:
>> This patch is buggy.
>> The same for Gary Bisson patch.
>> Must put "EGLFS_DEVICE_INTEGRATION = eglfs_mali"
>> before:
>>
>> include(../common/linux_device_post.conf)
>> load(qt_config)
>>
>> otherwise qmake ignores it.
>> I thought to use sed to append EGLFS_DEVICE_INTEGRATION = eglfs_mali/viv just
>> after include(arch.conf).
>   Yes, with sed is a good idea. Preferably by renaming qmake.conf to
> qmake.conf.in and always using sed to generate the actual qmake.conf file. Add a
> line
>
> EGLFS_DEVICE_INTEGRATION = @EGLFS_DEVICE@
>
> at the appropriate place. The sed then either replaces @EGLFS_DEVICE@ with the
> proper string, or deletes the line.
>
>   Regards,
>   Arnout
>
>> What do you think?
> [snip]
>
diff mbox series

Patch

diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk
index b3f9c79..494031e 100644
--- a/package/qt5/qt5base/qt5base.mk
+++ b/package/qt5/qt5base/qt5base.mk
@@ -248,6 +248,14 @@  define QT5BASE_CONFIGURE_QMAKE_CONFIG
 endef
 endif
 
+ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST)$(BR2_PACKAGE_SUNXI_MALI_MAINLINE),yy)
+# use vivante backend
+define QT5BASE_CONFIGURE_QMAKE_CONFIG
+	echo "EGLFS_DEVICE_INTEGRATION = eglfs_mali" >> \
+		$(@D)/mkspecs/devices/linux-buildroot-g++/qmake.conf
+endef
+endif
+
 ifneq ($(QT5BASE_CONFIG_FILE),)
 define QT5BASE_CONFIGURE_CONFIG_FILE
 	cp $(QT5BASE_CONFIG_FILE) $(@D)/src/corelib/global/qconfig-buildroot.h