Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.bugs.dist > #1148887 > unrolled thread

Bug#1037164: libwxgtk3.0-gtk3-0v5: wxwidgets not built with XTest support (libxtst6)

Started byMaxim Cournoyer <maxim.cournoyer@gmail.com>
First post2023-06-06 20:50 +0200
Last post2023-06-08 06:40 +0200
Articles 6 — 3 participants

Back to article view | Back to linux.debian.bugs.dist


Contents

  Bug#1037164: libwxgtk3.0-gtk3-0v5: wxwidgets not built with XTest support (libxtst6) Maxim Cournoyer <maxim.cournoyer@gmail.com> - 2023-06-06 20:50 +0200
    Bug#1037164: libwxgtk3.0-gtk3-0v5: wxwidgets not built with XTest support (libxtst6) Olly Betts <olly@survex.com> - 2023-06-06 22:40 +0200
      Bug#1037164: libwxgtk3.0-gtk3-0v5: wxwidgets not built with XTest support (libxtst6) Maxim Cournoyer <maxim.cournoyer@gmail.com> - 2023-06-07 05:40 +0200
        Bug#1037164: libwxgtk3.0-gtk3-0v5: wxwidgets not built with XTest support (libxtst6) Scott Talbert <swt@techie.net> - 2023-06-07 16:10 +0200
          Bug#1037164: libwxgtk3.0-gtk3-0v5: wxwidgets not built with XTest support (libxtst6) Olly Betts <olly@survex.com> - 2023-06-07 22:40 +0200
            Bug#1037164: libwxgtk3.0-gtk3-0v5: wxwidgets not built with XTest support (libxtst6) Olly Betts <olly@survex.com> - 2023-06-08 06:40 +0200

#1148887 — Bug#1037164: libwxgtk3.0-gtk3-0v5: wxwidgets not built with XTest support (libxtst6)

FromMaxim Cournoyer <maxim.cournoyer@gmail.com>
Date2023-06-06 20:50 +0200
SubjectBug#1037164: libwxgtk3.0-gtk3-0v5: wxwidgets not built with XTest support (libxtst6)
Message-ID<GDJUJ-e6Td-1@gated-at.bofh.it>
Package: libwxgtk3.0-gtk3-0v5
Version: 3.0.5.1+dfsg-2
Severity: wishlist

Dear Maintainer,

   * What led up to the situation?

Testing a wxPython application on a Raspberry Pi (based on Debian
Bullseye), it was discovered that the wx.UIActionSimulator [0] class
did not produce any input there, as opposed to it working on a Guix
System.

[0]  https://docs.wxpython.org/wx.UIActionSimulator.html?highlight=uiactionsimulator#wx.UIActionSimulator

   * What exactly did you do (or not do) that was effective (or
     ineffective)?

I researched the problem and found that the feature I wanted was implemented 
using XTest, which is detected at wxWidgets' build time [1].  Looking at the Debian
package dependencies, I found it did *not* depend on the libxtst6 package.

[1]  https://github.com/wxWidgets/wxWidgets/issues/17530

   * What was the outcome of this action?

This bug/wishlist report.

   * What outcome did you expect instead?

wx.UIActionSimulator from wxPython/wxWidgets should produce key inputs
instead of nothing.  It should work like it does on Guix System.

-- System Information:
Debian Release: 11.7
  APT prefers stable-updates
  APT policy: (500, 'stable-updates'), (500, 'stable-security'), (500, 'stable')
Architecture: arm64 (aarch64)
Foreign Architectures: armhf

Kernel: Linux 6.1.21-v8+ (SMP w/4 CPU threads; PREEMPT)
Kernel taint flags: TAINT_CRAP
Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /usr/bin/dash
Init: systemd (via /run/systemd/system)

Versions of packages libwxgtk3.0-gtk3-0v5 depends on:
ii  libc6                2.31-13+rpt2+rpi1+deb11u5
ii  libcairo2            1.16.0-5+rpt1
ii  libgcc-s1            10.2.1-6
ii  libgdk-pixbuf2.0-0   2.40.2-2
ii  libgl1               1.3.2-1
ii  libglib2.0-0         2.66.8-1
ii  libgtk-3-0           3.24.24-4+rpt12+deb11u3
ii  libjpeg62-turbo      1:2.0.6-4
ii  libnotify4           0.7.9-3
ii  libpango-1.0-0       1.46.2-3
ii  libpangocairo-1.0-0  1.46.2-3
ii  libpng16-16          1.6.37-3
ii  libsm6               2:1.2.3-1
ii  libstdc++6           10.2.1-6
ii  libtiff5             4.2.0-1+deb11u4
pn  libwxbase3.0-0v5     <none>
ii  libx11-6             2:1.7.2-1

libwxgtk3.0-gtk3-0v5 recommends no packages.

libwxgtk3.0-gtk3-0v5 suggests no packages.

[toc] | [next] | [standalone]


#1148897

FromOlly Betts <olly@survex.com>
Date2023-06-06 22:40 +0200
Message-ID<GDLDb-e7W5-5@gated-at.bofh.it>
In reply to#1148887
On Tue, Jun 06, 2023 at 02:12:50PM -0400, Maxim Cournoyer wrote:
> I researched the problem and found that the feature I wanted was implemented 
> using XTest, which is detected at wxWidgets' build time [1].  Looking at the Debian
> package dependencies, I found it did *not* depend on the libxtst6 package.
> 
> [1]  https://github.com/wxWidgets/wxWidgets/issues/17530

Have you actually tested a wx build with this enabled?

Comments in that ticket suggest that XTest doesn't work on Wayland and
"Wayland is used by default in Debian 10 and newer" (10 is buster, the
current stable release right now which is about to become oldstable):

https://wiki.debian.org/Wayland

It looks like there isn't a Wayland-specific implementation in the
source and src/unix/uiactionx11.cpp uses X11-specific functions so
building with --with-xtest may not really solve your problem.

Forcing use of X11 for the app may help, e.g.:

  GDK_BACKEND=x11 ./myapp

(The debian wx packages currently effectively do the above automatically
if wxGLCanvas is used as the current support for wxGLCanvas on Wayland
has some problems - hopefully we can eliminate that soon, but it seemed
the least risky fix for the bullseye release.)

>    * What was the outcome of this action?
> 
> This bug/wishlist report.

Hilarious, but more useful answers to these questions would be a
short python script to allow us to easily check if wx.UIActionSimulator
is working as you expect or not (e.g. currently this script produces
no output, with working support it should output "...").

> wx.UIActionSimulator from wxPython/wxWidgets should produce key inputs
> instead of nothing.  It should work like it does on Guix System.

I notice that configure --help describes this feature as "experimental":

  --enable-uiactionsim    use wxUIActionSimulator (experimental)

That might be an outdated status though.

Cheers,
    Olly

[toc] | [prev] | [next] | [standalone]


#1148919

FromMaxim Cournoyer <maxim.cournoyer@gmail.com>
Date2023-06-07 05:40 +0200
Message-ID<GDSbD-eccT-1@gated-at.bofh.it>
In reply to#1148897

[Multipart message — attachments visible in raw view] — view raw

Hi,

Olly Betts <olly@survex.com> writes:

> On Tue, Jun 06, 2023 at 02:12:50PM -0400, Maxim Cournoyer wrote:
>> I researched the problem and found that the feature I wanted was implemented
>> using XTest, which is detected at wxWidgets' build time [1].  Looking at the Debian
>> package dependencies, I found it did *not* depend on the libxtst6 package.
>>
>> [1]  https://github.com/wxWidgets/wxWidgets/issues/17530
>
> Have you actually tested a wx build with this enabled?

Yes, it's enabled in Guix, and my application works there, on the same
target (on top of Debian), e.g. in the environment:

--8<---------------cut here---------------start------------->8---
guix shell gtk+ python python-wxpython wxwidgets
--8<---------------cut here---------------end--------------->8---

If I step out of the environment and rely on the Debian-provided
(XTest-less) python3-wxgtk4.0/libwxgtk3.0-gtk3-0v5 packages instead, my
application no longer works (pressing the virtual keyboard doesn't cause
any text to appear in a text field, say).

> Comments in that ticket suggest that XTest doesn't work on Wayland and
> "Wayland is used by default in Debian 10 and newer" (10 is buster, the
> current stable release right now which is about to become oldstable):
>
> https://wiki.debian.org/Wayland
>
> It looks like there isn't a Wayland-specific implementation in the
> source and src/unix/uiactionx11.cpp uses X11-specific functions so
> building with --with-xtest may not really solve your problem.
>
> Forcing use of X11 for the app may help, e.g.:
>
>   GDK_BACKEND=x11 ./myapp

My application runs strictly in a X11 environment on top of Raspberry Pi
lite (which is based on Debian Bullseye).  That lite image doesn't come
with much and leaves the user choosing the components, similar to an
Arch Linux system.  I think even if for the default Wayland setup of
Debian building wxWidgets with XTest won't provide much, at least it
will be useful for users sticking to X11 and expecting
https://docs.wxpython.org/wx.UIActionSimulator.html?highlight=uiactionsimulator#wx.UIActionSimulator
to work with GTK+.  At any rate, the size of having XTest in the
distribution of libwxgtk3.0-gtk3-0v5 should be minimal, even if it's not
useful to everyone.  On Guix for example, the libxtst package and all
its transitive (referenced) dependencies weighs only 86 MiB:

--8<---------------cut here---------------start------------->8---
$ guix size libxtst
store item                                                       total    self
/gnu/store/gsjczqir1wbz8p770zndrpw4rnppmxi3-glibc-2.35              40.6    38.8  47.5%
/gnu/store/930nwsiysdvy2x5zv1sf6v7ym75z8ayk-gcc-11.3.0-lib          75.3    34.7  42.5%
/gnu/store/qabydd2r26gcr9s26hzchip3a3h3zhg4-libxcb-1.15             78.5     3.0   3.7%
/gnu/store/0hvkv5kvrk7ix29pfnbkyppbdxa7ki7n-libx11-1.8.1            81.2     2.8   3.4%
/gnu/store/zzyywykw7kriln18rxqd82f0k5kidla7-bash-static-5.1.16       1.8     1.8   2.2%
/gnu/store/z8kgahaarjpl0b1nzpqmzyrm4bbmnxw3-libxext-1.3.4           81.4     0.1   0.2%
/gnu/store/xkzw5shd6bchzvhv9d6p08hsny749jdd-libxdmcp-1.1.3          75.4     0.1   0.2%
/gnu/store/i7lls5jbad877g0fv7s87rlw0dgxp3wm-libxi-1.7.10            81.5     0.1   0.2%
/gnu/store/ck5m2chijap9c8warmx4af7ppc0wixsx-libxtst-1.2.3           81.6     0.1   0.1%
/gnu/store/yilf64y14qciml3kkj3506i3n2gmaawb-libxau-1.0.10           75.3     0.0   0.0%
total: 81.6 MiB
--8<---------------cut here---------------end--------------->8---

which is pretty small and probably composed of things already depended
on by the Debian libwxgtk3.0-gtk3-0v5 package.

[...]

>>    * What was the outcome of this action?
>>
>> This bug/wishlist report.
>
> Hilarious, but more useful answers to these questions would be a
> short python script to allow us to easily check if wx.UIActionSimulator
> is working as you expect or not (e.g. currently this script produces
> no output, with working support it should output "...").

Ha!  I think the small program attached demonstrates it well, if you'd
like to try it.

[toc] | [prev] | [next] | [standalone]


#1148976

FromScott Talbert <swt@techie.net>
Date2023-06-07 16:10 +0200
Message-ID<GE21j-eix7-3@gated-at.bofh.it>
In reply to#1148919
On Tue, 6 Jun 2023, Maxim Cournoyer wrote:

>>> I researched the problem and found that the feature I wanted was implemented
>>> using XTest, which is detected at wxWidgets' build time [1].  Looking at the Debian
>>> package dependencies, I found it did *not* depend on the libxtst6 package.

I think it would be okay to enable xtest support even though it doesn't 
work under Wayland.  However, this type of change doesn't seem appropriate 
for a stable release (it's possible it might even cause an ABI change), so 
we'd have to make it unstable after bookworm is released (this weekend?!). 
Thus, the bug should be reassigned to wxwidgets3.2.

Scott

[toc] | [prev] | [next] | [standalone]


#1149012

FromOlly Betts <olly@survex.com>
Date2023-06-07 22:40 +0200
Message-ID<GE86J-em1T-1@gated-at.bofh.it>
In reply to#1148976
Control: reassign -1 source:wxwidgets3.2

On Wed, Jun 07, 2023 at 09:49:19AM -0400, Scott Talbert wrote:
> I think it would be okay to enable xtest support even though it doesn't work
> under Wayland.

I think it'd be good to check with upstream if the "experimental" marker
is out-dated, or still accurate, and if it's still accurate what the
downsides of this are.  I've opened a ticket:

https://github.com/wxWidgets/wxWidgets/issues/23619

> However, this type of change doesn't seem appropriate for a
> stable release (it's possible it might even cause an ABI change), so we'd
> have to make it unstable after bookworm is released (this weekend?!). Thus,
> the bug should be reassigned to wxwidgets3.2.

Oh, I missed that this was reported in wxwidgets3.0 - thanks for
spotting.

I agree this should be reassigned - wxwidgets3.0 is gone from bookworm
and newer and I really can't see the release team agreeing to enabling a
new optional feature in a stable or oldstable update (and one of their
criteria is severity important or higher).

So we can only target addressing this for trixie at this point, so we can
take the time to check with upstream.  If it requires an ABI bump we'd
need to do a transition so that's a key question.

Cheers,
    Olly

[toc] | [prev] | [next] | [standalone]


#1149026

FromOlly Betts <olly@survex.com>
Date2023-06-08 06:40 +0200
Message-ID<GEfBf-eqWo-7@gated-at.bofh.it>
In reply to#1149012
On Wed, Jun 07, 2023 at 09:27:13PM +0100, Olly Betts wrote:
> I think it'd be good to check with upstream if the "experimental" marker
> is out-dated, or still accurate, and if it's still accurate what the
> downsides of this are.  I've opened a ticket:
> 
> https://github.com/wxWidgets/wxWidgets/issues/23619

Upstream confirms it's not experimental any more and will update
the docs.  They did note that not only does it not work under Wayland,
but also that it may not be possible to make it work there.

Cheers,
    Olly

[toc] | [prev] | [standalone]


Back to top | Article view | linux.debian.bugs.dist


csiph-web