Mir 2.26.0

La société Canonical a présenté la version 2.26.0 de Mir — une nouvelle version du compositeur et de la bibliothèque pour créer des environnements de bureau et des interfaces graphiques basées sur Wayland.

Wayland et nouveaux protocoles

  • Ajout de la mise en œuvre MVP du protocole ext-input-triggers (V1).
  • Ébauche du protocole réalisée ext-input-triggers pour le traitement des déclencheurs d'entrée dans Wayland. Cette fonctionnalité est considérée comme privilégiée et n'est pas activée par défaut.
  • Fichier de spécifications mis à jour ext-input-trigger-action-v1.xml: des précisions sur la validité et l'accessibilité des jetons ont été ajoutées.
  • Ajouté mise en œuvre partielle de ext_image_copy_capture_v1 pour les sessions de curseur.
  • Mise en œuvre de transmission de l'image du curseur via ext_image_copy_capture_v1.

Rust et l'évolution de l'architecture

  • Lancement de la mise en œuvre du frontend Wayland en Rust.
  • Le travail sur la plate-forme d'entrée basée sur Rust a été poursuivi. Ce n'est pas encore le chemin principal du traitement des entrées, mais déjà un pas pratique vers l'intégration progressive de Rust dans le projet.

Sous-système d'entrée : evdev-rs

  • Prise en charge des événements tactiles (touch events) mise en œuvre.
  • Le code du module device a été nettoyé.
  • Traitement des événements des dispositifs de pointage corrigé : l'état des boutons a été transféré dans le stockage au niveau des dispositifs individuels.
  • La logique de traitement des événements a été révisée pour améliorer la clarté et la maintenabilité du code.

Curseur, fenêtres, API et infrastructure interne

  • Pour CursorObservers ajout de la possibilité de suivre les changements de l'image du curseur.
  • Composant CursorObserverMultiplexer envoie maintenant l'état initial aux nouveaux observateurs enregistrés.
  • Refactorisation effectuée MinimalWindowManager.
  • Ajout de la possibilité permet de définir le canal alpha de la fenêtre et de le récupérer via WindowInfo.
  • Ajout des clauses requires, ce qui améliore la rigueur des contraintes au niveau du code C++ template.
  • Migration effectuée des API de journalisation et des valeurs par défaut vers mircore.
  • L'appel à strerror() a été remplacé par strerror_r() thread-safe.

Corrections de bogues

  • Correction d'un bug où BasicXCBConnection::destroy_window appelait xcb_map_window plutôt que xcb_destroy_window.
  • Problème résolu où les réponses XCB n'étaient pas toujours libérées.
  • Correction d'un bug : la lecture vidéo en mode plein écran dans Google Chrome pouvait ne pas fonctionner si la fenêtre n'était pas déjà en mode plein écran.
  • Pour X11, ajout d'une installation correcte de _NET_CLIENT_LIST_STACKING.
  • Correction d'une mise en œuvre non sécurisée de la gestion des signaux fatals, qui a été qualifiée dans la version de « très non sécurisée ».
  • Correction d'un bug où la vérification de DRM_CLIENT_CAP_ATOMIC était réalisée par un appel ioctl incorrect.
  • Nettoyage effectué et amélioration de la logique mgk::find_crtc_with_primary_plane.
  • Comportement d'occlusion corrigé : si une surface a une zone opaque, mais que son alpha n'est pas égal à 1.0, elle ne doit plus être utilisée comme totalement recouvrante.

Autre

  • Une augmentation du nombre de nouveaux participants au projet a été notée : la version Mir 2.26.0 contient des contributions de plusieurs nouveaux venus, ce que les développeurs interprètent comme un signe de croissance de la communauté autour de Mir.

Source : linux.org.ru

Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS 🔥 Acheter un hébergement fiable pour les sites avec protection DDoS, serveurs VPS VDS | ProHoster