После восьми месяцев разработки анонсирован релиз X.Org Server 1.18. Новый выпуск примечателен поддержкой расширения RandR 1.5, переработкой архитектуры 2D-ускорения GLAMOR, расширением возможностей драйвера modesetting, средствами для настройки вторичных устройств GPU.
Основные изменения:
- Поддержка расширения RandR 1.5, предоставляющего средства для выполнения таких функций, как динамическое изменение разрешения экрана, вращение, трансформация и зеркалирование корневого окна, управление отображением данных на дополнительных мониторах.
- В новой версии RandR добавлена поддержка нового свойства TILE для устройств вывода, позволяющего организовать мозаичную компоновку целостного изображения на нескольких мониторах.
- Кроме того, реализована концепция «мониторов» (Monitor), определяющих прямоугольные области на экране, содержащие связанные коллекции отображаемых пользователю пикселей. Каждая такая область может быть привязана к отдельным устройствам вывода. Таким образом можно организовать представление какой-то части экрана на отдельном мониторе.
- Обновлён DDX-компонент XWayland, который позволяет обеспечить работу прослойки для выполнения немодифицированых приложений X11 в окружении на базе Wayland и композитного сервера Weston.
- В новой версии добавлен интерфейс для сенсорных экранов, поддержка плавной прокрутки, обеспечено обновление параметров экрана при горячем подключении мониторов, в число обязательных зависимостей включены библиотеки glamor.
- Многочисленные улучшения в драйвере x86-video-modesetting: Добавлено свойство «tile» для мозаичных подключений.
- Реализована поддержка технологии «Reverse PRIME», позволяющей задействовать два GPU в цепочке вывода, в условиях когда второй GPU не может сам выполнять рендеринг и требует готовой копии пиксельного буфера для отрисовки.
- Поддержка многомониторного режима zaphod и опции ZaphodHeads. Возможность определения первичного устройства вывода (output master), через которое могут подключаться вторичные USB-устройства.
- Обновлена реализация архитектуры 2D-ускорения GLAMOR, в которой для ускорения 2D-операций используется OpenGL и шейдеры. В новой версии добавлена возможность распределения линейных буферов, добавлена функция для возвращения pixmap с dma-buf, добавлена функция glamor_gbm_bo_from_pixmap(), адаптирован для ускорения отрисовки glamor_program API, проведена чистка лишних вызовов.
- ABI драйверов обновлён до версии 20, что требует пересборки открытых драйверов и установки новых выпусков проприетарных драйверов. Поддержка нового ABI уже доступна в свежих драйверах NVIDIA, но пока не реализована в AMD Catalyst.
- Спецификации протокола расширены описанием расширений RANDR 1.5, Present 1.0, DRI3 1.0 и MIT-SHM 1.2.
- Удалён код, специфичный для платформы 386BSD;
- Из OpenBSD импортирован код функции распределения памяти reallocarray(), предоставляющей встроенную защиту от некоторых видов атак. На новую функцию переведено большое число различных подсистем X.Org.
- В секции «Screen» файла конфигурации xorg.conf разрешено определять устройства GPU, например «GPUDevice usb0». Реализованы средства для автоматической настройки вторичных устройств GPU.
>>> Подробности