Canonical har præsenteret udgivelsen Mir 2.26.0 — en ny version af komponisten og bibliotekssættet til opbygning af skalafor og grafiske miljøer baseret på Wayland.
Wayland og nye protokoller
- MVP-implementeringen af protokollen er tilføjet ext-input-triggers (V1).
- Udkastet til protokollen er realiseret ext-input-triggers til behandling af indtastningsudløsere i Wayland. Denne funktionalitet betragtes som privilegeret og er ikke aktiveret som standard.
- Specifikationsfilen er opdateret ext-input-trigger-action-v1.xml: der er tilføjet præciseringer om validitet og tilgængelighed af tokens.
- Tilføjet delvis implementering af ext_image_copy_capture_v1 til cursor sessions.
- Implementeret overførsel af cursorbillede via ext_image_copy_capture_v1.
Rust og udviklingen af arkitekturen
- Implementeringen er startet af Wayland frontend på Rust.
- Arbejdet med inputplatformen baseret på Rust er fortsat. Dette er endnu ikke den primære metode til inputbehandling, men er allerede et praktisk skridt mod gradvis integration af Rust i projektet.
Input subsystem: evdev-rs
- Understøttelse af berøringsevents er implementeret.
- Koden i enhedsmodulet er opryddet.
- Behandlingen af peggerenheder er blevet rettet: knapstatustilstanden er blevet flyttet til lageret på niveau med de enkelte enheder.
- Logikken for behandlingen af events er blevet redesignede for at øge klarheden og vedligeholdeligheden af koden.
Cursor, vinduer, API og intern infrastruktur
- For CursorObservers muligheden for at spore ændringer i cursorbilledet er blevet tilføjet.
- Komponent CursorObserverMultiplexer sender nu den indledende tilstand til nye registrerede observatører.
- Refaktorering er blevet gennemført MinimalWindowManager.
- Muligheden for til at angive alpha-kanalen for vinduet og hente den gennem WindowInfo.
- requires klausuler er tilføjet til libmiral skabelonerne , hvilket forbedrer strengheden af begrænsningerne på skabelonkode-niveau i C++.Flytning er udført
- logging APIs og standardværdier til mircore Omgåelsen af strerror() er blevet erstattet med.
- tråd-sikker strerror_r() Fejlen er rettet, hvor.
Fejlrettelser
- BasicXCBConnection::destroy_window kaldte xcb_map_window i stedet for xcb_destroy_window Problemet, som gjorde at.
- XCB-svar ikke altid blev frigivet, er løst Fejl er rettet:.
- fuldskærmsvideoafspilning i Google Chrome kunne muligvis ikke fungere, hvis vinduet ikke var i fuldskærmsindstilling på forhånd. For X11 er korrekt opsætning tilføjet
- _NET_CLIENT_LIST_STACKING Den usikre implementering er blevet rettet.
- fatal signal handling , som i udgivelsen direkte blev kaldt «wildly unsafe».Fejlen, hvor kontrollen af
- DRM_CLIENT_CAP_ATOMIC blev udført gennem et forkert ioctl-opkald, er blevet rettet. Rydning og forbedring af logikken er gennemført.
- Проведена очистка и улучшение логики mgk::find_crtc_with_primary_plane.
- Fixet adfærden ved skygger (occlusion): hvis overfladen har et uigennemsigtigt område, men dens alpha ikke er lig med 1.0, skal den ikke længere bruges som en fuldstændig dækning.
Andet
- Antallet af nye deltagere i projektet er steget: udgivelsen af Mir 2.26.0 indeholder bidrag fra flere nybegyndere, hvilket udviklerne betragter som et tegn på væksten af fællesskabet omkring Mir.
Kilde: linux.org.ru
