[Buildroot] [PATCH v6 5/9] qt5declarative: enable Quick for non-GL platforms for Qt 5.8.0
Andreas Naumann
dev at andin.de
Tue Feb 7 09:54:14 UTC 2017
Hi Zoltan,
i was going to wait for yesterdays subset of Thomas to appear (on
master?) and then post/rework the sw-rasterize specific patches on top
of that.
regards,
Andreas
Am 07.02.2017 um 10:39 schrieb Zoltan Gyarmati:
> Dear Andreas & All,
>
> just to avoid duplicated efforts: are you planning to work on this
> series and prepare the next iteration? I can dedicate time to this
> tomorrow morning earliest, so then either i can start to assemble the
> patchset based on the collected comments, or test it if one is submitted
> in the meantime...
>
> Thanks,
>
> Zoltan Gyarmati
> https://zgyarmati.de
>
> On 02/07/2017 09:41 AM, Andreas Naumann wrote:
>> Hi,
>>
>> Am 02.02.2017 um 23:20 schrieb Arnout Vandecappelle:
>>>
>>>
>>> On 31-01-17 08:59, Zoltan Gyarmati wrote:
>>>> From: Naumann Andreas <ANaumann at ultratronik.de>
>>>>
>>>> Since Qt 5.8.0 provides a software rasterizer we can enable Quick
>>>> for non-GL
>>>> platforms. However, some modules provide less functionality without
>>>> OpenGL,
>>>> so install steps have to be limited for the softrender only backend:
>>>> - qtmultimedia does not provide qml
>>>>
>>>> Signed-off-by: Andreas Naumann <anaumann at ultratronik.de>
>>>> Signed-off-by: Zoltan Gyarmati <mr.zoltan.gyarmati at gmail.com>
>>>> ---
>>>> package/qt5/qt5declarative/Config.in | 6 +++---
>>>> package/qt5/qt5multimedia/qt5multimedia.mk | 3 +++
>>>> 2 files changed, 6 insertions(+), 3 deletions(-)
>>>>
>>>> diff --git a/package/qt5/qt5declarative/Config.in
>>>> b/package/qt5/qt5declarative/Config.in
>>>> index eba4c8d..a8accdb 100644
>>>> --- a/package/qt5/qt5declarative/Config.in
>>>> +++ b/package/qt5/qt5declarative/Config.in
>>>> @@ -15,11 +15,11 @@ config BR2_PACKAGE_QT5DECLARATIVE
>>>> if BR2_PACKAGE_QT5DECLARATIVE
>>>>
>>>> comment "quick module needs an OpenGL-capable backend"
>>>> - depends on !BR2_PACKAGE_QT5_GL_AVAILABLE
>>>> + depends on !BR2_PACKAGE_QT5_GL_AVAILABLE && BR2_QT5_VERSION_5_6
>>>>
>>>> config BR2_PACKAGE_QT5DECLARATIVE_QUICK
>>>> bool "quick module"
>>>> - select BR2_PACKAGE_QT5BASE_OPENGL
>>>> - depends on BR2_PACKAGE_QT5_GL_AVAILABLE
>>>> + select BR2_PACKAGE_QT5BASE_OPENGL if BR2_PACKAGE_QT5_GL_AVAILABLE
>>>> + depends on BR2_PACKAGE_QT5_GL_AVAILABLE || BR2_QT5_VERSION_5_8
>>>
>>> This means that the conditions that are added to be able to select
>>> BR2_PACKAGE_QT5DECLARATIVE_QUICK are no longer correct (e.g. in
>>> qt5quickcontrols). Since the condition is a bit complicated, it's
>>> probably
>>> better to add an auxiliary symbol:
>>>
>>> config BR2_PACKAGE_QT5DECLARATIVE_QUICK_AVAILABLE
>>> default y
>>> depends on BR2_PACKAGE_QT5_GL_AVAILABLE || !BR2_QT5_VERSION_5_6
>>>
>>> comment "quick module needs an OpenGL-capable backend"
>>> depends on !BR2_PACKAGE_QT5DECLARATIVE_QUICK_AVAILABLE
>>>
>>> etc.
>>>
>>> Do that as a separate patch that converts all the existing users of
>>> BR2_PACKAGE_QT5DECLARATIVE_QUICK.
>>>
>>> Note that it has to be checked if all the packages that now depend on
>>> BR2_PACKAGE_QT5_GL_AVAILABLE really do work with the softrenderer.
>>>
>>>
>>
>> Ok, I'll do that once the new patch set is out.
>>
>>>
>>>>
>>>> endif
>>>> diff --git a/package/qt5/qt5multimedia/qt5multimedia.mk
>>>> b/package/qt5/qt5multimedia/qt5multimedia.mk
>>>> index 7ce947a..b11b8d1 100644
>>>> --- a/package/qt5/qt5multimedia/qt5multimedia.mk
>>>> +++ b/package/qt5/qt5multimedia/qt5multimedia.mk
>>>> @@ -58,11 +58,14 @@ define QT5MULTIMEDIA_INSTALL_TARGET_LIBS
>>>> endef
>>>> endif
>>>>
>>>> +# QtMultimedia QMLs have a hard dependency on OpenGL -> not
>>>> available for softraster backends
>>>
>>> Line is too long - wrap at 80 characters.
>>>
>>> Just to be sure: if you try to use these QML classes you get a
>>> runtime failure,
>>> correct? So the only reason not to copy them is that we know they
>>> won't work anyway?
>>
>> Yes. I cant quite remember how exactly it failed but it did quite
>> harshly. But that was with the beta version. Not copying the qmls of
>> course also results in an error message for applications which try to
>> include them.
>> So in the end its maybe not worth it, because it also adds maintenance
>> effort in case it is fixed upstream sometime in the future. Going to
>> remove that part.
>>
>>
>> regards,
>> Andreas
>>
>>
>>>
>>> Regards,
>>> Arnout
>>>
>>>> +ifeq ($(BR2_PACKAGE_QT5_GL_AVAILABLE),y)
>>>> ifeq ($(BR2_PACKAGE_QT5DECLARATIVE_QUICK),y)
>>>> define QT5MULTIMEDIA_INSTALL_TARGET_QMLS
>>>> cp -dpfr $(STAGING_DIR)/usr/qml/QtMultimedia
>>>> $(TARGET_DIR)/usr/qml/
>>>> endef
>>>> endif
>>>> +endif
>>>>
>>>> ifeq ($(BR2_PACKAGE_QT5BASE_EXAMPLES),y)
>>>> define QT5MULTIMEDIA_INSTALL_TARGET_EXAMPLES
>>>>
>>>
>
>
More information about the buildroot
mailing list