本周合并到 GNOME 的 GNOME 48 版本的 Mutter 合成器中,支持光标表面的 wp_viewport 协议,以便在光标缩放时提供更好的体验。
GNOME Mutter 中对光标表面的这种wp_viewport支持既适用于硬件和软件光标,也可以在窗口/桌面截屏期间工作。
Alexandros Frantzis 去年在对光标表面的 wp_viewport 的 Issue 票证跟踪支持中解释了:
“Wine Wayland 允许应用程序以本机输出分辨率进行渲染,而不管合成器侧面缩放如何。它使用wp_viewport来实现此目标(例如,如果 scale=2 buffer=100×100,则它将视区目标设置为 50×50,以便缓冲区在屏幕上显示为 100×100 物理像素)。使用 wp_viewport(而不是 set_buffer_scale)也是处理分数刻度的唯一方法。
但是,Mutter 似乎不支持wp_viewport光标wl_surfaces。对于整数缩放,set_buffer_scale 可用作解决方法,但对于分数缩放,应用程序需要额外提供不同大小的缓冲区,以便合成器可以将其缩小到适当的大小(例如,要在 scale=1.5 的情况下显示 24 个像素,客户端需要提供 32 个像素和 set_buffer_scale(2))。这对客户端来说更加复杂,因为客户端需要能够根据缩放提供多个游标大小,并且由于额外的缩放,还可能导致视觉降级。
支持对光标表面的 wp_viewport 将允许客户端以更清晰、更一致的方式处理光标缩放(尤其是分数缩放)。
本周 Mutter Git 的这次合并实现了对光标表面的wp_viewport支持。
转自 GNOME 48 Mutter To Enjoy Improved Cursor Scaling For Wine Wayland & More – Phoronix