Состоялся выпуск X11-сервера yserver 1.5.0, написанного с нуля на языке Rust и поддерживающего актуальные расширения протокола X11. Проект не ставит перед собой цель повторить все возможности Xorg Server и ограничивается только функциональностью, необходимой для запуска современных сред рабочего стола, оконных менеджеров, приложений и графических библиотек (GTK, Qt, SDL, GLFW). Из протестированных окружений отмечены MATE, Xfce, Cinnamon, Sonic и Enlightenment, а также оконные менеджеры, такие как icewm, FVWM3, openbox, i3 и wmaker. Код проекта распространяется под лицензией MIT.
Es wurde beschlossen, in yserver keine veralteten und spezifischen Funktionen zu unterstützen, wie z. B. die Verarbeitung mehrerer X11-Bildschirme in einer. Server (Mehrmonitorbetrieb wird unterstützt), andere als TrueColor-Farbanzeigen, indirektes Rendering (indirect GLX), DDX-Treiber-API, alte Schriftverarbeitungsmethoden und die Verbindung von Clients mit anderer Byte-Reihenfolge (Übersetzung zwischen big-endian und little-endian).
Die grafische Ausgabe erfolgt über DRM/KMS und Vulkan-Treiber von Mesa. Zum Management von Sitzungen und zur Bereitstellung von gemeinsam genutztem Eingabe- und Ausgabegerät wird die Bibliothek libseat verwendet. Neben dem eigenständigen X-Server wird ynest angeboten – ein Backend für verschachtelte Ausführung, das das Arbeiten aus Xwayland oder einem anderen X11-Server.
Работа протестирована на системах в 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.
In der neuen Version:
- Добавлена поддержка механизма reverse-PRIME, позволяющего использовать интегрированный GPU для рендеригна, а GPU дискретной видеокарты для вывода на экран в ситуации подключения внешних мониторов к портам дискретной видеокарты.
- Добавлена поддержка передачи в Mesa данных о частоте обновления экрана через расширение GLX_OML_sync_control.
- Реализована оптимизация для снижения задержек у клиентов с отключённой вертикальной синхронизацией (vsync-off).
- Обеспечено извлечение имён производителей GLX из видеодрайвера для выбора соответствующей клиентской библиотеки GLX (например, Mesa или NVIDIA).
- Реализована поддержка объектов синхронизации DRI3 1.4 с задействованием примитивов drm_syncob подсистемы ядра DRM (Direct Rendering Manager).
- Добавлена поддержка алгоритма отслеживания изменений на экране для перерисовки не всего содержимого, а только изменившихся частей, применяемого в композитных Servern Wayland на базе библиотеки wlroots.
- Предоставлена возможность отрисовки рамок окна на стороне X11-сервера.
- Реализована сборка пактов для архитектуры Aarch64, помимо x86_64.
Quelle: opennet.ru
