Wayland-Protocols 1.38 buraxılışı

Wayland-Protocols 1.38 paketinin buraxılışı dərc edilib. Bu paket, əsas Wayland protokolunu tamamlayan protokollar və genişləndirmələrdən ibarətdir və tərkib serverləri və istifadəçi mühitləri yaratmaq üçün lazım olan imkanları təqdim edir.

Bütün protokollar üç mərhələdən keçirlər — inkişaf, test və stabilizasiya. İnkişaf mərhələsi başa çatdıqdan sonra ("unstable" kateqoriyası) protokol "staging" şaxəsinə köçürülür və rəsmi olaraq wayland-protocols toplusuna daxil edilir. Test mərhələsi başa çatdıqdan sonra isə sabit kateqoriyaya daşınır. "Staging" kateqoriyasındakı protokollar artıq kompozit serverlərdə və əlaqədar funksionallığı tələb edən müştərilərdə tətbiq oluna bilər. "Unstable" kateqoriyasından fərqli olaraq, "staging"də uyğunluğu pozan dəyişikliklərin edilməsi qadağandır, amma test müddətində problem və inkişaflar aşkarlandıqda, protokol və ya başqa bir Wayland genişləndirməsinin əhəmiyyətli yeni versiyasının əvəzlənməsi istisna deyil.

Yeni versiyaya "staging" kateqoriyasına əlavə edilmiş protokollar:

  • xdg-system-bell — sistem siqnalını çıxarmağa imkan tanıyır, bu, məsələn, terminal emülatöründə xəbərdarlıq olaraq istifadə oluna bilər. Siqnalın çıxma forması kompozit idarəçisi tərəfindən müəyyən edilir, bu yalnız səs deyil, vizual cavab da ola bilər.
  • fifo — FIFO mexanizmini (ilk daxil - ilk çıxan) yenilənməsi üçün sıralama mexanizmi tətbiq edir. Praktik baxımdan, protokol yeni çərçivə göstərilməsi zamanı hər dəfə çağırışlardan istifadə yerinə şaquli skan etmənin (vblank) başa çatmasını gözləməyə imkan verir ki, bu da VSync istifadə edilərkən GPU-da yüksək yüklənmə problemini həll edir.
  • commit-timing — səth məzmununa zaman məhdudiyyəti bağlamağa imkan verir (kompozit server mümkün qədər göstərilən vaxtdan sonra məzmun dəyişikliyini görüntüləməlidir, lakin daha əvvəl deyil).

Hazırda wayland-protocols daxil olan aşağıdakı sabit protokollar, geriyə uyğunluq təmin edir:

  • «viewporter» — müştəriyə server tərəfində səthlərin miqyasını artırma və kənarlarını kəsmə imkanı verir.
  • «presentation-time» — videonu göstərməyi təmin edir.
  • «xdg-shell» — səthlərin pəncərə kimi yaradılması və qarşılıqlı əlaqəsi interfeysi, pəncərələri ekran üzərində hərəkət etdirmək, minimallaşdırmaq, bərpa etmək, ölçüsünü dəyişmək və s. imkan verir.
  • "linux-dmabuf" — DMA-BUF texnologiyası vasitəsilə bir neçə qrafik kartın paylaşılmasını təmin edir (DMA-BUF əsasında wl_buffer yaratmağa imkan verir).
  • «tablet» — qrafik tabletlərdən məlumat daxil etmə təşkil edir.

«staging» şaxəsində test edilən protokollar:

  • drm-lease — virtual reallıq şlemində sol və sağ göz üçün fərqli buferlərlə stereoskopik görüntü yaratmaq üçün lazım olan resursları təqdim edir.
  • «ext-session-lock» — ekran qoruyucusu və ya autentifikasiya dialoqu çıxış edərkən seansı bloklama vasitələrini müəyyən edir.
  • «single-pixel-buffer» — dörd 32-bit RGBA dəyəri daxil edən bir piksel buferi yaratmağa imkan verir.
  • "xdg-activation" — müxtəlif birinci səviyyə səthləri arasında fokusun ötürülməsinə imkan verir (məsələn, xdg-activation vasitəsilə bir tətbiq digərinə fokus keçid edə bilər).
  • content-type — müştərilərə kompozitə məlumatlar təqdim etməyə imkan tanıyır. sunucunuz görüntü məzmunu haqqında məlumat verir, bu məlumatların istifadə edilməsi, məsələn, «content type» kimi spesifik DRM xüsusiyyətlərinin tənzimlənməsi üçün optimallaşdırma davranışını artırmaq üçün istifadə edilə bilər. Aşağıdakı məzmuna dəstək verilir: none (data növü haqqında məlumat yoxdur), photo (minimum emal tələb edən rəqəmsal fotoşəkillərin çıxışı), video (video və ya animasiya, lag yaranmaması üçün daha dəqiq sinxronizasiya tələb edir) və game (oyunların işə salınması, minimum gecikmə ilə çıxış tələb edir).
  • ext-idle-notify — kompozit serverlərin istifadəçilərin fəaliyyətsizliyi haqqında müştərilərə bildirişlər keçirməyə imkan tanıyır ki, bu da müəyyən bir fəaliyyətsizlik müddətindən sonra əlavə enerji qənaət rejimlərinin aktivləşdirilməsi üçün istifadə edilə bilər.
  • tearing-control — tam ekran tətbiqlərdə vertikal sinxronizasiyanı (VSync) ləğv etməyə imkan tanıyır, bu, görünüşdəki yarıqların qarşısını almaq üçün istifadə olunur (tearing). Multimedia tətbiqlərində yarıqların yaranması istənməyən bir effekt olsa da, oyun proqramlarında yarıqlarla bağlı artefaktlar, qarşısını almaq üçün çətinliklərin yarandığı zaman qəbul edilə bilər.
  • ext-foreign-toplevel-list — ən üst səviyyədə yerləşən səthlər, digər məzmunların üzərində pəncərələri quraşdırmağa imkan tanıyır, məsələn, öz panel və pəncərə gedişatlarını qoşmaq üçün məlumat almağa imkan yaradır.
  • security-context — müştəriləri sandbox izolyasiyası ilə identifikasiya etməyə imkan tanıdır. Müştəri Wayland bazasında kompozit serverə yeni bir əlaqə qeydiyyatdan keçirə bilər və ona təhlükəsizlik kontekstini əlavə edə bilər, bundan sonra kompozit idarəçisi göstərilən təhlükəsizlik kontekstinə uyğun olaraq qurulan əlaqəyə mövcud olan imkanları məhdudlaşdıracaq.
  • cursor-shape — kursurun görünüşünü dəyişdirmək üçün alternativ bir üsuldur, bu, kursurun bir sıra şəkillərinin ötürülməsi ilə əsaslanır, səthə (wl_surface) qoşulmanı əvəz edir.
  • "ext-transient-seat" — müstəqil müvəqqəti seanslar (seat) yaratmaq üçün nəzərdə tutulmuşdur, virtual giriş cihazları ilə birlikdə istifadə üçün. Məsələn, qoşulma imkanı həyata keçirilərkən. uzaktan masaüstü protokol hər bir istifadəçi üçün virtual klaviatura və siçanla ayrı bir seans yaratmağa imkan verir.
  • «xdg-toplevel-drag» — «drag & drop» mexanizmini özünün hər yerdəki yanaşması ilə genişləndirərək üst səviyyə pəncərələrinin hərəkət əməliyyatına əlavə edilməsini təmin edir, bu, məsələn, alət panellərinin və ya brauzer tablarının siçan vasitəsilə sürüklənməsi üçün istifadə edilə bilər. Yeni protokol, bu pəncərədən sürüklənərkən pəncərəni yeni pəncərələrə çevrilə bilən ayrılan hissələri yaratmağa imkan tanıyır və mövcud pəncərə üzərindəki hərəkət zamanı yenidən qoşula bilər.
  • «xdg-dialog» — üst səviyyə səthlərinə dialoq pəncərələrinə aid xüsusiyyətlər təyin etməyə imkan verir, məsələn, qaydaları bloklayan modal dialoq pəncərələri yarada bilərsiniz ki, bu da istifadəçinin interfeysin qalan hissəsi ilə qarşılıqlı əlaqəsini dayandırır.
  • "linux-drm-syncobj" — DRM (Direct Rendering Manager) sinxronizasiya obyektləri vasitəsilə açıq sinxronizasiya və buferlərin idarə edilməsi üçün alətlər təqdim edir. Bu protokol, buferdə çəkiliş zamanı sinxronizasiya kontekstində təklif edilir ki, Vulkan və OpenGL qrafik API-lərinə əsaslanan sürücülərlə işləməyi yaxşılaşdırmağa imkan verse, yeni protokol görsənmə meneceri həmin buferi göstərməzdən əvvəl görsənmə tələblərinin bitdiyinə əmin olmağa imkan verir.
  • alpha-modifier, müştərilərə səthlərin şəffaflıq səviyyəsini dəyişdirməyə və şəffaflıq əməliyyatlarını kompozit serverinə маневр etməyə imkan tanıyır, bu, öz növbəsində bu əməliyyatları KMS-ə yönləndirə bilər.
  • xdg-toplevel-icon — üst səviyyə pəncərəyə ikonun bağlanması.
  • ext-image-capture-source və ext-image-copy-capture — ekranın çıxarışını təşkil etmək.

«unstable» budağında hazırlanmış protokollar:

  • «fullscreen-shell» — tam ekran rejimində işin idarə edilməsi.
  • «input-method» — giriş metodlarının emalı.
  • «idle-inhibit» — ekran qoruyucusunun işə salınmasının bloklanması.
  • «input-timestamps» — giriş hadisələri üçün zaman möhürləri.
  • «keyboard-shortcuts-inhibit» — klaviş birləşmələri və qısa yolların idarə edilməsi.
  • «linux-explicit-synchronization» — səthə bağlı olaraq, Linux-a spesifik tamponların sinxronizasiyası mexanizmi.
  • «pointer-gestures» — toxunma ekranlarından idarəetmə.
  • «pointer constraints» — göstəricilərin məhdudiyyətləri (bloka alma).
  • «primary-selection» — X11-ə bənzər şəkildə əsas mübadilə buferinin (primary selection) işləməsini təmin edir ki, oradan məlumatın daxil edilməsi adətən orta siçan düyməsi ilə olur.
  • «relative pointer events» — nisbəti göstərən hadisələr.
  • «text-input» — mətnin daxil edilməsinin təşkil edilməsi.
  • «xdg-foreign» — «yaxın» müştəri ilə səthlərin qarşılıqlı fəaliyyəti interfeysi.
  • «xdg-decoration» — pəncərələrin dekorasiyalarının server tərəfində təsviri.
  • «xdg-output» — vid çıxışı ilə bağlı əlavə məlumatlar (şkalada kiçik dəyişikliklər üçün istifadə edilir).
  • «xwayland-keyboard-grab» — XWayland tətbiqlərində girişin ələ keçirilməsi.

Daha əlavə, Valve şirkətinin nümayəndəsi yeni Wayland protokollarının daha bir irəliləyiş mərhələsi olan "experimental" fazasının əlavə edilməsi təklifini irəli sürüb. Bu mərhələ, protokolların Wayland-Protocols toplusuna əlavə olunma səddini azaltmağa və onların tətbiqini sürətləndirməyə imkan verəcək. Hazırda protokolun "staging" mərhələsinə daxil olması üçün dəstək komandası yaradılmalı və iştirakçılardan müəyyən sayda təsdiq (ACK) alınmalıdır. "Experimental" mərhələsində protokollar, təsdiqlərin alınması əvəzinə, iki həftəlik rəyləşmə dövrü ərzində etirazın olmaması (NACK) əsasında qəbul ediləcək. Lazım gələrsə, rəyləşmə iştirakçıları müzakirəni daha iki həftə uzatmaq üçün "WAIT" statusunu göstərə bilərlər.

"Experimental" mərhələsində, eyni zamanda, uyğunsuzluğu pozan dəyişikliklərin edilməsi və "xam" protokolların əlavə edilməsi tövsiyə olunur, bu da onların mərhələli şəkildə müvafiq səviyyəyə çatdırılmasına imkan verəcək. Beləliklə, "experimental" mərhələsi yeni protokol prototiplərini tez bir zamanda inkişafçılara çatdırmağa, onların mövcud layihələrdə tətbiqini stimullaşdırmağa və istifadəçilərdən geribildirim almağa imkan tanıyacaq. Təklif olunan proses, protokolların Wayland-Protocols toplusuna qəbul edilməsindən əvvəl uzun müzakirələrin və prosedurların üstündən atlayacaq. Məsələn, bu günkü sərbəst buraxılışda qəbul edilən xdg-system-bell, fifo və commit-timing protokolları bir ildən çox müzakirə edilmişdi.

Mənbə: opennet.ru

DDoS qoruması olan saytlara etibarlı hosting satın alın, VPS VDS serverlər 🔥 DDoS qoruması olan saytlara etibarlı hosting satın alın, VPS VDS serverlər | ProHoster