Мир 2.26.0

Компания Canonical представи изданието Mir 2.26.0 — нова версия композитора и набор библиотеки за изграждане на обвивки и графични среди на базата на Wayland.

Wayland и новите протоколи

  • Добавена MVP реализация на протокола ext-input-triggers (V1).
  • Реализиран е черновик на протокола ext-input-triggers за обработка на триггерите за вход в Wayland. Тази функционалност се счита за привилегирована и не се включва по подразбиране.
  • Обновен е файлът с спецификация ext-input-trigger-action-v1.xml: добавени са уточнения относно валидността и достъпността на токените.
  • Добавено частична реализация на ext_image_copy_capture_v1 за сесии с курсор.
  • Реализирано передача на изображението на курсора чрез ext_image_copy_capture_v1.

Rust и развитието на архитектурата

  • Започва реализацията на Wayland frontend на Rust.
  • Продължава работата по платформата за въвеждане на базата на Rust. Това все още не е основният метод за обработка на вход, но е практическа стъпка към постепенно интегриране на Rust в проекта.

Подсистема за вход: evdev-rs

  • Реализирана е поддръжка за събития при допир (touch events).
  • Кодът на модула устройство е почистен.
  • Коригирана е обработката на събития от указателни устройства: състоянието на бутоните е пренесено в хранилището на ниво отделни устройства.
  • Логиката за обработка на събития е преработена за повишаване на яснотата и поддръжката на кода.

Курсор, прозорци, API и вътрешна инфраструктура

  • За CursorObservers добавена е възможността за проследяване на промените в изображението на курсора.
  • Компонент CursorObserverMultiplexer сега изпраща началното състояние на новите регистрирани наблюдатели.
  • Проведен е рефакторинг MinimalWindowManager.
  • Добавена е възможност да се задава alpha-канал за прозореца и да го получавате чрез WindowInfo.
  • В шаблоните libmiral са добавени requires clauses, което подобрява строгостта на ограниченията на ниво шаблонен код C++.
  • Извършен е трансфер на logging APIs и стойности по подразбиране в mircore.
  • Извикването на strerror() е заменено с потокобезопасен strerror_r().

Поправки на грешки

  • Поправена е грешката, при която BasicXCBConnection::destroy_window е извиквал xcb_map_window вместо xcb_destroy_window.
  • Отстранена е проблема, при която отговорите на XCB не се освобождаваха винаги.
  • Поправена е грешка: пълноекранното възпроизвеждане на видео в Google Chrome може да не работи, ако прозорецът предварително не е в режим на пълноекран.
  • За X11 е добавена коректна настройка _NET_CLIENT_LIST_STACKING.
  • Поправена е небезопасна реализация на fatal signal handling, която в изданието е наречена "wildly unsafe".
  • Поправена е грешка, при която проверката DRM_CLIENT_CAP_ATOMIC извършваше се чрез невалиден ioctl-вик.
  • Извършено е почистване и подобрение на логиката mgk::find_crtc_with_primary_plane.
  • Коригирано е поведението на затъмняването (occlusion): ако повърхността има непрозрачна област, но нейната alpha не е равна на 1.0, тя вече не трябва да се използва като напълно покриваща.

Други

  • Забелязано е увеличаване на броя на новите участници в проекта: версия Mir 2.26.0 съдържа приноса на няколко начинаещи, което разработчиците тълкуват като признак за растеж на общността около Mir.

Източник: linux.org.ru

Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри 🔥 Купете надежден хостинг за сайтове с защита от DDoS, VPS VDS сървъри | ProHoster