Canonical heeft de release van Mir 2.26.0 aangekondigd - een nieuwe versie van de compositie en de bibliotheekset voor het bouwen van shells en grafische omgevingen op basis van Wayland.
Wayland en nieuwe protocollen
- MVP-implementatie van het protocol toegevoegd ext-input-triggers (V1).
- Protocolconcept is gerealiseerd ext-input-triggers voor het verwerken van invoert triggers in Wayland. Deze functionaliteit wordt als privileged beschouwd en is niet standaard ingeschakeld.
- Specificatiebestand geüpdatet ext-input-trigger-action-v1.xml: er zijn verduidelijkingen over de geldigheid en beschikbaarheid van tokens toegevoegd.
- Toegevoegd gedeeltelijke implementatie van ext_image_copy_capture_v1 voor cursor sessies.
- De ondersteuning voor doorsturen van cursorbeeld via ext_image_copy_capture_v1.
Rust en architectuurontwikkeling
- De implementatie van de Wayland frontend in Rust is begonnen.
- Er wordt verder gewerkt aan het invoersysteem gebaseerd op Rust. Dit is nog niet de belangrijkste invoermethode, maar al een praktische stap naar geleidelijke integratie van Rust in het project.
Invoersysteem: evdev-rs
- Ondersteuning voor aanraakgebeurtenissen is geĆÆmplementeerd.
- De code van de module device is schoongemaakt.
- De verwerking van aanwijsapparaatgebeurtenissen is gecorrigeerd: de status van de knoppen is verplaatst naar de opslag op het niveau van individuele apparaten.
- De logica voor het verwerken van gebeurtenissen is herzien voor meer duidelijkheid en onderhoudbaarheid van de code.
Cursor, vensters, API en interne infrastructuur
- Voor CursorObservers de mogelijkheid toegevoegd om wijzigingen in de cursorafbeelding te volgen.
- Component CursorObserverMultiplexer stuurt nu de initiƫle staat naar nieuwe geregistreerde waarnemers.
- Refactor is uitgevoerd MinimalWindowManager.
- De mogelijkheid is toegevoegd om kan het alpha-kanaal van een venster instellen en ophalen via WindowInfo.
- in de sjablonen van libmiral zijn requires clauses, wat de stringentie van de beperkingen op het niveau van generieke C++-code verbetert.
- Overdracht uitgevoerd logging APIs en standaardwaarden naar mircore.
- De aanroep van strerror() is vervangen door thread-safe strerror_r().
Foutoplossingen
- Een fout is gecorrigeerd waarbij BasicXCBConnection::destroy_window xcb_map_window in plaats van xcb_destroy_window aanriep.
- Een probleem is opgelost waardoor XCB-antwoorden niet altijd werden vrijgegeven.
- Een fout is gecorrigeerd: volledig scherm video afspelen in Google Chrome werkte mogelijk niet als het venster vooraf niet in de fullscreen-modus was.
- Voor X11 is de juiste instelling toegevoegd _NET_CLIENT_LIST_STACKING.
- Onveilige implementatie is gecorrigeerd fatal signal handling, die in de release expliciet als āwildly unsafeā werd aangeduid.
- Een fout is gecorrigeerd waarbij de controle DRM_CLIENT_CAP_ATOMIC werd uitgevoerd via een onjuiste ioctl-aanroep.
- Opruiming en verbetering van de logica zijn uitgevoerd mgk::find_crtc_with_primary_plane.
- Het gedrag van occlusie is gecorrigeerd: als het oppervlak een ondoorzichtige regio heeft, maar de alpha is niet gelijk aan 1.0, moet het niet langer worden gebruikt als volledig dekkend.
Overige
- Een stijging van het aantal nieuwe deelnemers aan het project is opgemerkt: de release van Mir 2.26.0 bevat bijdragen van verschillende nieuwkomers, wat door de ontwikkelaars wordt geĆÆnterpreteerd als een teken van groei van de gemeenschap rondom Mir.
Bron: linux.org.ru
