Na negen maanden ontwikkeling is de stabiele release van de compositorserver Weston 15.0 gepubliceerd, die technologieƫn ontwikkeld die volledige ondersteuning van het Wayland-protocol in Enlightenment, GNOME, KDE en andere desktopomgevingen mogelijk maken. De ontwikkeling van Weston is gericht op het bieden van een hoogwaardige codebasis en werkvoorbeelden voor het gebruik van Wayland in desktopomgevingen en embedded oplossingen, zoals platforms voor automotive infotainmentsystemen, smartphones, televisies en andere consumentenelektronica. De projectcode is beschikbaar onder de MIT-licentie.
Wijzigingen in de nieuwe tak van Weston:
- Er is een nieuwe grafische shell 'lua-shell' toegevoegd (opgeroepen als 'weston --shell=lua'), waarmee de programmeertaal Lua kan worden gebruikt om het vensterbeheer aan te passen en volledig gepersonaliseerde desktopomgevingen te creëren. Als voorbeeld is er een eenvoudig mozaïek vensterbeheersysteem geïmplementeerd op basis van 'lua-shell'.
- Er is een experimentele renderbackend toegevoegd die de grafische API Vulkan gebruikt voor output (geactiveerd als 'weston --renderer=vulkan'). De backend stelt Weston in staat om bovenop andere compositors uit te voeren, servers op basis van Wayland en X11, en direct te werken met de DRM-systeemdrivers van de kernel die Vulkan 1.0 ondersteunen. Naast de backend zijn de Wayland-klanten simple-vulkan en simple-dmabuf-vulkan toegevoegd.
- Ondersteuning voor de Wayland-protocollen commit-timing-v1 en fifo-v1 is toegevoegd. Het commit-timing-protocol maakt het mogelijk om een tijdsbeperking te koppelen aan de inhoud van een oppervlak (de compositorserver moet de inhoudsverandering zo snel mogelijk binnen de opgegeven tijd weergeven, maar niet eerder). Het fifo-protocol implementeert een FIFO-mechanisme voor de verwerking van de wachtrij voor het bijwerken van de weergegeven inhoud. In combinatie stellen deze protocollen gebruikers in staat om een soepele output en frameweergave te bereiken rekening houdend met verticale synchronisatie bij toepassingen zoals gaming en videoweergave. Ondersteuning voor Vulkan-extensie VK_KHR_present_id2 en VK_KHR_present_wait2 is toegevoegd, waardoor verzending van frames in FIFO-modus zonder vertragingen mogelijk is.
- Ondersteuning voor het Wayland-protocol color-representation-v1 is toegevoegd voor het bepalen van de kleurweergave van de Wayland-oppervlakte, wat nodig is voor HDR-ondersteuning en juiste weergave van full-color YUV-buffers. Het protocol stelt Wayland-clients in staat om metadata door te geven die nodig zijn voor het bepalen van transparantie, kleurmodel, subdiscretisering en quantiseringsbereik, en die worden gebruikt bij de conversie van de YUV-kleurmodelbuffer naar de RGB-weergave. Ondersteuning voor pixelformaten met 10 bits per kanaal, zoals NV15, NV20, NV30 en P030, is toegevoegd.
- De mogelijkheid om KMS (Kernel Mode Setting) kernelmodules te gebruiken voor het off-loaden van kleurconversieoperaties naar de displaycontroller is toegevoegd.
- Er is ondersteuning toegevoegd voor de profiler Perfetto om prestatieproblemen tijdens de rendering te identificeren en om de uitvoeringstijd van verschillende operaties te volgen en visualiseren.
- Basissteun voor het VRR (Variable Refresh Rate) mechanisme is toegevoegd aan de DRM-backend, dat de verversingssnelheid van de monitor adaptief aanpast om vloeiendheid en het ontbreken van tearing tijdens het gamen en video-weergave te waarborgen. Voor gebruik is een DRM-driver met VRR-ondersteuning vereist.
Bron: opennet.ru
