Mir 2.26.0

good-penguin.png

Компания 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 для cursor sessions.
  • Реализована передача изображения курсора через ext_image_copy_capture_v1.

Rust и развитие архитектуры

  • Начата реализация Wayland frontend на Rust.
  • Продолжена работа над платформой ввода на основе Rust. Это ещё не основной путь обработки ввода, но уже практический шаг к постепенной интеграции Rust в проект.

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

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

Курсор, окна, 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 могло не работать, если окно заранее не находилось в fullscreen-режиме.
  • Для 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