LINUX.ORG.RU

Mir 2.26.0

 ,


0

2

Компания 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.

>>> Источник

★★★★★

Проверено: hobbit ()
Последнее исправление: hobbit (всего исправлений: 3)

Эх, до чего же опустился mir, от протокола отображения графики до жвачки на подошве вяленда (безопасной! С добавлением раста!) из-за корысти каноникал.

daniyal
()
Ответ на: комментарий от daniyal

Да он не был никогда нормальным протоколом. Мертворождённая реализация сделана студентами на коленке, обмазана STL и бустом, попутно протекая исключениями в вызывающий код - это никуда не годится.

mittorn ★★★★★
()

Ну и что, что мёртвый?
Зато он встал и пошёл.
Мёртвый сервер тоже может сменить протокол!

Smacker ★★★★★
()

Интересно, разрабы вялого когда-нибудь закончат свое детище, и скажут планете «мы наконец готовы, можете переходить»? Или оно всю жизнь будет тестовым полигоном, в случае малейшей критики вопя, что у нас лапки мы всего лишь протокол?

windows10 ★★★★★
()
Ответ на: комментарий от windows10

Смысл вяленого не в том, чтобы работать, а чтобы под лозунгом борьбы лучшего с хорошим отбросить развитие видеоподсистемы линукса лет на 10-15 назад, а заодно заставить всё переписывать чисто ради любви к искусству. Если понять этот простой принцип, то все логические противоречия снимаются.

Smacker ★★★★★
()

Я не разберу никак, Canonical продолжает разрабатывать Mir, но при этом не использует его в своей же Ubuntu? Или я ошибаюсь?

mshewzov ★★★★
()
Ответ на: комментарий от windows10

По ходу нет, оно 18 (!!) лет в разработке, и до сих пор «ой, у нас то несовместимо», «сё несовместимо».

duott ★★★★★
()
Ответ на: комментарий от windows10

Когда вэйланд превратится в ютани Xorg

MEZON ★★★★★
()
Ответ на: комментарий от Smacker

Юнити пилят, просто немного в другом месте

MEZON ★★★★★
()

У меня предложение для подобных «авторов». Если вы сгенерили статью нейронкой, то выкладывайте промпт, а не саму статью. Сгенерить мы и сами сможем.

Lrrr ★★★★★
()
Ответ на: комментарий от Smacker

В этом смысл любой корпоративной разработки.

Если сделать нормально, то за что дальше деньги получать?

Поэтому делается «всё лучше и лучше», и путь этот бесконечен.

wandrien ★★★★
()
Ответ на: комментарий от luke

вот мы и поржЁм все вместе... когда выложим свои «версии» новости :о)

sunjob ★★★★★
()
Ответ на: комментарий от Smacker

Лучше бы unity пилили, чесслово. Там хоть смысл какой-то был в самострое этом.

Да, Unity мне нравилась. На тот момент была очень удобной и какой-то цельной что ли, с единой концепцией дизайна.

mshewzov ★★★★
()

на базе Wayland.

Для X11

Ага, ага.

Вызов strerror() заменён на потокобезопасный strerror_r().

Это сразу показывает, что исходно его писали школьники не читающие ман.

PPP328 ★★★★★
()
Ответ на: комментарий от PPP328
#include <string.h>
char *strerror  (int errnum);
int   strerror_r(int errnum, char *buf, size_t buflen);
char *strerror_r(int errnum, char *buf, size_t buflen);
...
strerror_r() - is similar to strerror(), but is thread safe.
...

а что не так?

sunjob ★★★★★
()

Только недавно вспоминал про гениальные проекты каноникал, а оно ещё живо оказывается

MakeMeSmile
()
Ответ на: комментарий от PPP328

т.е. новость не соответствует действительности? (вы проверили все исходники?)

исходно в сырцах была «она» а ее заменили на «ее», не так?

sunjob ★★★★★
()
Последнее исправление: sunjob (всего исправлений: 1)
Ответ на: комментарий от sunjob

Вы о чём вообще? В новости написано «поменяли strerror на strerror_r». Значит в сорцах была strerror, которую под linux нельзя использовать в многопоточных проектах.

PPP328 ★★★★★
()
Ответ на: комментарий от Lrrr

Вот прямо ради интереса: в текущей (неоднократно исправленной) версии текста какие признаки генерации нейронкой?

Надеюсь не как на Пикабу, где тётеньку обозвали нейросетью за применение длинных тире и кавычек-ёлочек.

hobbit ★★★★★
()
Последнее исправление: hobbit (всего исправлений: 1)
Ответ на: комментарий от hobbit

тётеньку обозвали нейросетью за применение длинных тире и кавычек-ёлочек

Теперь и я буду знать, что я — «нейросеть». ;P ;)))

Somebody ★★★★
()
Ответ на: комментарий от windows10

разрабы вялого когда-нибудь закончат

Нет конечно. Эти ребята живут от одного фатального недостатка до другого. И так пока деньги не закончатся.

devl547 ★★★★★
()
Ответ на: комментарий от PPP328

из «всего этого» я понял что они исправили косяки. это-ли не есть тру?! :о)

sunjob ★★★★★
()
Ответ на: комментарий от hobbit

структурирование текста в виде списков, да еще и с выделением болдом, - это 100% признак нейронки.

Да и в целом, если обратить внимание на то что там написано - ну бессмысленный бред же. Контекста вообще нет. Человек, который писал статью сам и который интересуется темой, такого никогда не допустит. А вот если скормить нейронке релиз ноты и попросить написать об этом саммари, то именно такое и получится.

Добавлена частичная реализация ext_image_copy_capture_v1 для cursor sessions

вот например. В этом вяленд-протоколе предусмотрен специальный режим (предназначенный для всяких RDP и VNC), при котором композитор начинает тебе посылать координаты курсора и его изображение. Изначально эта часть протокола не была реализована.

Нейронка увидела в релиз нотах PR (github.com), в котором этот режим добавили, ну и перевела соответственно.

или вот:

В шаблоны libmiral добавлены requires clauses, что улучшает строгость ограничений на уровне шаблонного кода C++

в либе стали использовать добавленные в современные плюсы концепты, но нейронка естественно перевела буквально.

Исправлена небезопасная реализация fatal signal handling, которую в релизе прямо назвали «wildly unsafe»

корректная обработка сигналов, которые mir считает фатальными, то есть SIGFPE, SIGBUS, SIGSEGV, SIGQUIT и SIGABRT, и которая до этого была сломана в многопоточном контексте.

и т.д. и т.п.

Lrrr ★★★★★
()

Объясните, я теперь с помощью этого могу на любом языке программирования написать wm с нескучными декорациями, танцующими на фоне/на декорациях окон стриптизёршами/котиками и скриншотить/стримать экран? Или хотя бы в перспективе?

Shadow ★★★★★
()
Последнее исправление: Shadow (всего исправлений: 1)
Ответ на: комментарий от Shadow

Доктор, а я смогу играть на пианино?

Наверное, сможешь, я в этот код даже не заглядывал, но что-то там есть. А уж в перспективе там вообще игру с дворцом и охраной, эльфы набигают и корованы грабят написать за джва года можно будет.

Aceler ★★★★★
()
Ответ на: комментарий от Aceler

Да я тебе отвечал в контексте фич графического сервера, которые возможны в готовом графическом сервере.

Shadow ★★★★★
()
Ответ на: комментарий от Shadow

Windows10 говорил про Wayland, а не про Mir. Wayland, на сколько тебе, возможно, известно, не предполагает концепции графического сервера. Не исключает, но и не обязывает. Mir — предполагает. Как именно это реализовано, я не знаю, поэтому ничего тебе сказать тут не могу, надо копать.

Aceler ★★★★★
()
Ответ на: комментарий от Aceler

не предполагает концепции графического сервера

...просто называет его композитором. Но согласен, походка утки, кряканье утки, плаванье утки и полёт утки - это ещё не утка, это протокол.

Shadow ★★★★★
()
Последнее исправление: Shadow (всего исправлений: 1)
Ответ на: комментарий от Shadow

..просто называет его композитором.

Композитор не обязан быть графическим сервером, см. напр. Gnome.

Aceler ★★★★★
()
Ответ на: комментарий от Aceler

Хорошо, уговорил, концепция двойного фреймбуфера.

Но встаёт вопрос: зачем вообще нужен wayland и почему GNOME теперь пишет себе вообще всё, как если бы он писал под direct-x или sdl? Какой ему в этом прок?

Shadow ★★★★★
()
Последнее исправление: Shadow (всего исправлений: 1)
Ответ на: комментарий от Shadow

Давай остановимся на том, что разработчики гнома так захотели/им так надо. В принципе, этого достаточно.

Aceler ★★★★★
()

Годная штука. Особенно после выкидывания NIH и перехода на общепринятый протокол - тут убунта верна себе. Традиции и всё такое :)

zabbal ★★★★☆
()
Ответ на: комментарий от Aceler

А почему тогда то, что ИМ надо, идёт по дефлоту во все дистры? Ну мне тоже много чего надо. Но я же не навязывают это другим.

Wapieth ★☆
()
Последнее исправление: Wapieth (всего исправлений: 1)
Ответ на: комментарий от Wapieth

Ну сделай свой дистр и пихай туда то, что тебе надо. В чём вопрос-то.

Aceler ★★★★★
()
Ответ на: комментарий от Lrrr

А вот не факт! У меня есть новости с болдом (Майский отчёт по разработке микроядерной ОС Redox на Rust , LXLE Focal , KDE Plasma 6.0 RC1 доступна для тестирования , Steam добавляет ускорение видео VA-API DRM для удаленного воспроизведения), но я это делал сознательно. Правда на меня как-то поворчал хоббит, потому что такая текстовка в формате lorcode адова для проверки. А на счёт дефисов - так я сам часто в либре прогонял текст на ошибки, где срабатывала автозамена. Так что не показатель=).

NeTC ★★★★★
()
Последнее исправление: NeTC (всего исправлений: 1)
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.