После четырёх месяцев разработки представлен стабильный релиз протокола, механизма межпроцессного взаимодействия и библиотек Wayland 1.26. Ветка 1.26 обратно совместима на уровне API и ABI с выпусками 1.x и содержит в основном исправления ошибок и незначительные обновления протокола. Наработки проекта распространяются под лицензией MIT. Эталонный композитный сервер Weston, предоставляющий код и рабочие примеры для использования Wayland в десктоп-окружениях и встраиваемых решениях, развивается в рамках отдельного цикла разработки.
Протоколын үндсэн өөрчлөлтүүд:
- Хэрэглэгчийн үйл ажиллагаанаас үүссэн wl_pointer.motion үйл явдлыг зохицуулахгүйгээр заагчийн шинэ байрлалын талаар мэдэгдэл хүлээн авах боломжийг олгодог wl_pointer.warp үйл явдлыг нэмсэн.
- Глобал үйл явдлуудыг устгах үед уралдааны нөхцөл байдлаас урьдчилан сэргийлэхийн тулд үйлчлүүлэгч үйл явдлыг боловсруулахаа больсон тухай нийлмэл менежерт баталгаажуулалт илгээх зориулалттай wl_fixes.ack_global_remove хүсэлтийг нэмсэн. Бүх үйлчлүүлэгчдээс баталгаажуулалт хүлээн авсны дараа нийлмэл менежер нь өөрийн талд үйл явдалтай холбоотой зохицуулагчийг устгаж болно.
- wl_display_add_socket_fd() дуудлагын тусламжтайгаар өмнө нь нэмэгдсэн сокетуудыг устгах wl_display_remove_socket_fd() функцийг нэмсэн.
- WAYLAND_DEBUG дибаг горимд цагийг "HH:MM:ss.xxxxxx" форматаар бүртгэдэг бөгөөд энэ нь лог задлан шинжлэх болон харьцуулалтыг хялбарчилдаг.
Wayland-ийн өмнөх хувилбараас хойш нэмэгдсэн, үндсэн Wayland протоколыг нөхөж, тусдаа Wayland-Protocols багцад нийлүүлэгдсэн протоколын өргөтгөлүүд:
- xx-бутархай масштаб — байрлалын нарийвчлалыг сайжруулж, логик координатын нягтралыг бие даасан пиксел хүртэл нэмэгдүүлэхийн тулд утгуудыг бүхэл тоогоор тодорхойлсон логик координатын системийг масштаблах зориулалттай. Энэ функц нь логик координатын системийн хязгаарлагдмал нягтралын асуудлыг шийддэг бөгөөд энэ нь бие даасан пикселийн түвшинд байрлал тогтооход хангалтгүй бөгөөд энэ нь бутархай масштабыг бүрэн хэрэгжүүлэхэд шаардлагатай юм.
- xx-cutouts — дэлгэцэн дээрх хайчилбаруудын талаарх мэдээллийг авах (жишээлбэл, ухаалаг гар утасны дэлгэцэн дээрх урд камерын доорх хэсэг).
- xx-zones — өөрийн гэсэн координатын орон зайтай "бүсүүд"-ийн орчинд дээд түвшний цонх үүсгэх, нэмэх зориулалттай. Протокол нь цонх бүрийг бусад бүх цонхтой харьцангуй байрлуулсан цонхнуудын логик зохион байгуулалтыг зөвшөөрдөг.
- xx-keyboard-filter — клиент сонгосон гарын үйл явдлуудыг таслан зогсоох, оролтын үйл явдлуудыг өөрчлөх эсвэл тодорхой үйл явдлуудыг фокуслагдсан Wayland гадаргуу руу дамжуулахаас хаах зориулалттай.
- В категорию «staging» добавлен протокол xdg-session-management, предоставляющий возможности для восстановления состояния и позиции окон прерванного сеанса в окружениях на основе протокола Wayland, например, после аварийного завершения композитного сервер эсвэл програмууд.
- "linux-dmabuf" протоколыг олон график процессортой системийг дэмжихээр шинэчилсэн. Ийм систем дээр үйлчлүүлэгч нийлмэл процессоруудыг тохиролцох боломжтой. сервер аль GPU ашиглах ёстой вэ.
- Нийлмэл зурагт ашиглах BT.2100 зургийн мета өгөгдлийг дэмжих зорилгоор color-management-v1 протоколыг шинэчилсэн. сервер бүтээсэн HDR контентыг зөв харуулах боломжийг олгодог тусгай боловсруулагчид Windows.
Сүүлийн дугаар хэвлэгдсэнээс хойш Вэйландтай холбоотой онцлох үйл явдлууд:
- Cinnamon нь Wayland-ийг бүрэн дэмждэг.
- Chrome болон бусад програмуудад ашиглагддаг ANGLE номын санд Android, Wayland-н дэмжлэг нэмэгдлээ.
- KDE нь Wayland-г ашиглах үед сесс сэргээх дэмжлэг болон бутархай масштабын хувьд xx-fractional-scale-v2 Wayland протоколыг хэрэгжүүлдэг.
- Wayland дээр суурилсан орчинд зориулж Synaptics X.Org драйверын портыг бүтээсэн.
- X11-ийг Wayland-ээр солих VFX болон анимацийн платформуудын бэлэн байдлын шалгалтыг эхлүүлсэн.
- Xfce төслийн Xfwl4 нийлмэл серверийн туршилт эхэллээ.
- Unity-ийн хэрэглэгчийн интерфэйсийг Wayfire болон Libadwaita ашиглан дахин бүтээсэн.
- Шинэчилсэн нийлмэл серверүүд болон ширээний компьютерын орчнууд: COSMIC 1.3.0, Weston 16, Phosh 0.56, Nourish 1.0.0, miracle-wm 0.10, KDE Plasma 6.7, labwc 0.20, Sway 1.2, Wayland Maker 0.8, Hyprland 0.55, Niri 26.04, LXQt 2.4.0, Cage 0.3.
Напомним, что Wayland представляет собой протокол взаимодействия композитного сервера и работающих с ним приложений. Клиенты самостоятельно выполняют отрисовку своих окон в отдельном буфере, передавая информацию об обновлениях композитному сервер, энэ нь цонхны давхцал болон тунгалаг байдал зэрэг боломжит нарийн ширийн зүйлийг харгалзан үзэж эцсийн гаралтыг бий болгохын тулд тус тусын програмын буферуудын агуулгыг нэгтгэдэг. Өөрөөр хэлбэл, нийлмэл сервер нь тусдаа элементүүдийг үзүүлэх API-г хангадаггүй, харин зөвхөн урьдчилан харуулсан цонхнууд дээр ажилладаг бөгөөд цонхны агуулгыг бичих ажлыг хариуцдаг GTK болон Qt зэрэг өндөр түвшний сангуудыг ашиглах үед давхар буферлэлтийг арилгадаг.
Wayland нь X.Org Server дээрх X11 аюулгүй байдлын олон асуудлыг шийддэг, учир нь сүүлийнхээс ялгаатай нь цонх бүрийн оролт болон гаралтыг тусгаарладаг, үйлчлүүлэгч бусад үйлчлүүлэгчдийн цонхны агуулгад хандахыг зөвшөөрдөггүй, бусад цонхтой холбоотой оролтын үйл явдлуудыг таслан зогсоохыг зөвшөөрдөггүй (XLibre XServer нь нэрийн орон зайн түвшинд тусгаарлах замаар үйлчлүүлэгчийг тусгаарлах боломжийг олгодог X11 өргөтгөлийн Xnamespace-ийг хэрэгжүүлдэг). Wayland-тай шууд ажиллах дэмжлэгийг ашигладаг ихэнх платформуудад хэрэгжүүлдэг. Linux GTK, Qt, SDL, FLTK, wxWidgets, Clutter, болон EFL (Гэгээрлийн сангийн номын сан) зэрэг график сангууд.
Wayland/Weston дахь техник хангамжтай харилцан үйлчлэлцэх, тухайлбал график картуудын хувьд эхлүүлэх, видео горимыг солих (DRM горим тохируулах), санах ойн менежмент (i915-д зориулсан GEM болон Radeon болон Nouveau-д зориулсан TTM) зэрэг нь цөмийн түвшний модулиар дамжуулан шууд хийгдэж, супер хэрэглэгчийн эрх шаардлагагүй болно. Wayland дээр суурилсан орчинд стандарт X11 програмуудыг гүйцэтгэхийг баталгаажуулахын тулд XWayland (Төхөөрөмжөөс хамааралтай X) DDX бүрэлдэхүүн хэсгийг ашигладаг бөгөөд энэ нь Win32 болон Xwin болон Xquartz-тай төстэй үйл ажиллагаатай. macOS.
Эх сурвалж: opennet.ru
