Skip to content

window-actor: Fix screencast with fractionally scaled surfaces

Instead of using clutter_actor_get_resource_scale(), we now deduce the intended buffer scale from the window by dividing the unscaled size by the final actor size.

This fixes screencasting for Chromium 114 and later when using the native Ozone Wayland backend.

Additionally, this MR also changes meta_window_actor_blit_to_framebuffer from using a simple translation to using an inverted matrix transformation of the transformation matrix between the parent of the window actor and the surface actor to ensure maximum sharpness for fractionally scaled windows.

Merge request reports