wlroots/include
Anatolii Smolianinov 514eeebd3c backend/wayland: Fix HiDPI support for nested compositors
When running a wlroots-based compositor nested under another Wayland
compositor with HiDPI scaling, the nested window appears blurry and
incorrectly sized. This is because the Wayland backend does not:

1. Detect and track the parent compositor's output scale
2. Set wl_surface_set_buffer_scale() to match the parent's scale
3. Multiply output dimensions by the scale factor when handling
   configure events

This patch fixes all three issues by:

- Adding wlr_wl_parent_output structure to track parent outputs
- Listening to wl_output.scale events from the parent compositor
- Setting buffer_scale on all backend surfaces (output and layers)
- Scaling output dimensions to account for buffer scale
- Setting wlr_output.scale so nested clients render at correct DPI

Implements: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/854
Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/merge_requests/5186
Co-Authored-By: Hugo Osvaldo Barrera <hugo@whynothugo.nl>
2026-06-07 21:57:02 +02:00
..
backend backend/wayland: Fix HiDPI support for nested compositors 2026-06-07 21:57:02 +02:00
interfaces types/wlr_input_device: move init and finish function to private API 2022-03-07 16:37:41 +00:00
render render/egl: disable implicit flush on context change 2026-05-21 14:58:02 -04:00
types types/wlr_buffer: add buffer_get_drm_format helper function 2026-02-06 13:53:46 +00:00
util util/rect_union: Limit rect_union_add to 1024 rects 2026-05-01 12:50:04 +00:00
wlr wlr_xdg_decoration_v1: support version 2 2026-05-31 08:03:46 +00:00
xcursor Add some missing includes/declarations 2023-06-05 21:06:19 +00:00
xwayland treewide: make type-check helpers take const pointers 2026-03-06 16:04:21 +08:00
meson.build render/color: add fallback stub when LCMS2 is disabled 2024-06-04 17:45:51 +00:00