wlroots/include/backend
Anatolii Smolianinov f758cd1115
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

Closes: https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/854
2025-10-30 11:13:32 +01:00
..
drm backend/drm: add support for image description transfer function 2025-06-18 00:11:33 +02:00
session Add some missing includes/declarations 2023-06-05 21:06:19 +00:00
headless.h backend/headless: take wl_event_loop instead of wl_display 2024-01-25 15:05:36 +00:00
libinput.h Fix/cleanup includes a bit 2025-04-15 20:13:29 +03:00
multi.h backend/multi: take wl_event_loop instead of wl_display 2024-01-25 15:05:36 +00:00
wayland.h backend/wayland: Fix HiDPI support for nested compositors 2025-10-30 11:13:32 +01:00
x11.h backend/x11: take wl_event_loop instead of wl_display 2024-01-25 15:05:36 +00:00