From c313851878b1ce3224951257f2dde0236a2b81a0 Mon Sep 17 00:00:00 2001 From: Julio Sanz <59529624+juliosanz@users.noreply.github.com> Date: Sun, 18 Jan 2026 02:32:24 +0100 Subject: [PATCH] fix(linux): added support for logical screen size with zxdg_output_v1 (#4594) --- src/platform/linux/kmsgrab.cpp | 2 ++ src/platform/linux/wayland.cpp | 2 ++ 2 files changed, 4 insertions(+) diff --git a/src/platform/linux/kmsgrab.cpp b/src/platform/linux/kmsgrab.cpp index 3db748999..3861958a9 100644 --- a/src/platform/linux/kmsgrab.cpp +++ b/src/platform/linux/kmsgrab.cpp @@ -1542,6 +1542,8 @@ namespace platf { if (monitor_descriptor.index == index && monitor_descriptor.type == type) { monitor_descriptor.viewport.offset_x = monitor->viewport.offset_x; monitor_descriptor.viewport.offset_y = monitor->viewport.offset_y; + monitor_descriptor.viewport.width = monitor->viewport.width; + monitor_descriptor.viewport.height = monitor->viewport.height; // A sanity check, it's guesswork after all. if ( diff --git a/src/platform/linux/wayland.cpp b/src/platform/linux/wayland.cpp index c0afae1d8..9261d0820 100644 --- a/src/platform/linux/wayland.cpp +++ b/src/platform/linux/wayland.cpp @@ -144,6 +144,8 @@ namespace wl { } void monitor_t::xdg_size(zxdg_output_v1 *, std::int32_t width, std::int32_t height) { + viewport.width = width; + viewport.height = height; BOOST_LOG(info) << "Logical size: "sv << width << 'x' << height; }