diff mbox series

[meta-arago,master/scarthgap] recipes-qt: qt5: Add xkbcommon to qtbase PACKAGECONFIG

Message ID 20240603092255.2930095-1-c-shilwant@ti.com
State Superseded
Delegated to: Ryan Eatmon
Headers show
Series [meta-arago,master/scarthgap] recipes-qt: qt5: Add xkbcommon to qtbase PACKAGECONFIG | expand

Commit Message

Chirag Shilwant June 3, 2024, 9:22 a.m. UTC
From: Sai Sree Kartheek Adivi <s-adivi@ti.com>

- For QT apps to use physical keyboard, xkbcommon has to be added in
PACKAGECONFIG. This was supported until 09.01 using xkbcommon-evdev which at
present is an invalid PACKAGECONFIG & hence was dropped from meta-arago [1].

- Hence, add xkbcommon to PACKAGECONFIG which will enable the use of
physical keyboard in QT apps.

[1]: https://git.ti.com/cgit/arago-project/meta-arago/commit/?h=scarthgap&id=de16946741249265a38acb7bb503b39a0c2b4175

Signed-off-by: Chirag Shilwant <c-shilwant@ti.com>
---
 meta-arago-distro/recipes-qt/qt5/qtbase_%.bbappend | 2 ++
 1 file changed, 2 insertions(+)

Comments

Denys Dmytriyenko June 4, 2024, 4:08 p.m. UTC | #1
On Mon, Jun 03, 2024 at 02:52:55PM +0530, Chirag Shilwant via lists.yoctoproject.org wrote:
> From: Sai Sree Kartheek Adivi <s-adivi@ti.com>
> 
> - For QT apps to use physical keyboard, xkbcommon has to be added in
> PACKAGECONFIG. This was supported until 09.01 using xkbcommon-evdev which at
> present is an invalid PACKAGECONFIG & hence was dropped from meta-arago [1].
> 
> - Hence, add xkbcommon to PACKAGECONFIG which will enable the use of
> physical keyboard in QT apps.
> 
> [1]: https://git.ti.com/cgit/arago-project/meta-arago/commit/?h=scarthgap&id=de16946741249265a38acb7bb503b39a0c2b4175
> 
> Signed-off-by: Chirag Shilwant <c-shilwant@ti.com>
> ---
>  meta-arago-distro/recipes-qt/qt5/qtbase_%.bbappend | 2 ++
>  1 file changed, 2 insertions(+)
> 
> diff --git a/meta-arago-distro/recipes-qt/qt5/qtbase_%.bbappend b/meta-arago-distro/recipes-qt/qt5/qtbase_%.bbappend
> index b1205b5a..6f94c574 100644
> --- a/meta-arago-distro/recipes-qt/qt5/qtbase_%.bbappend
> +++ b/meta-arago-distro/recipes-qt/qt5/qtbase_%.bbappend
> @@ -4,6 +4,8 @@ GLES_EXTRA_DEPS = "libdrm wayland"
>  
>  PACKAGECONFIG[gles2] = "-opengl es2 -eglfs,,virtual/libgles2 virtual/egl ${GLES_EXTRA_DEPS}"
>  
> +PACKAGECONFIG:append:k3 = " xkbcommon"

This would make the package machine-specific - why is it only applicable to k3?


> +
>  PR:append = ".arago17"
>  
>  QT_CONFIG_FLAGS += "-qpa ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', 'eglfs', d)}"
> -- 
> 2.34.1
Chirag Shilwant June 5, 2024, 7:09 a.m. UTC | #2
Hi Denys & Ryan,

On 04/06/24 21:38, Denys Dmytriyenko wrote:
> On Mon, Jun 03, 2024 at 02: 52: 55PM +0530, Chirag Shilwant via 
> lists. yoctoproject. org wrote: > From: Sai Sree Kartheek Adivi 
> <s-adivi@ ti. com> > > - For QT apps to use physical keyboard, 
> xkbcommon has to be added in > PACKAGECONFIG. 
> ZjQcmQRYFpfptBannerStart
> This message was sent from outside of Texas Instruments.
> Do not click links or open attachments unless you recognize the source 
> of this email and know the content is safe. If you wish to report this 
> message to IT Security, please forward the message as an attachment to 
> phishing@list.ti.com
> ZjQcmQRYFpfptBannerEnd
> On Mon, Jun 03, 2024 at 02:52:55PM +0530, Chirag Shilwant via lists.yoctoproject.org wrote:
> > From: Sai Sree Kartheek Adivi <s-adivi@ti.com>
> > 
> > - For QT apps to use physical keyboard, xkbcommon has to be added in
> > PACKAGECONFIG. This was supported until 09.01 using xkbcommon-evdev which at
> > present is an invalid PACKAGECONFIG & hence was dropped from meta-arago [1].
> > 
> > - Hence, add xkbcommon to PACKAGECONFIG which will enable the use of
> > physical keyboard in QT apps.
> > 
> > [1]: https://git.ti.com/cgit/arago-project/meta-arago/commit/?h=scarthgap&id=de16946741249265a38acb7bb503b39a0c2b4175
> > 
> > Signed-off-by: Chirag Shilwant <c-shilwant@ti.com>
> > ---
> >  meta-arago-distro/recipes-qt/qt5/qtbase_%.bbappend | 2 ++
> >  1 file changed, 2 insertions(+)
> > 
> > diff --git a/meta-arago-distro/recipes-qt/qt5/qtbase_%.bbappend b/meta-arago-distro/recipes-qt/qt5/qtbase_%.bbappend
> > index b1205b5a..6f94c574 100644
> > --- a/meta-arago-distro/recipes-qt/qt5/qtbase_%.bbappend
> > +++ b/meta-arago-distro/recipes-qt/qt5/qtbase_%.bbappend
> > @@ -4,6 +4,8 @@ GLES_EXTRA_DEPS = "libdrm wayland"
> >  
> >  PACKAGECONFIG[gles2] = "-opengl es2 -eglfs,,virtual/libgles2 virtual/egl ${GLES_EXTRA_DEPS}"
> >  
> > +PACKAGECONFIG:append:k3 = " xkbcommon"
>
> This would make the package machine-specific - why is it only applicable to k3?


For non k3 based platforms, with the removal of Matrix GUI I don't see
any QT Demos under meta-arago-demos which might need the keyboard
functionality [Ryan correct me if we have any QT demo applicable for
non k3 based platform which needs keyboard].

For k3 platforms, we have TI Apps Launcher (a QT based OOB demo) for which
xkbcommon is needed & hence I made this change machine specific.


Btw, Denys do you have any background on why does meta-qt5 just in case 
of Wayland doesn't
support this keyboard enablement by default though I see for x11 they 
add 'xkbcommon' in
PACKAGECONFIG by default [1]

[1]: 
https://github.com/meta-qt5/meta-qt5/blob/scarthgap/recipes-qt/qt5/qtbase_git.bb#L70


>
>
> > +
> >  PR:append = ".arago17"
> >  
> >  QT_CONFIG_FLAGS += "-qpa ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', 'eglfs', d)}"
> > -- 
> > 2.34.1
>
>
> -=-=-=-=-=-=-=-=-=-=-=-
> Links: You receive all messages sent to this group.
> View/Reply Online (#15363):https://urldefense.com/v3/__https://lists.yoctoproject.org/g/meta-arago/message/15363__;!!G3vK!U1uBDrnNmtKx_ghron2bydfbtiqixyS9bxFpUcM0WW7z8YnnzCnJevihs-oyB3LGUASSqeVfviQr$
> Mute This Topic:https://urldefense.com/v3/__https://lists.yoctoproject.org/mt/106458499/7030289__;!!G3vK!U1uBDrnNmtKx_ghron2bydfbtiqixyS9bxFpUcM0WW7z8YnnzCnJevihs-oyB3LGUASSqUVsMvoz$
> Group Owner: meta-arago+owner@lists.yoctoproject.org
> Unsubscribe:https://urldefense.com/v3/__https://lists.yoctoproject.org/g/meta-arago/unsub__;!!G3vK!U1uBDrnNmtKx_ghron2bydfbtiqixyS9bxFpUcM0WW7z8YnnzCnJevihs-oyB3LGUASSqSobwslI$  [c-shilwant@ti.com]
> -=-=-=-=-=-=-=-=-=-=-=-
>
>
Denys Dmytriyenko June 6, 2024, 8:14 p.m. UTC | #3
On Wed, Jun 05, 2024 at 12:39:12PM +0530, Chirag Shilwant via lists.yoctoproject.org wrote:
> Hi Denys & Ryan,
> 
> On 04/06/24 21:38, Denys Dmytriyenko wrote:
> >On Mon, Jun 03, 2024 at 02: 52: 55PM +0530, Chirag Shilwant via
> >lists. yoctoproject. org wrote: > From: Sai Sree Kartheek Adivi
> ><s-adivi@ ti. com> > > - For QT apps to use physical keyboard,
> >xkbcommon has to be added in > PACKAGECONFIG. 
> >ZjQcmQRYFpfptBannerStart
> >This message was sent from outside of Texas Instruments.
> >Do not click links or open attachments unless you recognize the
> >source of this email and know the content is safe. If you wish to
> >report this message to IT Security, please forward the message as
> >an attachment to phishing@list.ti.com
> >ZjQcmQRYFpfptBannerEnd
> >On Mon, Jun 03, 2024 at 02:52:55PM +0530, Chirag Shilwant via lists.yoctoproject.org wrote:
> >> From: Sai Sree Kartheek Adivi <s-adivi@ti.com>
> >> > - For QT apps to use physical keyboard, xkbcommon has to be
> >added in
> >> PACKAGECONFIG. This was supported until 09.01 using xkbcommon-evdev which at
> >> present is an invalid PACKAGECONFIG & hence was dropped from meta-arago [1].
> >> > - Hence, add xkbcommon to PACKAGECONFIG which will enable the
> >use of
> >> physical keyboard in QT apps.
> >> > [1]: https://git.ti.com/cgit/arago-project/meta-arago/commit/?h=scarthgap&id=de16946741249265a38acb7bb503b39a0c2b4175
> >> > Signed-off-by: Chirag Shilwant <c-shilwant@ti.com>
> >> ---
> >>  meta-arago-distro/recipes-qt/qt5/qtbase_%.bbappend | 2 ++
> >>  1 file changed, 2 insertions(+)
> >> > diff --git
> >a/meta-arago-distro/recipes-qt/qt5/qtbase_%.bbappend
> >b/meta-arago-distro/recipes-qt/qt5/qtbase_%.bbappend
> >> index b1205b5a..6f94c574 100644
> >> --- a/meta-arago-distro/recipes-qt/qt5/qtbase_%.bbappend
> >> +++ b/meta-arago-distro/recipes-qt/qt5/qtbase_%.bbappend
> >> @@ -4,6 +4,8 @@ GLES_EXTRA_DEPS = "libdrm wayland"
> >>  >  PACKAGECONFIG[gles2] = "-opengl es2 -eglfs,,virtual/libgles2
> >virtual/egl ${GLES_EXTRA_DEPS}"
> >>  > +PACKAGECONFIG:append:k3 = " xkbcommon"
> >
> >This would make the package machine-specific - why is it only applicable to k3?
> 
> 
> For non k3 based platforms, with the removal of Matrix GUI I don't see
> any QT Demos under meta-arago-demos which might need the keyboard
> functionality [Ryan correct me if we have any QT demo applicable for
> non k3 based platform which needs keyboard].
> 
> For k3 platforms, we have TI Apps Launcher (a QT based OOB demo) for which
> xkbcommon is needed & hence I made this change machine specific.

That is a wrong reason to make a large package that many other packages depend 
on (and build on top of) to be machine-specific! That will force qtbase to be 
rebuilt from scratch for each and every K3 platform, instead of re-using 
common Aarch64 binaries. Moreover, that invalidates sstate cache for all other 
packages that depend on qtbase, essentially making them machine-specific as 
well... In other words - keyboard support does not sound even remotely as a 
machine-specific feature, so should rather be enabled or disabled globally on 
a per-distro basis. And thus, should be set in distro config file.


> Btw, Denys do you have any background on why does meta-qt5 just in
> case of Wayland doesn't
> support this keyboard enablement by default though I see for x11
> they add 'xkbcommon' in
> PACKAGECONFIG by default [1]
> 
> [1]: https://github.com/meta-qt5/meta-qt5/blob/scarthgap/recipes-qt/qt5/qtbase_git.bb#L70

Wayland support in Qt5 is provided by its QtWayland module and it handles 
xkbcommon. Are there some corner cases you are trying to enable with this?
Chirag Shilwant June 18, 2024, 12:13 p.m. UTC | #4
Hi Denys,

On 07/06/24 01:44, Denys Dmytriyenko wrote:
> On Wed, Jun 05, 2024 at 12:39:12PM +0530, Chirag Shilwant via lists.yoctoproject.org wrote:
>> Hi Denys & Ryan,
>>
>> On 04/06/24 21:38, Denys Dmytriyenko wrote:
>>> On Mon, Jun 03, 2024 at 02: 52: 55PM +0530, Chirag Shilwant via
>>> lists. yoctoproject. org wrote: > From: Sai Sree Kartheek Adivi
>>> <s-adivi@ ti. com> > > - For QT apps to use physical keyboard,
>>> xkbcommon has to be added in > PACKAGECONFIG. 
>>> ZjQcmQRYFpfptBannerStart
>>> This message was sent from outside of Texas Instruments.
>>> Do not click links or open attachments unless you recognize the
>>> source of this email and know the content is safe. If you wish to
>>> report this message to IT Security, please forward the message as
>>> an attachment to phishing@list.ti.com
>>> ZjQcmQRYFpfptBannerEnd
>>> On Mon, Jun 03, 2024 at 02:52:55PM +0530, Chirag Shilwant via lists.yoctoproject.org wrote:
>>>> From: Sai Sree Kartheek Adivi <s-adivi@ti.com>
>>>>> - For QT apps to use physical keyboard, xkbcommon has to be
>>> added in
>>>> PACKAGECONFIG. This was supported until 09.01 using xkbcommon-evdev which at
>>>> present is an invalid PACKAGECONFIG & hence was dropped from meta-arago [1].
>>>>> - Hence, add xkbcommon to PACKAGECONFIG which will enable the
>>> use of
>>>> physical keyboard in QT apps.
>>>>> [1]: https://git.ti.com/cgit/arago-project/meta-arago/commit/?h=scarthgap&id=de16946741249265a38acb7bb503b39a0c2b4175
>>>>> Signed-off-by: Chirag Shilwant <c-shilwant@ti.com>
>>>> ---
>>>>   meta-arago-distro/recipes-qt/qt5/qtbase_%.bbappend | 2 ++
>>>>   1 file changed, 2 insertions(+)
>>>>> diff --git
>>> a/meta-arago-distro/recipes-qt/qt5/qtbase_%.bbappend
>>> b/meta-arago-distro/recipes-qt/qt5/qtbase_%.bbappend
>>>> index b1205b5a..6f94c574 100644
>>>> --- a/meta-arago-distro/recipes-qt/qt5/qtbase_%.bbappend
>>>> +++ b/meta-arago-distro/recipes-qt/qt5/qtbase_%.bbappend
>>>> @@ -4,6 +4,8 @@ GLES_EXTRA_DEPS = "libdrm wayland"
>>>>   >  PACKAGECONFIG[gles2] = "-opengl es2 -eglfs,,virtual/libgles2
>>> virtual/egl ${GLES_EXTRA_DEPS}"
>>>>   > +PACKAGECONFIG:append:k3 = " xkbcommon"
>>> This would make the package machine-specific - why is it only applicable to k3?
>>
>> For non k3 based platforms, with the removal of Matrix GUI I don't see
>> any QT Demos under meta-arago-demos which might need the keyboard
>> functionality [Ryan correct me if we have any QT demo applicable for
>> non k3 based platform which needs keyboard].
>>
>> For k3 platforms, we have TI Apps Launcher (a QT based OOB demo) for which
>> xkbcommon is needed & hence I made this change machine specific.
> That is a wrong reason to make a large package that many other packages depend
> on (and build on top of) to be machine-specific! That will force qtbase to be
> rebuilt from scratch for each and every K3 platform, instead of re-using
> common Aarch64 binaries. Moreover, that invalidates sstate cache for all other
> packages that depend on qtbase, essentially making them machine-specific as
> well... In other words - keyboard support does not sound even remotely as a
> machine-specific feature, so should rather be enabled or disabled globally on
> a per-distro basis. And thus, should be set in distro config file.


Sorry for the late reply.
Valid point, I will send out a v2 patch adding it for all instead of making
it machine specific.


>
>
>> Btw, Denys do you have any background on why does meta-qt5 just in
>> case of Wayland doesn't
>> support this keyboard enablement by default though I see for x11
>> they add 'xkbcommon' in
>> PACKAGECONFIG by default [1]
>>
>> [1]: https://github.com/meta-qt5/meta-qt5/blob/scarthgap/recipes-qt/qt5/qtbase_git.bb#L70
> Wayland support in Qt5 is provided by its QtWayland module and it handles
> xkbcommon. Are there some corner cases you are trying to enable with this?


We are observing that without this patch, physical keyboards aren't
supported by QT Apps. Earlier meta-qt5 used to support that with
xkbcommon-evdev but currently it's an invalid PACKECONFIG. Hence, we
need xkbcommon which enables physical keyboards in QT Apps.


>
diff mbox series

Patch

diff --git a/meta-arago-distro/recipes-qt/qt5/qtbase_%.bbappend b/meta-arago-distro/recipes-qt/qt5/qtbase_%.bbappend
index b1205b5a..6f94c574 100644
--- a/meta-arago-distro/recipes-qt/qt5/qtbase_%.bbappend
+++ b/meta-arago-distro/recipes-qt/qt5/qtbase_%.bbappend
@@ -4,6 +4,8 @@  GLES_EXTRA_DEPS = "libdrm wayland"
 
 PACKAGECONFIG[gles2] = "-opengl es2 -eglfs,,virtual/libgles2 virtual/egl ${GLES_EXTRA_DEPS}"
 
+PACKAGECONFIG:append:k3 = " xkbcommon"
+
 PR:append = ".arago17"
 
 QT_CONFIG_FLAGS += "-qpa ${@bb.utils.contains('DISTRO_FEATURES', 'wayland', 'wayland', 'eglfs', d)}"