All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [git commit] qt5base: add qmake.conf fixup for i.MX platforms
@ 2017-11-06 17:41 Peter Korsgaard
  2017-11-07 18:53 ` Giulio Benetti
  0 siblings, 1 reply; 6+ messages in thread
From: Peter Korsgaard @ 2017-11-06 17:41 UTC (permalink / raw)
  To: buildroot

commit: https://git.buildroot.net/buildroot/commit/?id=0c219ddb8ac2736057402144825b22812b5a642c
branch: https://git.buildroot.net/buildroot/commit/?id=refs/heads/master

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

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

It can be seen in the qmake.conf example for i.MX [2].

It has also been integrated into the Yocto meta-freescale layer [3].

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

[1]: https://bugreports.qt.io/browse/QTBUG-61156
[2]: https://github.com/qt/qtbase/blob/5.9/mkspecs/devices/linux-imx6-g%2B%2B/qmake.conf#L35
[3]: https://github.com/Freescale/meta-freescale/blob/master/dynamic-layers/qt5-layer/recipes-qt/qt5/qtbase/0015-Add-eglfs-to-IMX-GPU.patch

[Peter: simplify conditional, add comment explaining why]
Signed-off-by: Gary Bisson <gary.bisson@boundarydevices.com>
Tested-by: Maxime Ripard <maxime.ripard@free-electrons.com>
Signed-off-by: Peter Korsgaard <peter@korsgaard.com>
---
 package/qt5/qt5base/qt5base.mk | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/package/qt5/qt5base/qt5base.mk b/package/qt5/qt5base/qt5base.mk
index 1683eda..b3f9c79 100644
--- a/package/qt5/qt5base/qt5base.mk
+++ b/package/qt5/qt5base/qt5base.mk
@@ -240,6 +240,14 @@ QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_PRINTSUPPORT) += Qt5PrintSupport
 
 QT5BASE_INSTALL_LIBS_$(BR2_PACKAGE_QT5BASE_DBUS) += Qt5DBus
 
+ifeq ($(BR2_PACKAGE_QT5_VERSION_LATEST)$(BR2_PACKAGE_IMX_GPU_VIV),yy)
+# use vivante backend
+define QT5BASE_CONFIGURE_QMAKE_CONFIG
+	echo "EGLFS_DEVICE_INTEGRATION = eglfs_viv" >> \
+		$(@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
@@ -257,6 +265,7 @@ endif
 define QT5BASE_CONFIGURE_CMDS
 	$(INSTALL) -m 0644 -D $(QT5BASE_PKGDIR)/qmake.conf \
 		$(@D)/mkspecs/devices/linux-buildroot-g++/qmake.conf
+	$(QT5BASE_CONFIGURE_QMAKE_CONFIG)
 	$(INSTALL) -m 0644 -D $(QT5BASE_PKGDIR)/qplatformdefs.h \
 		$(@D)/mkspecs/devices/linux-buildroot-g++/qplatformdefs.h
 	$(QT5BASE_CONFIGURE_CONFIG_FILE)

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

* [Buildroot] [git commit] qt5base: add qmake.conf fixup for i.MX platforms
  2017-11-06 17:41 [Buildroot] [git commit] qt5base: add qmake.conf fixup for i.MX platforms Peter Korsgaard
@ 2017-11-07 18:53 ` Giulio Benetti
  2017-11-07 21:41   ` Thomas Petazzoni
  0 siblings, 1 reply; 6+ messages in thread
From: Giulio Benetti @ 2017-11-07 18:53 UTC (permalink / raw)
  To: buildroot

Hi Peter,

unfortunately it doesn't work.
The problem is that you can't put at the end of file
EGLFS_DEVICE_INTEGRATION = eglfs_viv
It must stay before:

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

I did the same for eglfs_mali and failed,
so I've retried putting it there, and it works.

Cheers



--
Sent from: http://buildroot-busybox.2317881.n4.nabble.com/

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

* [Buildroot] [git commit] qt5base: add qmake.conf fixup for i.MX platforms
  2017-11-07 18:53 ` Giulio Benetti
@ 2017-11-07 21:41   ` Thomas Petazzoni
  2017-11-07 22:13     ` Gary Bisson
  0 siblings, 1 reply; 6+ messages in thread
From: Thomas Petazzoni @ 2017-11-07 21:41 UTC (permalink / raw)
  To: buildroot

Hello,

On Tue, 7 Nov 2017 11:53:38 -0700 (MST), Giulio Benetti wrote:
> Hi Peter,
> 
> unfortunately it doesn't work.
> The problem is that you can't put at the end of file
> EGLFS_DEVICE_INTEGRATION = eglfs_viv
> It must stay before:
> 
> include(../common/linux_device_post.conf)
> load(qt_config)
> 
> I did the same for eglfs_mali and failed,
> so I've retried putting it there, and it works.

Adding Gary Bisson in Cc. Gary, what do you think about the above
report?

Thanks!

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

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

* [Buildroot] [git commit] qt5base: add qmake.conf fixup for i.MX platforms
  2017-11-07 21:41   ` Thomas Petazzoni
@ 2017-11-07 22:13     ` Gary Bisson
  2017-11-07 22:25       ` Giulio Benetti
  0 siblings, 1 reply; 6+ messages in thread
From: Gary Bisson @ 2017-11-07 22:13 UTC (permalink / raw)
  To: buildroot

Hi,

On Tue, Nov 7, 2017 at 10:41 PM, Thomas Petazzoni
<thomas.petazzoni@free-electrons.com> wrote:
> Hello,
>
> On Tue, 7 Nov 2017 11:53:38 -0700 (MST), Giulio Benetti wrote:
>> Hi Peter,
>>
>> unfortunately it doesn't work.
>> The problem is that you can't put at the end of file
>> EGLFS_DEVICE_INTEGRATION = eglfs_viv
>> It must stay before:
>>
>> include(../common/linux_device_post.conf)
>> load(qt_config)
>>
>> I did the same for eglfs_mali and failed,
>> so I've retried putting it there, and it works.
>
> Adding Gary Bisson in Cc. Gary, what do you think about the above
> report?

I'm surprised to read that this patch doesn't work. It did for sure at
the time I posted it.

Moreover, Maxime Ripard tested it recently I presume since he added
his tested-by yesterday.

Then again, as my comment said, this isn't the cleanest patch ever and
yes the qmake.conf from Yocto I point to in the commit log has the
variable set before the include.

But, also as stated in my comment, the goal of this patch was to be as
small and less intrusive as possible.

Regards,
Gary

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

* [Buildroot] [git commit] qt5base: add qmake.conf fixup for i.MX platforms
  2017-11-07 22:13     ` Gary Bisson
@ 2017-11-07 22:25       ` Giulio Benetti
  2017-11-07 22:39         ` Giulio Benetti
  0 siblings, 1 reply; 6+ messages in thread
From: Giulio Benetti @ 2017-11-07 22:25 UTC (permalink / raw)
  To: buildroot

Hi,

I based my patch on yours for eglfs_mali,
tried to compile from scratch
and that doesn't work unfortunately.
I've already submitted my patch,
so I've updated that it was buggy.

Here you find the answer of Arnout Vandecapp:
http://buildroot-busybox.2317881.n4.nabble.com/PATCH-1-1-add-qmake-conf-fixup-for-sunxi-mali-platforms-td179615.html

Adding Arnout in Cc

I'm planning to use sed as Arnout suggested.

Will you do the change as described or will I?
Because I'd like to add eglfs_mali as I've tried.

Regards

-- 
Giulio Benetti
R&D Manager &
Advanced Research

MICRONOVA SRL
Sede: Via A. Niedda 3 - 35010 Vigonza (PD)
Tel. 049/8931563 - Fax 049/8931346
Cod.Fiscale - P.IVA 02663420285
Capitale Sociale ? 26.000 i.v.
Iscritta al Reg. Imprese di Padova N. 02663420285
Numero R.E.A. 258642

Il 07/11/2017 23:13, Gary Bisson ha scritto:
> Hi,
> 
> On Tue, Nov 7, 2017 at 10:41 PM, Thomas Petazzoni
> <thomas.petazzoni@free-electrons.com> wrote:
>> Hello,
>>
>> On Tue, 7 Nov 2017 11:53:38 -0700 (MST), Giulio Benetti wrote:
>>> Hi Peter,
>>>
>>> unfortunately it doesn't work.
>>> The problem is that you can't put at the end of file
>>> EGLFS_DEVICE_INTEGRATION = eglfs_viv
>>> It must stay before:
>>>
>>> include(../common/linux_device_post.conf)
>>> load(qt_config)
>>>
>>> I did the same for eglfs_mali and failed,
>>> so I've retried putting it there, and it works.
>>
>> Adding Gary Bisson in Cc. Gary, what do you think about the above
>> report?
> 
> I'm surprised to read that this patch doesn't work. It did for sure at
> the time I posted it.
> 
> Moreover, Maxime Ripard tested it recently I presume since he added
> his tested-by yesterday.
> 
> Then again, as my comment said, this isn't the cleanest patch ever and
> yes the qmake.conf from Yocto I point to in the commit log has the
> variable set before the include.
> 
> But, also as stated in my comment, the goal of this patch was to be as
> small and less intrusive as possible.
> 
> Regards,
> Gary
>

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

* [Buildroot] [git commit] qt5base: add qmake.conf fixup for i.MX platforms
  2017-11-07 22:25       ` Giulio Benetti
@ 2017-11-07 22:39         ` Giulio Benetti
  0 siblings, 0 replies; 6+ messages in thread
From: Giulio Benetti @ 2017-11-07 22:39 UTC (permalink / raw)
  To: buildroot

Forgot to add Arnout.

Il 07/11/2017 23:25, Giulio Benetti ha scritto:
> Hi,
> 
> I based my patch on yours for eglfs_mali,
> tried to compile from scratch
> and that doesn't work unfortunately.
> I've already submitted my patch,
> so I've updated that it was buggy.
> 
> Here you find the answer of Arnout Vandecapp:
> http://buildroot-busybox.2317881.n4.nabble.com/PATCH-1-1-add-qmake-conf-fixup-for-sunxi-mali-platforms-td179615.html 
> 
> 
> Adding Arnout in Cc
> 
> I'm planning to use sed as Arnout suggested.
> 
> Will you do the change as described or will I?
> Because I'd like to add eglfs_mali as I've tried.
> 
> Regards
> 


-- 
Giulio Benetti
R&D Manager &
Advanced Research

MICRONOVA SRL
Sede: Via A. Niedda 3 - 35010 Vigonza (PD)
Tel. 049/8931563 - Fax 049/8931346
Cod.Fiscale - P.IVA 02663420285
Capitale Sociale ? 26.000 i.v.
Iscritta al Reg. Imprese di Padova N. 02663420285
Numero R.E.A. 258642

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

end of thread, other threads:[~2017-11-07 22:39 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-11-06 17:41 [Buildroot] [git commit] qt5base: add qmake.conf fixup for i.MX platforms Peter Korsgaard
2017-11-07 18:53 ` Giulio Benetti
2017-11-07 21:41   ` Thomas Petazzoni
2017-11-07 22:13     ` Gary Bisson
2017-11-07 22:25       ` Giulio Benetti
2017-11-07 22:39         ` Giulio Benetti

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.