Integrated: 8280991: [XWayland] No displayChanged event after setDisplayMode call
Alexander Zvegintsev
azvegint at openjdk.org
Tue Mar 4 20:58:58 UTC 2025
On Tue, 25 Feb 2025 12:07:11 GMT, Alexander Zvegintsev <azvegint at openjdk.org> wrote:
> Wayland clients are by design not allowed to change the resolution in Wayland.
> XRandR in Xwayland is just an emulation, it doesn't actually change the desktop resolution. This emulation is per window/x11 client, so different clients can have different emulated resolutions at the same time.
>
> Any request to get the current display mode from the system will always return the original screen resolution, even if we are in emulated resolution.
> So with this fix, we store the last display mode set so that we can react correctly to the displayChanged event later.
>
> ---
>
> There are two system side fixes related to this issue, which causes missing ConfigureNotify events to be emitted when an emulated resolution change occurs:
>
> 1. https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/731 - emits when the resolution changes to an emulated one
> 2. https://gitlab.freedesktop.org/xorg/xserver/-/merge_requests/890 - emits when the resolution changes to a native one
>
> The second one is only available in GnomeShell 43+ (e.g. Ubuntu 22.10+), so one of the tests is excluded for versions below that.
>
> ---
>
> Testing looks good (manual + automated).
This pull request has now been integrated.
Changeset: 29de20db
Author: Alexander Zvegintsev <azvegint at openjdk.org>
URL: https://git.openjdk.org/jdk/commit/29de20dbc22e0b68698a1b9cb1241ae5861a6b9a
Stats: 88 lines in 4 files changed: 84 ins; 1 del; 3 mod
8280991: [XWayland] No displayChanged event after setDisplayMode call
Reviewed-by: honkar, prr
-------------
PR: https://git.openjdk.org/jdk/pull/23774
More information about the client-libs-dev
mailing list