This adds several handy X11 utilities, such as xrandr, and some other window managers, in order to eventually use a different one and avoid fwvm race conditions.
I think it would be interesting to test with some different WMs than fvwm, at least because they are more commonly used.
Then, I also think that fvwm has some race conditions, and it causes spurious focus loss, as https://bugs.winehq.org/show_bug.cgi?id=54594 for instance. I've been running the same test in a tight loop with any of the other WMs added here (mutter / kwin / openbox) and it is not reproducing. With fvwm the failure reproduces quickly and systematically.
The xrandr utility would be useful in the future, but only after the image is updated to a newer xserver-xorg-video-dummy version which would support multiple screens. It will then be possible to set them up with the following commands:
``` xrandr --addmode DUMMY1 1024x768 \ --addmode DUMMY2 1024x768 xrandr --output DUMMY0 --auto \ --output DUMMY1 --right-of DUMMY0 --mode 1024x768 \ --output DUMMY2 --right-of DUMMY1 --mode 1024x768 xrandr # to refresh the settings ```
Then I think it doesn't hurt to have it installed in the meantime.
From: Rémi Bernon rbernon@codeweavers.com
This adds several handy X11 utilities, such as xrandr, and some other window managers, in order to eventually use a different one and avoid fwvm race conditions. --- tools/gitlab/image.docker | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/tools/gitlab/image.docker b/tools/gitlab/image.docker index cf16ed49c95..468a8a71800 100644 --- a/tools/gitlab/image.docker +++ b/tools/gitlab/image.docker @@ -52,7 +52,8 @@ RUN export DEBIAN_FRONTEND=noninteractive; \ samba-dev:amd64 \ unixodbc-dev:amd64 unixodbc-dev:i386 \ x11proto-dev && \ - apt-get install -y ccache netbase curl ca-certificates xserver-xorg-video-dummy xserver-xorg xfonts-base xinit fvwm \ + apt-get install -y ccache netbase curl ca-certificates xserver-xorg-video-dummy xserver-xorg xfonts-base \ + xinit x11-xserver-utils x11-utils fvwm openbox mutter kwin-x11 \ winbind fonts-liberation2 fonts-noto-core fonts-noto-cjk pulseaudio libasound2-plugins:amd64 libasound2-plugins:i386 \ libmjpegutils-2.1-0:amd64 libmjpegutils-2.1-0:i386 gstreamer1.0-libav:amd64 gstreamer1.0-libav:i386 \ gstreamer1.0-plugins-base:amd64 gstreamer1.0-plugins-good:amd64 gstreamer1.0-plugins-bad:amd64 gstreamer1.0-plugins-ugly:amd64 \
Any reason not to do that? The FVWM race condition is making the tests fail quite often now, because dinput device acquisition is faster than it used to be. FWIW I opened https://github.com/fvwmorg/fvwm/pull/101 to fix it upstream, but it doesn't look very active.
Any reason not to do that? The FVWM race condition is making the tests fail quite often now, because dinput device acquisition is faster than it used to be. FWIW I opened https://github.com/fvwmorg/fvwm/pull/101 to fix it upstream, but it doesn't look very active.
I rather suspect that changing windows managers to work around a bug is simply going to end up trading it for a different set of bugs. In any case please let's only install things we are actually using, the image is already big enough.
On Tue Mar 28 10:09:56 2023 +0000, Alexandre Julliard wrote:
Any reason not to do that? The FVWM race condition is making the tests
fail quite often now, because dinput device acquisition is faster than it used to be. FWIW I opened https://github.com/fvwmorg/fvwm/pull/101 to fix it upstream, but it doesn't look very active. I rather suspect that changing windows managers to work around a bug is simply going to end up trading it for a different set of bugs. In any case please let's only install things we are actually using, the image is already big enough.
Maybe, but other window managers are more actively developed and used, and I think it would make more sense to fix, or workaround, bugs for these rather than for one that only a few people are using.
I'm happy to strip this down and only include a relevant WM, though I don't know which one would be best to target. From a usage perspective, mutter or kwin are the most obvious choices.
This merge request was closed by Rémi Bernon.
Closing for now, I've setup some external jobs and custom image based on Gitlab, with the additional WMs. They are reported on https://test.winehq.org/data/patterns.html.