Rust тилинде нөлдөн баштап жазылган жана учурдагы X11 протоколунун кеңейтүүлөрүн колдогон X11 сервер yserver 1.5.0 чыгарылды. Долбоор Xorg Serverдин бардык функцияларын кайталоону көздөбөйт жана заманбап жумушчу стол чөйрөлөрүн, терезе менеджерлерин, тиркемелерди жана графикалык китепканаларды (GTK, Qt, SDL, GLFW) иштетүү үчүн зарыл болгон функциялар менен гана чектелет. Сыналган чөйрөлөргө MATE, Xfce, Cinnamon, Sonic жана Enlightenment, ошондой эле icewm, FVWM3, openbox, i3 жана wmaker сыяктуу терезе менеджерлери кирет. Долбоордун коду MIT лицензиясы боюнча таратылат.
yserver бир эле учурда бир нече X11 экрандарын иштетүү сыяктуу эски жана белгилүү бир функцияларды колдобоону чечти. сервер (көп мониторлуу чыгаруу колдоого алынат), TrueColorдон башка түс режимдери, кыйыр рендеринг (кыйыр GLX), DDX драйвер API, эски шрифттерди иштетүү жана ар кандай байт тартиби менен кардарларга туташуу (чоң-эндиандан кичине-эндианга которуу).
Графикалык чыгаруу DRM/KMS жана Mesa Vulkan драйверлери аркылуу камсыз кылынат. libseat китепканасы сессияны башкаруу жана жалпы киргизүү жана чыгаруу түзмөктөрүнө жетүү үчүн колдонулат. Атайын X серверинен тышкары, ynest берилет — бул Xwayland же башка X11 серверлеринен иштетүүнү колдогон ички аткаруу үчүн сервер.сервер.
Бул иш төмөнкү GPU'лары бар системаларда сыналган: AMD Ryzen 9 6900HX (Rembrandt, RDNA2, RADV mesa драйвери), AMD RX580 (Polaris/GCN4, RADV), Intel i5-7200U (Kaby Lake, ANV mesa драйвери), NVIDIA GTX 1050, Snapdragon X1 X1E80100 (Adreno X1, Turnip), Apple M1 MBA, M2 MBP, ошондой эле virtio-gpu жана виртуалдык GPU Venus менен виртуалдаштыруу системаларында. Иш төмөнкү тармактарда колдоого алынат: Linux жана FreeBSD.
Жаңы версияда:
- Тышкы мониторлор дискреттик графикалык карта портторуна туташтырылганда, рендеринг үчүн интеграцияланган GPU жана көрсөтүү үчүн дискреттик графикалык карта GPU колдонууга мүмкүндүк берген reverse-PRIME механизми үчүн колдоо кошулду.
- GLX_OML_sync_control кеңейтүүсү аркылуу экранды жаңыртуу жыштыгынын маалыматтарын Mesaга өткөрүүнү колдоо кошулду.
- Вертикалдык синхрондоштуруу өчүрүлгөн (vsync-off) кардарлар үчүн кечигүүнү азайтуу үчүн оптималдаштыруулар ишке ашырылды.
- Тиешелүү GLX кардар китепканасын (мисалы, Mesa же NVIDIA) тандоо үчүн видео драйверден GLX жеткирүүчүлөрдүн аттарын бөлүп алуу камсыздалган.
- DRI3 1.4 синхрондоштуруу объекттерин колдоо DRM (Direct Rendering Manager) өзөктүк подсистемасынын drm_syncob примитивдерин колдонуу менен ишке ашырылган.
- Композиттерде колдонулган бардык мазмунду эмес, өзгөртүлгөн бөлүктөрүн гана кайра тартуу үчүн экрандын өзгөрүшүн көзөмөлдөө алгоритмин колдоо кошулду. серверлер Уэйленд wlroots китепканасына негизделген.
- X11 сервер тарабында терезе рамкаларын тартуу мүмкүнчүлүгү берилген.
- x86_64төн тышкары, Aarch64 архитектурасы үчүн пакеттерди чогултуу ишке ашырылды.
Source: opennet.ru
