LINUX.ORG.RU

Релиз Wayland 1.11

 ,


1

4

После трёх месяцев разработки представлен стабильный релиз протокола, механизма межпроцессного взаимодействия и библиотек Wayland 1.11, а также развиваемый параллельно композитный сервер Weston 1.11. Ветка 1.11 обратно совместима на уровне API и ABI с выпусками 1.x, но дополнительно содержит порцию улучшений, расширяющих возможности композитного сервера Weston. Следующий выпуск 1.12 запланирован на конец сентября.

В композитном сервере Weston развиваются технологии, содействующие появлению полноценной поддержки протокола Wayland в Enlightenment, GNOME, KDE и других пользовательских окружениях. Разработка Weston нацелена на предоставление высококачественной кодовой базы и рабочих примеров для использования Wayland в десктоп-окружениях и встраиваемых решениях, таких как платформы для автомобильных информационно-развлекательных систем, смартфонов, телевизоров и прочих потребительских устройств.

Основные новшества Weston 1.11:

  • В рамках инициативы по выносу функциональности Weston в обособленную библиотеку libweston проведена значительная переработка методов инициализации, загрузки и настройки бэкендов. Разбор файлов конфигурации пока по-прежнему производится в Weston main.c, но данные передаются динамически загружаемым модулям бэкендов в форме унифицированной структуры, состояние которой сохраняется в хранилище внутренних объектов для дальнейшего использования без привязки к main.c. Изменения внесены в бэкенды wayland, drm, x11, headless, fbdev и rdp.
  • В оболочке для информационно-развлекательных систем (IVI Shell) отмечена большая чистка кода, рефакторинг и приведение в порядок документации. Удалена или упрощена большая порция излишних вызовов API, система динамического выделения памяти переведена на использование стека по возможности, приведены в порядок проверки на указатель NULL, добавлена отладочная функция get_label().
  • Переработана система сборки, в которой стандартизировано использование макроса AC_SEARCH_LIBS, решены проблемы со сборкой без включения systemd-login, налажена обработка CFLAGS от systemd, в разряд опциональных зависимостей переведена поддержка JPEG (--with-jpeg/--without-jpeg) и WebP (--with-webp/--without-webp), упрощена логика проверки версии Wayland и Weston.
  • Добавлены новые пиктограммы для поставляемых в комплекте приложений terminal, flower и editor.
  • Реализована возможность настройки панельных часов через файл конфигурации.
  • Улучшена поддержка drag-and-drop.
  • Добавлена поддержка недавно стабилизированного протокола presentation-time.

Улучшения, связанные с протоколом и API Wayland 1.11:

  • Добавлен API Proxy wrapper, позволяющий избежать состояния гонки при работе многопоточных клиентов. API может использоваться для отправки непроксируемых запросов, что даёт возможность избежать ситуации, когда одна нить вызывает события, которые не успевают обработать другие нити.
  • Внесены улучшения в механизм разделяемой памяти (shm): добавлена защита от выполнения операций изменения размера при наличии ссылок на изменяемый блок памяти, обеспечен раздельный подсчёт внешних и внутренних пользователей, расширена информативность текста ошибок распределения памяти.
  • В рамках работы по улучшению поддержки перечисляемых типов в биндингах на различных языках добавлена поддержка межинтерфейсных атрибутов enum.
  • В документацию включены HTML-представления комментариев в коде, оформленных в формате Doxygen, что упрощает ссылки на функциональность клиентского и серверного API.
  • Добавлена сборочная опция --enable-fatal-warnings, приводящая к завершению процесса сборки в случае вывода компилятором предупреждений.
  • Для повышения безопасности в wayland-scanner задействован неисполняемый стек.

Дополнительно можно отметить выход набора расширений wayland-protocols 1.4, в прошлом году выделенный из основной кодовой базы в отдельный пакет. Wayland-protocols включает набор протоколов и расширений, дополняющих возможности базового протокола Wayland и предоставляющих возможности, необходимые для построения композитных серверов и пользовательских окружений. В новой версии представлен стабильный протокол "viewporter" (ранее "wl_scaler"), позволяющий клиенту выполнять действия по масштабированию и обрезанию краёв поверхности на стороне сервера. Статус стабильного протокола подразумевает завершённость разработки и обязательное обеспечение обратной совместимости. Ранее был стабилизован протокол "presentation time", предоставляющий возможности для организации отображения видео. Остальные протоколы имеют статус нестабильных:

  • "fullscreen-shell" - управление работой в полноэкранном режиме;
  • "input-method" - обработка методов ввода;
  • "linux-dmabuf" - совместное использование нескольких видеокарт при помощи технологии DMABuff;
  • "text-input" - организация ввода текста;
  • "pointer-gestures" - управление с сенсорных экранов;
  • "xdg-shell" - XDG-расширения для рабочего стола;
  • "relative pointer events" - относительные события указателей;
  • "pointer constraints" - ограничения указателей (блокировка);
  • "tablet" - поддержка ввода с планшетов.

Статус поддержки Wayland в окружениях рабочего стола и дистрибутивах:

  • В GNOME 3.20 поддержка Wayland приближена к паритету в функциональности с сеансом на базе X.org. Реализована большая порция мелочей и устранены многие недоработки, которые оставались последними звеньями, мешающими созданию готового для ежедневного использования окружения GNOME на базе Wayland. В частности, добавлены полная поддержка механизма drag-and-drop, уведомлений о запуске приложений, первичного основного буфера обмена (заработала вставка средней кнопкой мыши), решены проблемы с позиционированием диалоговых окон, меню и различных всплывающих элементов интерфейса приложений, до должного уровня доведено качество кинетической прокрутки.
  • Репозиторий Fedora Rawhide, на базе которого формируется релиз Fedora 24, изначально был переведён на использование по умолчанию рабочего стола GNOME поверх Wayland, но в итоге решение по использованию Wayland по умолчанию в Fedora 24 было отложено, так как не все проблемы удалось решить. Сеанс GNOME на базе Wayland в Fedora 24 будет доступен в качестве опции.
  • Экспериментальный сеанс рабочего стола GNOME на базе Wayland поставляется в Ubuntu GNOME (следует установить пакет gnome-session-wayland и выбрать на экране входа "GNOME on wayland").
  • Началось формирование ежедневных Live-сборок Neon Plasma Wayland, позволяющих оценить текущее состояние рабочего стола KDE Plasma в окружении на базе Wayland. Wayland задействован по умолчанию в платформе Plasma Mobile. В основной состав KDE Frameworks принята библиотека KWayland, в которую вынесен код Plasma, специфичный для поддержки Wayland. KWayland отнесён к фреймворкам первого уровня, т.е. является функциональным дополнением к Qt и, кроме Qt, не требует дополнительных зависимостей. При этом KWayland позиционируется не как замена QtWayland, а как дополнение к QtWayland, предоставляющее большую гибкость за счёт приближения программного интерфейса к Wayland API.
  • В KDE Plasma 5.6 продолжена адаптация KDE для работы с использованием протокола Wayland, появилась поддержка декорирования окон для Wayland-клиентов, позволяющая унифицировать оформление. Реализованы все доступные в окружениях на базе X11 средства управления вводом, добавлена поддержка различных раскладок клавиатуры и переключения между ними.
  • В пользовательском окружении Enlightenment 0.20 обеспечена полноценная поддержка Wayland. Работа поверх Wayland реализована с применением собственного композитного менеджера wl-desktop-shell. Отмечается, что все необходимые для работы поверх Wayland возможности реализованы, но окружение на базе Wayland пока недостаточно протестировано для ежедневного использования.
  • Для ОС DragonFly BSD подготовлен порт с Wayland и Weston. Обеспечена поддержка XWayland.
  • Wayland задействован по умолчанию в мобильных платформах Sailfish 2 и Tizen 3.
  • В панели Cairo-Dock реализована возможность работы в окружении композитного сервера Weston.
  • Работа по добавлению поддержки Wayland ведётся для рабочих столов LXQt и MATE.
  • Развиваются новые десктоп-окружения, работающие только на базе технологий Wayland: Quantum Shell, Hawaii и Orbital.
  • Для тестирования работы GNOME, KDE и Enlightenment, Hawai и Orbital поверх Wayland выпускается специальный Live-дистрибутив Rebecca Black Linux.
  • Отмечается прогресс в адаптации Firefox, Chrome и LibreOffice для работы поверх Wayland без привлечения прослойки XWayland. В Chrome 50 интегрированы наработки проекта ozone-wayland, в рамках которого развивался вариант веб-браузера Chromium, предназначенный для работы в окружениях на базе Wayland.
  • Firefox 46 перешёл на GTK+ 3 в Linux, что является важным звеном в реализации работы на системах, поддерживающих протокол Wayland.
  • В текстовом выпуске Qt 5.7 появился новый модуль Qt Wayland Compositor TP с реализацией многопоточной системы отрисовки для встраиваемых устройств, использующая протокол Wayland.
  • В проприетарном драйвере NVIDIA 364.x обеспечена официальная поддержка Wayland, включая все необходимые расширения: EGL, библиотеку libnvidia-egl-wayland.so и KMS API.

Напомним, что Wayland представляет собой протокол взаимодействия композитного сервера и работающих с ним приложений. Клиенты самостоятельно выполняют отрисовку своих окон в отдельном буфере, передавая информацию об обновлениях композитному серверу, который комбинирует содержимое буферов отдельных приложений для формирования итогового вывода с учётом возможных нюансов, таких, как перекрытие окон и прозрачность. Иными словами, композитный сервер не предоставляет API для отрисовки отдельных элементов, а оперирует только с уже сформированными окнами, что позволяет избавиться от двойной буферизации при использовании высокоуровневых библиотек, таких как GTK+ и Qt, берущих на себя работу по компоновке содержимого окон. В настоящее время поддержка прямой работы c Wayland уже реализована для библиотек GTK+ 3, Qt 5, SDL (начиная с выпуска 2.0.2), Clutter и EFL (Enlightenment Foundation Library). Начиная с версии 5.4, в состав библиотеки Qt включён модуль QtWayland с реализацией компонентов для работы Qt-приложений в окружении композитного сервера Weston, развиваемого проектом Wayland.

Взаимодействие с аппаратным обеспечением в Wayland/Weston, например, проведение инициализации, переключение видеорежимов и управление памятью (GEM для i915 и TTM для radeon и nouveau) графических карт, может производиться напрямую через модуль, работающий на уровне ядра, что позволяет обойтись без привилегий суперпользователя. Композитный сервер Weston может работать не только с использованием DRM-модуля ядра Linux, но и поверх X11, другого композитного сервера Wayland, фреймбуфера и RDP. Кроме того, развиваются проекты по обеспечению работы поверх графического стека платформы Android.

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

Для обеспечения выполнения обычных X11-приложений в окружении на базе Wayland используется DDX-компонент XWayland (Device-Dependent X), похожий по организации работы на Xwin и Xquartz для платформ Win32 и OS X. Поддержку запуска X11-приложений планируется встроить непосредственно в композитный сервер Weston, который при попытке выполнения X11-приложения будет инициировать запуск X-сервера и связанных с ним компонентов XWayland. При таком подходе процесс запуска X11-приложений будет бесшовным и неотличимым для пользователя от запуска приложений, работающих напрямую с Wayland.

Источник

>>> Подробности

★★★★

Проверено: Falcon-peregrinus ()
Последнее исправление: DeadEye (всего исправлений: 2)

Ответ на: комментарий от Quasar

Оно неспособно заменить иксы by design.

Что, не умеет печатать, пробрасывать десктоп, обрабатывать ввод-вывод? Слишком юниксвейно для тебя, утенок?

anonymous
()

Меня вот интересует, Optimus е....й с ним будет работать как ему полагается или по-прежнему нужно использовать костыли а-ля Prime.

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

Устал читать новость примерно на середине. Вкратце, годно или нет?

Сыро и негодно.

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

Оно неспособно заменить иксы by design.

Согласен. Wayland говно уже потому, что те же декорации окон зависят от тулкита приложения. Я уже представляю визги пользователей дистрибутивов, связанные с этим. Раньше проблемы были из-за того, что виджеты хреново мимикрировали (Qt -> GTK+, к примеру), теперь ещё и заголовки будут хреново мимикрировать.

Может это хорошо бы было для GNOME OS или KDE OS, но в простых дистрибутивах будут ад и страдания.

Но с другой стороны, те же иксы тоже заскорузлое говно не могущее в современный мир.

Где обработка кнопок по отжатию, а не нажатию? Где поддержка адекватных современных HiDPI-устройств? Почему постоянные проблемы с тирингом? Почему шрифты в системе с иксами становятся говном, как их не настраивай? Банальный пример, взгляните на шрифты Chrome OS, в котором нету этих говноиксов: www.linux.org.ru/gallery/12102614.png Вот что животворящий выпил легаси делает.

И иксы, и надвигающийся Wayland — лютая херня. Дектопный линукс никогда не выберется за 0.91%

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

Многие тайловые wm используются в тандеме с наборами всяких мелких утилит. Клавиатурные демоны, утилитки для управления окнами из командной строки и прочее. Все это в вейланде не поддерживается by design, композитор должен реализовывать всё что только можно. Обычные программы не имеют доступа ни к чему, за пределами выданного им буфера для отрисовки изображения.

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

декорации окон зависят от тулкита приложения

Ну и что? Проблемы эпилептоидов никого не волнуют.

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

avesome уже пилят, но пока чтот тихо

Нет не пилят.

А е20 не тайловый, это вещь в себе.

Midael ★★★★★
()
Последнее исправление: Midael (всего исправлений: 1)

Уже версия 1.11, а всё ещё не понятно зачем сабж нужен. К какой версии станет понятно?

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

Дектопный линукс никогда не выберется за 0.91%

Запусти ворд 2007 на десяточке и посмотри, как там заголовки мимикрируют.

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

Может это хорошо бы было для GNOME OS или KDE OS, но в простых дистрибутивах будут ад и страдания.

В простых дистрибутивах и простых DE красивостей не напасешься, то одно не работает, то другое, нечего там и декорировать. Выпилить все нафиг и работать с клавиатуры.

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

Нормольно там все мимикрирует

Особенно в Rebecca Black Linux. У каждого приложения свой заголовок, даже у SDL2-приложения.

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

Wayland говно уже потому, что те же декорации окон зависят от тулкита приложения.

Да ты чё! И что же, по-твоему, мешает композитору самому их отрисовывать?

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

По вашему посту можно подумать, что у всех кто использует линукс на десктопе обязательно должна быть nvidia и проприетарный блоб.

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

Значит авторы композитора в твоей ребекке этим не заморачивались. Вангую какой-нибудь вестон. Он же экспериментальный а не для продакшна. В гноме все норм.

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

В Wayland существует серьёзная проблема с заголовками, ведутся ли работы по улучшению ситуации?

А вот в MS Windows 10...

Поздравляю! Ты занял второе место в моём списке нелепых оправданий и маневрирований. Первое место в нём пока ещё принадлежит упоротому KDE'шнику, который пытался доказать, что падения плазмы — это благо, ибо они спасают от всяких сетевых атак и попыток взлома:

Sailfish OS 2.0.1 «Taalojärvi» (комментарий)
Sailfish OS 2.0.1 «Taalojärvi» (комментарий)

Но ты старайся, у тебя всё получится.

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

Ну и что? Проблемы эпилептоидов никого не волнуют.

Это потому что ты тулкитофоб. Я использую как GTK+-приложения, так и Qt-приложения. И хочу чтобы у меня в системе выглядело всё одинаково, как в OS X.

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

Поздравляю! Ты занял второе место

Ты упоротый? Покажи систему, в которой все тулкиты рисуют идентичные окружения.

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

OS X

Так там культи как говно выглядят. Про гтк молчу. Ты осх видел хоть раз в жизни, или только на картинках, диванный?

В осх более менее выглядит хорошо то, что написано на какаве. В гноме тоже все гтк-шное выглядит отлично. Qt в гноме выглядит на уровне qt в осх, в чем разница?

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

так используй fedora gnome 3.20, проблем нет.

Я не слишком сильно люблю GNOME, хоть он и выглядит красиво. А в KDE 5 полноценный Wayland так и не завезли.

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

Не окружения, а заголовки.

Я говорил про заголовки окон, а не внутренний набор контролов. Но ты кажется думаешь, что заголовок окна везде рисуется тулкитом, раз приплёл сюда и Qt и GTK+

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

Это потому что ты тулкитофоб

Ну и тупость.

Я использую как GTK+-приложения, так и Qt-приложения

Я тоже. И мне всё равно, одинаково выглядят приложения или нет. Главное, чтобы дизайн нормальный был.

хочу чтобы у меня в системе выглядело всё одинаково, как в OS X

Одинаковость окон программ это вообще-то нонсенс. В реальном мире разные объекты выглядят очень по-разному. И их разноликость облегчает работу с ними. По-разному оформленные окна задач визуально и психологически проще отделять друг от друга.

Да и потом, у разных программ разные функции, их наиболее полное и комфортное отображение в gui нуждается в индивидуальном дизайне.

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

Композитор по сути display server + wm в одном флаконе.

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

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

Дело вообще не в памяти, дело в фрагментации. Всем разработчикам придется делать свою реализацию всего, если только внезапно все не договорятся о каком-то общем модульном апи для композиторов.

Но я подозреваю, что тебе это очень сложно понять.

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

Все это в вейланде не поддерживается by design

Поддерживается, через wayland-protocols.

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

Wayland говно уже потому, что те же декорации окон зависят от тулкита приложения.

почитай тут

http://blog.martin-graesslin.com/blog/2013/02/client-side-window-decorations-...

особенно вот это

What is true is that the reference implementation of a Wayland compositor, Weston, requires Client Side Decorations, but it’s just one implementation and doesn’t say anything about other implementations. And here it’s important to remember that Weston is not Wayland.

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

Банальный пример, взгляните на шрифты Chrome OS, в котором нету этих говноиксов: www.linux.org.ru/gallery/12102614.png Вот что животворящий выпил легаси делает.

Красиво. А там что используют вместо иксов? Хочется уж давно красивых шрифтов в линуксах без пердоленья.

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

Всем разработчикам придется делать свою реализацию всего

Слышал о таком понятии, как библиотеки?

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

Вангую какой-нибудь вестон. Он же экспериментальный а не для продакшна.

Да, наверное он. Выглядит вот так вот отвратно всё:

http://i1-linux.softpedia-static.com/screenshots/RebeccaBlackOS_1.jpg

У каждого тулкита свой заголовок. Напрягает жутко.

Нужно потыкать гном, надеюсь там действительно ушли от подобного.

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

Что с тобой стало, erzent? Ты же вроде KDE'шником был.

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

Так он и рисуется тулкитом, ибо виджет gtk-toolbar. Какие у тебя кроме него заголовки не так рисуются?

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

Интересно что будет с тайловыми wm. Переедут ли на вяленого или так и остануться под иксами?

Интересно, что будет с анонимусами? Проклеймят ли их всех или так и оставят в безвестности?

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

E20 уже есть под вяленного, avesome уже пилят, но пока чтот тихо

Хотелось бы увидеть Xmonad и i3.

почти все тайловые вм это задротство

i3 wm я бы особо задротским не назвал. Ничего перекомпиливать не нужно, настройки в виде простого файла-конфига, в отличии от Xmonad(Haskell) или Awesome(Lua). Достаточно один раз настроить и сохрнаить конфигурацию.

да и преимуществ у них всё меньше с годами

Обоснуй. Для меня тайловые вм это kiss, легковесность, скорость и широкие возможности кастомизации.

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

Не путай CSD и заголовки.

Приложения, использующие CSD красиво и опрятно выглядят в GNOME-окружениях, так как там Mutter умеет с ними обращаться.

По сути, приложение, использующее GtkHeaderBar отрисовывается тупо без заголовка. И если его запустить на системе, где CSD плохо поддерживаются, получится это: Шо это?

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

Спасибо за чтиво. Получается, weston вообще не будет использован в KDE и GNOME, и разработчики Wayland должны будут написать свои аналоги?

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

Получается, weston вообще не будет использован в KDE и GNOME, и разработчики Wayland должны будут написать свои аналоги?

вэйланд говно, там заголовки убогие!

не знает про разделение протокола и реализаций

не знает об архитектуре вэйланда

вэйланд говно

Лор - такой лор.

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

Ответь на вопрос, почему для демонстрации возможностей Wayland используется дистрибутив, где у каждого тулкита свой заголовок окна?

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

Почему этот Freon не впиливают в другие дистры, исходники же открыты, не?

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

используется дистрибутив

Кем используется? Это левый проект от каких-то чуваков с сорсфордж. И он не для того сделан, чтоб школьник с лора красивости оценил, а для демонстрации технических аспектов вэйланда: работа через drm и всякое такое.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.