Релиз Xorg 1.20

good-penguin.png

Спустя более полутора лет с момента прошлого значительного выпуска, состоялся релиз Xorg 1.20 ― реализации протокола X11, являющегося основной для подавляющего большинства графических окружений и оконных менеджеров.

В новом выпуске:

  • Реализована поддержка библиотеки GLVND (GL Vendor Neutral Dispatcher), работающей на стороне сервера (GLXVND), что позволяет осуществить автоматическое переключение видеокарт на системах с гибридной графикой (например Nvidia Optimus) путём использования на одной системе одновременно и свободного драйвера из Mesa, и проприетарного (Nvidia). Ранее GLVND был реализован лишь с клиентской стороны, и позволял держать на одной системе две разные libgl1.so
  • Компанией Nvidia предложен новый алгоритм определения устройств, сильно упрощающий их автонастройку и избавляющий от дублирования одного и того же драйвера при использовании нескольких одинаковых устройств, например GPU, в отличии от прежнего алгоритма, сильно переполняющего список устройств. Патч находился на обсуждении 2 года;
  • Обеспечена поддержка технологии DRM Leases, разработанной Китом Паккардом совместно с компанией Valve, в компоненте RandR 1.6. Данная технология необходима для работы шлемов виртуальной реальности, и решает такие проблемы как определение шлема как обычного монитора, а также убирает компоненты графического окружения на пути вывода графики на шлем (в составе SteamVR уже присутствует специальный композитор, построенный на Vulkan и занимающийся компоновкой изображения на VR-устройстве). Вывод осуществляется с использованием штатных технологий ядра Linux, таких как DRM/KMS. Части DRM Leases уже реализованы для ядра Linux (4.15+) и libdrm, также тестируется набор патчей для Mesa (Intel ANV и Radeon RADV) и на обсуждении находится расширение протокола Wayland;
  • Порция значительных улучшений в драйвере Modesetting: реализована поддержка расширений DRI3 v1.1 и v1.2, обеспечена поддержка атомарного переключения видеорежимов, серьёзно улучшена поддержка 2D ускорения в GLAMOR; обеспечена поддержка DRM модификаторов, позволяющих оптимизировать пропускную способность видеопамяти благодаря сжатию и мозаичному размещению плоскостей. Поддержка обеспечена в том числе в драйверах Intel (i965 и ANV), а также в GNOME Mutter, KDE Plasma 5 (патчи пока не в основной ветке), wlroots и Weston, однако для стандартизации размера буферов в драйверах и их распределения будет использоваться предложенная компанией Nvidia реализация «Unix Device Memory Allocator»; обеспечена поддержка 30-ти битной глубины цвета (DeepColor), делающей возможным использование современных HDR-телевизоров и мониторов;
  • В список extramodes-видеорежимов X-сервера добавлены разрешения до 15360×8640 (16:9) и до 2560×1600 (16:10). Отныне для монитора с любым разрешением экрана будет сразу выставляться наиболее подходящее на уровне Xorg;
  • Порция значительных улучшений в компоненте Xwayland: обеспечена поддержка протоколов xdg-output, xwayland-keyboard-grub, tablet и linux-dmabuf, необходимых для поддержки дробного масштабирования, захвата клавиатурного ввода (необходимо для работы виртуальных машин), поддержки графических планшетов и поддержки DRM модификаторов через DMA-BUF соответственно; обеспечена поддержка нескольких буферов изображений; решены проблемы с тирингом, благодаря использованию метода Page Flipping, реализованного в расширении Present. Данный метод позволяет использовать два видеобуфера по очереди (пока один заполняется, другой выводит изображение на экран) с привязкой к отдельным окнам; добавлена поддержка технологии EGLStreams, на которой построена реализация Wayland в проприетарном драйвере Nvidia, что отныне позволяет запускать GLX-приложения в Xwayland, работающем в Wayland-окружении проприетарного драйвера Nvidia (требуется патченый Weston или GNOME Shell 3.24+ собранный с поддержкой egl-device, а также ручное включение DRM/KMS в драйвере);
  • Обеспечена начальная поддержка сборочной системы Meson

Пользователям видеокарт Nvidia необходимо установить драйвер 396.24, в котором обеспечена поддержка нового Xorg

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

©  Linux.org.ru