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)

Что то уже года два назад говорили что вот вот оно по умолчанию будет. Когда его собираются реализовывать в Fedora? И есть ли реальный профит в переходе с X на него?

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

В частности, добавлены полная поддержка механизма Drag-and-Drop, уведомлений о запуске приложений, первичного основного буфера обмена (заработала вставка средней кнопкой мыши)

Wayland готов для десктопа.

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

Когда его собираются реализовывать в Fedora?

А в Fedora оно уже есть (правда, не по умолчанию). Залогинься в сессию “Gnome on Wayland” да проверь.

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

Что то уже года два назад говорили что вот вот оно по умолчанию будет.

По результатам 23-24 подготовили план перехода https://fedoraproject.org/wiki/Wayland_features Формально релиз сдвинут на 25-ю федору, но даже если все фичи из списка доделают - список могут еще дополнить.

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

А в Fedora оно уже есть (правда, не по умолчанию). Залогинься в сессию “Gnome on Wayland” да проверь.

А я то думал его отдельно ставить надо. Сейчас зашел под ним, разницы не замечено. Разве что температура видеокарты (возможно) снизилась. Сейчас посмотрел фильм, погонял PCSXR, температура видеокарты ~40, обычно было около ~50. Хотя возможно больше зависит от температуры в комнате.

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

Отвратительного качества копипаста, кстати.

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

А зачем удалять? Новость есть новость, тем паче мажорная. Просто тебе говорят, не надо копипастить. Да и скопипастил ты отвратительно, явно не читая перед постом.

DeadEye ★★★★★
()

Как дела с vdpau/vaapi?

shahid ★★★★★
()

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

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

А в ламповой Убунточке будет Мир.

Благодаря nvidia кстати говоря у него появились хоть какие-то шансы.

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

Не знаю точно какая версия в Fedora 24, но запустил Steam, Killing Floor. Производительность ниже, «глюки» с мышью, плюс срабатывает «Обзор» при движении мыши в левый верхний угол, видимо «приоритета» не видит.

unixnik ★★★★★
()

Позовите как заработает с проприетарными драйверами от Nvidia.

// реально заработает, а не 'реализованы какие-то расширения'

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

sway интересует. испытывал ли кто?

Испытывал. Малопригодно. Кривое переключение раскладки в XWayland, отсутствие копипаста Wayland <-> XWayland, кривой захват мыши, падает на некоторых конфигурациях от i3. Сидеть на этом можно, только если ты его разрабатываешь или просто арчевод по духу.

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

А в ламповой Убунточке будет Мир

Лучше бы не создавали лишних сущностей в виде своего негомира, а помогли пилить вяленого.

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

На Gnome? «Обзор» не срабатывает при перемещении мыши в левый верхний угол?

unixnik ★★★★★
()

было отложено

Эта песня будет вечной %)

garik_keghen ★★★★★
()

Глядишь к 2020 можно будет пользоваться.

ritsufag ★★★★★
()

УМВР. Уже месяца два сижу на Гноме с Вялендом. Всё красивое, плавное, проблем почти не наблюдается. За всё время 3 или 4 раза упали иксы, в основном из-за VLC. Ещё экранные пипетки вроде встроенной в Пинту или gpick работают только в пределах окна. В общем, ждем, когда в Рач прилетит.

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

то есть за последний год-два ничего не изменилось.
мне главное, что бы выглядело приятно и не падало.
ну и поддержка drag-and-drop.
переключение раскладки не интересует, не меняю.
жаль, будем ждать.

zaban
()

А что с вяленым? Он завял.

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

Ты давно его ставил? Потому что по моему опыту, на данный момент, он самый стабильный из этой троицы «Quantum Shell, Hawaii и Orbital», забавно, что его при этом в списке нет.
Раскладка глючила только с капсом, копипаст работает, мышь тоже, падать не падал, только предупреждеия вываливал о том, что не поддерживает некоторые функции ещё.
Из неприятног: из-за той неполной поддержки всего функционала i3 некоторые элементы гуев, всплывающие окошки могут криво отображаться, так же есть неприятный баг с отображение выпадающих списков. Так же нет трея, настроек электропитания (выключение экрана и прочее). В целом, пользоваться можно, но достаточно сыро, однако, разрабатывается быстро, я бы подождал немного.

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

во времени
на будущее поинтересовался.

просто собрать и попробовать

также в слове «просто»

zaban
()

На данный момент, GNOME 3.20 on Wayland - самое юзабельное с сабжем

Sunderland93 ★★★★★
()

заработала вставка средней кнопкой мыши

Два года ждал! Это во всем вяленде починили, или только в GNOME? С Xwayland будет работать?

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

anonymous> Возможно через пару лет будет достойная замена иксам

Оно неспособно заменить иксы by design. Надо целиком переделывать wayland, чтобы хоть как-то претендовать на замену иксов. С текущей дефективной архитектурой wayland на это не годится.

Quasar ★★★★★
()
Ответ на: комментарий от l-_-l

l-_-l> Не нужно, есть kmscon.

Самое смешное, что kmscon и правда практичнее, чем вяленд.

Quasar ★★★★★
()

Конец всё ближе, лол.

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

Это во всем вяленде починили, или только в GNOME

Только в GTK. Добро пожаловать в дивный новый мир переизобретателей велосипедов.

no-dashi ★★★★★
()
Ответ на: комментарий от Quasar

Оно неспособно заменить иксы by design. Надо целиком переделывать wayland, чтобы хоть как-то претендовать на замену иксов. С текущей дефективной архитектурой wayland на это не годится.

Да, неспособно заменить в своей базовой поставке, как и базовые иксы неспособны обеспечить современный десктоп. Архитектура вейленда лучше продумана для создания расширений, нужно лишь их грамотно стандартизировать. Имеется желание попробовать себя в этом деле?

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

Xfce обещают портировать на Gtk+3, но даже старые баги не могут исправить.

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

Ты давно его ставил?

С месяц назад.

он самый стабильный из этой троицы «Quantum Shell, Hawaii и Orbital»

Вероятно, так и есть. Но я сравниваю со своим текущим окружением, а всякие Hawaii меня не волнуют.

Раскладка глючила только с капсом

У меня на правом флажке и глючила.

копипаст работает

Попробуй спастить из файрфокса в какой-нибудь gedit на gtk3.

мышь тоже

Запусти какую-нибудь first-person игрулю типа OpenMW - после первого движения мышкой персонаж будет бешено вращаться на месте.

падать не падал

Ну то у тебя не падал.

разрабатывается быстро

sway-то разрабатывается быстро, а вот на wlc, из которой растут ноги многих проблем, практически забили.

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