Das Unternehmen Canonical hat Mir 2.26.0 veröffentlicht – eine neue Version des Kompositors und der Bibliotheken zum Erstellen von Shells und grafischen Umgebungen auf Basis von Wayland.
Wayland und neue Protokolle
- Die MVP-Implementierung des Protokolls wurde hinzugefügt. ext-input-triggers (V1).
- Ein Entwurf des Protokolls wurde implementiert. ext-input-triggers zur Verarbeitung von Eingabetriggern in Wayland. Diese Funktionalität wird als privilegiert angesehen und ist standardmäßig nicht aktiviert.
- Die Spezifikationsdatei wurde aktualisiert ext-input-trigger-action-v1.xml: Sie enthält nun Klarstellungen zur Gültigkeit und Verfügbarkeit von Token.
- Hinzugefügt teilweise Implementierung von ext_image_copy_capture_v1 für Cursor-Sitzungen.
- Unterstützung für das parallele Bauen von Paketen auf Mehrkernsystemen wurde implementiert. Die Anzahl der Threads kann über das Makro „%_smp_build_ncpus“ und die Variable $RPM_BUILD_NCPUS festgelegt werden. Zur Bestimmung der Anzahl der CPUs wurde das Makro „%getncpus“ vorgeschlagen; Übertragung des Cursor-Bildes über ext_image_copy_capture_v1.
Rust und die Entwicklung der Architektur
- Die Implementierung des Wayland-Frontends in Rust wurde gestartet. Die Arbeit an der Eingabeplattform auf Basis von Rust wurde fortgesetzt. Das ist noch nicht der Hauptweg der Eingabeverarbeitung, aber bereits ein praktischer Schritt in Richtung schrittweiser Integration von Rust in das Projekt..
- Die Arbeit an der Eingabeplattform auf Basis von Rust wurde fortgesetzt. Dies ist noch nicht der Hauptweg der Eingabeverarbeitung, sondern bereits ein praktischer Schritt zur schrittweisen Integration von Rust in das Projekt.
Eingabesubsystem: evdev-rs
- Die Unterstützung für Touch-Ereignisse wurde implementiert.
- Der Code des Moduls device wurde bereinigt.
- Die Verarbeitung von Zeigegerät-Ereignissen wurde korrigiert: Der Zustand der Tasten wurde in den Speicher auf der Ebene der einzelnen Geräte verschoben.
- Die Logik der Ereignisverarbeitung wurde überarbeitet, um die Klarheit und Nachvollziehbarkeit des Codes zu verbessern.
Cursor, Fenster, API und interne Infrastruktur
- Für CursorObservers Es wurde eine Möglichkeit hinzugefügt, um Änderungen des Mauszeigers zu verfolgen.
- Komponente CursorObserverMultiplexer sendet nun den ursprünglichen Zustand an neu registrierte Beobachter.
- Das Refactoring wurde durchgeführt MinimalWindowManager.
- Die Möglichkeit wurde hinzugefügt um den Alpha-Kanal des Fensters zu definieren und ihn über WindowInfo zu erhalten..
- In die libmiral-Vorlagen wurden requires-Klauselneingefügt, was die Strenge der Einschränkungen auf der Ebene des C++-Vorlagencodes verbessert.
- Es wurde ein Transfer durchgeführt von Logging-APIs und Standardwerten in mircore..
- Der Aufruf von strerror() wurde ersetzt durch thread-sicheren strerror_r()..
Fehlerbehebungen
- Ein Fehler wurde behoben, bei dem BasicXCBConnection::destroy_window xcb_map_window anstelle von xcb_destroy_window aufrief..
- Ein Problem wurde behoben, bei dem XCB-Antworten nicht immer freigegeben wurden..
- Ein Fehler wurde behoben: Die Vollbildwiedergabe von Videos in Google Chrome funktionierte möglicherweise nicht, wenn das Fenster nicht zuvor im Vollbildmodus war.
- Für X11 wurde die korrekte Einstellung hinzugefügt _NET_CLIENT_LIST_STACKING..
- Eine unsichere Implementierung wurde korrigiert fatal signal handling,die in der Veröffentlichung direkt als „wildly unsafe“ bezeichnet wurde.
- Ein Fehler wurde korrigiert, bei dem die Überprüfung DRM_CLIENT_CAP_ATOMIC wurde durch einen falschen ioctl-Aufruf ausgeführt.
- Die Logik wurde bereinigt und verbessert. mgk::find_crtc_with_primary_plane.
- Das Verhalten der Überdeckung (Occlusion) wurde korrigiert: Wenn die Oberfläche einen undurchsichtigen Bereich hat, aber ihre Alpha nicht gleich 1.0 ist, sollte sie nicht mehr als vollständig überdeckend verwendet werden.
Sonstiges
- Ein Anstieg der Zahl neuer Projektmitglieder wurde vermerkt: Die Veröffentlichung von Mir 2.26.0 enthält Beiträge mehrerer neuer Teilnehmer, was die Entwickler als Zeichen eines wachsenden Gemeinschafts um Mir interpretieren.
Quelle: linux.org.ru
