From 6741dafbf7a50e8a3f3b7667b4fecbf7c55f21ff Mon Sep 17 00:00:00 2001 From: Simon Ser Date: Thu, 16 Apr 2020 19:08:53 +0200 Subject: [PATCH] protocol: deprecate non-current wl_output.mode The current wl_output.mode event has several issues when used to advertise modes that aren't current: - It's not possible to remove some modes. This is an issue for virtual outputs and when the kernel prunes some modes because of link limitations. - wl_output.mode fails to carry metadata such as aspect ratio, which results in duplicated or missing modes. - It's not clear, given the current set of protocols, how non-current modes are useful to clients. Xwayland ignores non-current modes. GNOME and wlroots already only advertise the current mode because of these issues. If a protocol needs the clients to know about all available modes, it should advertise these modes itself instead of relying on wl_output.mode. Signed-off-by: Simon Ser Closes: https://gitlab.freedesktop.org/wayland/wayland/-/issues/92 --- protocol/wayland.xml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/protocol/wayland.xml b/protocol/wayland.xml index f896818..dce579d 100644 --- a/protocol/wayland.xml +++ b/protocol/wayland.xml @@ -2547,6 +2547,10 @@ current. In other words, the current mode is always the last mode that was received with the current flag set. + Non-current modes are deprecated. A compositor can decide to only + advertise the current mode and never send other modes. Clients + should not rely on non-current modes. + The size of a mode is given in physical hardware units of the output device. This is not necessarily the same as the output size in the global compositor space. For instance, -- 2.7.4