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.
--
https://gitlab.winehq.org/wine/wine/-/merge_requests/2467
This second MR in the Wayland series adds display configuration related enhancements, including providing more display information (like a proper/consistent name and position) to Wine and supporting GetCurrentDisplaySettings.
To get additional information from the Wayland compositor we need to use a protocol from the wayland-protocols collection, so we introduce support in the build system for protocol .xml files. These changes are introduced on their own commit in the series, but we can squash it with the next commit, where the functionality is first used, if preferred.
To be able to provide a consistent view of the display settings across all processes, this MR leverages the win32u CURRENT_SETTINGS storage mechanism (which was previously used only in the null driver).
Thanks!
--
v6: winewayland.drv: Infer and report Windows monitor positions.
winewayland.drv: Use the output name reported by the compositor.
tools: Support building Wayland protocol source files.
winewayland.drv: Handle wl_output objects only in the desktop process.
winewayland.drv: Support GetCurrentDisplaySettings.
win32u: Support setting the registry mode using gdi_device_manager.
https://gitlab.winehq.org/wine/wine/-/merge_requests/2476
Some drivers (AMD Radeon RX 6700 XT, with radeonsi from Mesa 22.2.0-rc3) emit
less than one invocation per pixel, presumably because they detect that the
shader control flow is uniform for all pixels. Having the control flow depend on
SV_Position avoids this test failure.
Cf. 34bd0dd0704c613abef8a9aa3ba2a2507ed02843 in wine.
--
https://gitlab.winehq.org/wine/vkd3d/-/merge_requests/134