[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