Выпуск X-сервера yserver 1.0.0, написанного на Rust и пригодного для запуска MATE, Xfce и Cinnamon

Опубликован первый значительный выпуск X11-сервера yserver, написанного с нуля на языке Rust и поддерживающего актуальные расширения протокола X11. Проект не ставит перед собой цель повторить все возможности Xorg Server и ограничивается только функциональностью, необходимой для запуска современных сред рабочего стола, оконных менеджеров, приложений и графических библиотек (GTK, Qt, SDL, GLFW). Из протестированных окружений отмечены MATE, Xfce и Cinnamon, а также оконные менеджеры FVWM3, e16 и wmaker. Код проекта распространяется под лицензией MIT.

В yserver решено не поддерживать устаревшие и специфичные возможности, такие как обработка нескольких X11-экранов в одном сервере (многомониторный вывод поддерживается), отличные от TrueColor режимы цветности, непрямой рендеринг (indirect GLX), API драйверов DDX, старые методы работы со шрифтами и подключение клиентов с другим порядком следования байтов (трансляция между big-endian и little-endian).

Вывод графики организован через DRM/KMS и Vulkan-драйверы Mesa. Для управления сеансом и организации доступа к совместно используемым устройствам ввода и вывода используется библиотека libseat. Помимо обособленного X-сервера поставляется ynest — бэкенд для вложенного запуска, поддерживающий работу из Xwayland или другого X11-сервера.

Работа протестирована на системах в GPU AMD Ryzen 9 6900HX (Rembrandt, RDNA2, mesa-драйвер RADV), AMD RX580 (Polaris/GCN4, RADV), Intel i5-7200U (Kaby Lake, mesa-драйвер ANV), NVIDIA GTX 1050, Snapdragon X1 X1E80100 (Adreno X1, Turnip), Apple M1 MBA, M2 MBP, а также в системах виртуализации с virtio-gpu и виртуальным GPU Venus. В настоящее время поддерживается только работа в Linux, но в планах отмечено добавление поддержки FreeBSD.

Поддерживаемые расширения X11:

  • BIG-REQUESTS
  • Composite
  • DAMAGE
  • DPMS
  • DRI3
  • GLX
  • Generic Event Extension
  • MIT-SCREEN-SAVER
  • MIT-SHM
  • Present
  • RANDR
  • RENDER
  • SHAPE
  • SYNC
  • X-Resource
  • XFIXES
  • XInputExtension
  • XKEYBOARD
  • XTEST

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