После семи месяцев разработки анонсирован релиз X.Org Server 1.16. Ключевым нововведением является включение в состав DDX-компонента XWayland, который позволяет обеспечить работу прослойки для выполнения немодифицированых приложений X11 в окружении на базе Wayland и композитного сервера Weston.

По организации работы XWayland выполнен в форме отдельного X-сервера (DDX, Device-Dependent X), чем напоминает Xwin и Xquartz для платформ Win32 и OS X. Для ускорения вывода используется основанная на OpenGL архитектура 2D-акселерации Glamor, что позволяет использовать XWayland независимо от установленных видеодрайверов. Для обеспечения прямого доступа к видеоадаптеру в XWayland реализована поддержка интерфейса DRI3.

Изначально, первый вариант XWayland, от которого впоследствии отказались разработчики, основывался на задействовании средств 2D-ускорения из отдельных драйверов для конкретного оборудования, например, развивался специальный драйвер xf86-video-wayland и поддерживалась отдельная ветка драйвера xf86-video-intel с поддержкой Wayland, теперь эти наработки объявлены устаревшими.

Из других новшеств X.Org Server 1.16 можно отметить:

  • Интегрирована поддержка архитектуры 2D-ускорения GLAMOR, которая была предложена компанией Intel. Особенностью GLAMOR является использование OpenGL для ускорения 2D-операций. GLAMOR перекладывает выполнение всех операций рендеринга на плечи внешней библиотеки, которая использует OpenGL и шейдеры для вывода 2D-графики, а также, когда это возможно, пытается задействовать текстуры для представления пиксельных карт и вызывает OpenGL-функции для прямой отрисовки на текстуру. В отличие от SNA и UXA, архитектура GLAMOR может быть адаптирована для работы с любым DDX-драйвером, для которого реализована поддержка OpenGL;
  • Добавлены переданные компанией NVIDIA наработки для обеспечения поддержки GPU на шине, отличной от PCI. В частности, изменения необходимы для работы новых чипов Tegra, доступ к GPU в которых организован через отдельный уровень абстракции, не привязанный к шине PCI. Для определения подобных устройств вывода представлена новая секция в файле конфигурации xorg.conf (xorg.conf.d) - OutputClass, которая позволяет привязать атрибуты к устройству вывода для определения какой DDX-модуль следует использовать для не-PCI устройства. Например, для привязки DDX-модуля "opentegra" к драйверу ядра "tegra" в настройках следует указать:
    
    
    Section "OutputClass"
    
    
    Identifer "NVIDIA Tegra open-source driver"
    
    
    MatchDriver "tegra"
    
    
    Driver "opentegra"
     EndSection
     
  • Обеспечена возможность запуска X-сервера без root-привилегий при наличии DRM/KMS-драйверов, работающих на уровне ядра. Запуск X-сервера без root-привилегий пока поддерживается при использовании DDX-драйверов Intel, Nouveau, Radeon, xf86-video-modesetting и xf86-video-freedreno в сочетании с системой systemd-logind, которая используется для управления файловыми дескрипторами устройств ввода и DRM-узлами. Для обеспечения работы устаревших UMS-драйверов, которым требуются root-полномочия для инициализации и управления видеоподсистемой, реализована специальная suid-прослойка;
  • По умолчанию отключена поддержка режима DMX (Distributed Multihead X), позволяющего при использовании Xinerama объединить несколько X-серверов в один виртуальный экран. Поддержка прекращена в связи с невостребованностью технологии и наличием проблем при использовании OpenGL;
  • Решены проблемы с использованием экранов серхвысокого разрешения (4K) через порт HDMI.
  • Включены наработки по интеграции с системным менеджером systemd, позволяющая увеличить надёжность и производительность запуска сеансов и управления ими при помощи служб systemd;
  • Проведена чистка кода, направленная на устранение причин вывода предупреждений компиляторами, в том числе указывающих на использование небезопасных техник программирования. В итоге удалось избавиться от вывода тысяч предупреждений во время сборки.
  • Реализация поддержки Glamor для X-сервера Xephyr, позволяющего запустить X-сервер в окне уже запущенного X-сервера. Вложенный запуск X-серверов теперь рассматривается как основной инструмент для упрощения разработки и тестирования новых подсистем 2D-ускорения, позволяющий проводить эксперименты поверх текущего рабочего окружения.


Источник: http://www.opennet.ru/opennews/art.shtml?num=40200