[Buildroot] qt5wayland: new package

Akihiko Odaki akihiko.odaki.4i at stu.hosei.ac.jp
Tue Jun 28 12:14:54 UTC 2016


Morin, Peter,

On 2016-06-28 15:14, Akihiko Odaki wrote:
>>>  QT5BASE_CONFIGURE_OPTS += $(if
>>> $(BR2_PACKAGE_OPENSSL),-openssl,-no-openssl)
>>>  QT5BASE_DEPENDENCIES   += $(if $(BR2_PACKAGE_OPENSSL),openssl)
>>>
>>> diff --git a/package/qt5/qt5wayland/Config.in
>>> b/package/qt5/qt5wayland/Config.in
>>> new file mode 100644
>>> index 0000000..acfff15
>>> --- /dev/null
>>> +++ b/package/qt5/qt5wayland/Config.in
>>> @@ -0,0 +1,16 @@
>>> +config BR2_PACKAGE_QT5WAYLAND
>>> +    bool "qt5wayland"
>>> +    select BR2_PACKAGE_QT5BASE
>>> +    select BR2_PACKAGE_QT5DECLARATIVE
>>> +    select BR2_PACKAGE_QT5JSBACKEND
>>> +    select BR2_PACKAGE_LIBXKBCOMMON
>>> +    select BR2_PACKAGE_XKEYBOARD_CONFIG
>>> +    depends on BR2_PACKAGE_WAYLAND
>>> +    depends on BR2_PACKAGE_QT5_JSCORE_AVAILABLE
>>
>> First, we prefer depends before select; it's more logical:
>>   - first, what do I require?  --> depends on
>>   - then when all I require is available, what do I need?  --> select
>>
>> Also, as Peter and I replied onyour previous iteration, you probably
>> need to depend on a libegl provider. But libegl is not enough, you also
>> need a wayland-egl provider, for which we currently have only mesa3d as
>> a provider.
>>
>> So, please, could you first add a new virtual package, named
>> libwayland-egl, that can act as a midddle-man between the providers and
>> qt5waylnd?
>>
>>  1- add the libwayland-egl virtual package
>>  2- make mesa3d a p[rovider of it (when the correct options are enabled
>>     in mesa3d)
>>  3- add qt5wayland which depends on libwayland-egl.
>>
>> But as Peter found, qt5wayland has backends for non wayland-egl
>> providers, like the Raspberry Pi. So we'd need ad-hoc dependencies in
>> this case.
>>
>> However, for the specific case of the RPi, the global directions is now
>> to use the VC4 driver in mesa3d and drop specific code in upstream
>> projects. This will take a bit of time before VC4 is up to the job,
>> though, so we'll probably need to carry thos specific ad-hoc
>> dependencies. They can be added in later patches, though; it is not
>> necessary that your submission covers all the cases from the onset.
>>
>> So I would be perfectly fine with a qt5wayland that only supports a
>> libwayland-egl for now.
>>
>> Concerning dependencies, please see Peter's comments on your previous
>> iteration, too.
>
> It doesn't seem to depend on libwayland-egl. Probably you can use
> wayland-generic QPA. So you may pass `-platform wayland-generic` for
> your application or set `wayland-generic` to
> BR2_PACKAGE_QT5BASE_DEFAULT_QPA.
>
> By the way, I found that the package depends on
> BR2_PACKAGE_QT5BASE_OPENGL while investigating the issue. I'll add the
> dependency to BR2_PACKAGE_QT5WAYLAND.

I found that actually it doesn't use EGL if it uses xcomposite-glx for 
the Wayland client. It has multiple client types: brcm-egl, 
drm-egl-server, libhybris-egl-server, wayland-egl, xcomposite-egl, and 
xcomposite-glx. It would be messed if you try to check for all 
dependencies of those clients.

Regards,
Akihiko


More information about the buildroot mailing list