بعد ثمانية أشهر من التطوير، تم إطلاق الإصدار المستقر من بروتوكول Wayland 1.25، وآلية الاتصال بين العمليات، والمكتبات. يتوافق الإصدار 1.25 مع الإصدارات السابقة 1.x على مستوى واجهة برمجة التطبيقات (API) وواجهة التطبيق الثنائية (ABI)، ويحتوي بشكل أساسي على إصلاحات للأخطاء وتحديثات طفيفة للبروتوكول. يخضع عمل المشروع لترخيص MIT. أما خادم Weston المرجعي المركب، الذي يوفر التعليمات البرمجية وأمثلة عملية لاستخدام Wayland في بيئات سطح المكتب والحلول المدمجة، فيجري تطويره في دورة تطوير منفصلة.
التغييرات الرئيسية في البروتوكول:
- تم تحويل الوثائق من تنسيق DocBook إلى تنسيق mdBook (Markdown).
- تم توثيق لغة Wayland XML، ونموذج تحديث المحتوى، وقدرات إدارة الألوان بشكل كامل.
- تمت إضافة سمة جديدة "مجمدة" للواجهات ذات الواجهات الأصلية المتعددة.
- أُضيف طلب جديد wl_surface.get_release لتلقي إشعار بتحرير المخزن المؤقت المرفق من قِبل العميل عبر wl_surface.attach. على عكس wl_buffer.release، يرتبط إشعار wl_surface.get_release بلحظة عرض محددة.
- تمت إضافة وظيفة wl_display_dispatch_pending_single()، والتي تسمح لك باسترداد ومعالجة حدث واحد فقط من قائمة الأحداث، بدلاً من جميع الأحداث المتراكمة، كما تفعل وظيفة wl_display_dispatch_pending().
- تم توفير تمييز لوني لمخرجات تصحيح الأخطاء WAYLAND_DEBUG.
إضافات البروتوكول التي تمت إضافتها منذ إصدار Wayland 1.25، والتي تُكمل بروتوكول Wayland الأساسي ويتم توفيرها في مجموعة Wayland-Protocols منفصلة:
- xx-input-method — يسمح للتطبيقات بتنفيذ طرق إدخال النصوص للنصوص المركبة الخوادم وتشكيل النص المدخل، والذي يمكن استخدامه، على سبيل المثال، لإنشاء لوحات مفاتيح افتراضية وطبقات IME (محرر طريقة الإدخال) لمعالجة الإدخال.
- يسمح بروتوكول xx-text-input للخوادم المركبة بتنفيذ طرق الإدخال وإرسال النصوص إلى التطبيقات. ويعمل هذا البروتوكول على توحيد التفاعل بين الخوادم المركبة. الخادم والتطبيقات، ويتيح لك إدارة مثل هذه الإمكانيات مثل إرسال نص الإدخال، والتعامل مع أحداث تغيير تركيز الإدخال، ومراعاة خصوصيات حقول الإدخال (اللغة، وتحديد النص، ونوع المحتوى).
- تم تحسين بروتوكولي إدارة الألوان v1 وتمثيل الألوان v1، مما يوفر إمكانيات لإدارة الألوان ودعم HDR وتحديد تمثيل الألوان لسطح Wayland.
الأحداث الأكثر أهمية المتعلقة بوايلاند والتي وقعت منذ نشر العدد الأخير:
- أزالت بيئة جنوم 50 دعم X11. كما ستتخلى بيئة كيدي بلازما 6.8 عن دعم X11 أيضاً.
- تقوم شركة JetBrains بنقل بيئة تطوير IntelliJ IDE لاستخدام Wayland بشكل افتراضي.
- أعلنت Xfce عن خادم التركيب Xfwl4 باستخدام Wayland.
- تم نقل بيئة سطح المكتب Budgie 10.10 إلى Wayland.
- نظام سطح المكتب للمطورين QNX المبني على Wayland.
- نظام التشغيل ماراثون هو نظام تشغيل للهواتف المحمولة يعتمد على وايلاند.
- إصدار Wayback، وهي طبقة لتشغيل أجهزة سطح المكتب X11 باستخدام مكونات Wayland.
- أصبح لدى Cinnamon الآن خيار تثبيت ملفات الجلسة لـ Wayland، كما أنه يوفر إمكانية تبديل تخطيطات لوحة المفاتيح عند استخدام Wayland.
- يدعم برنامج تشغيل Wine الحافظة وطرق الإدخال والنوافذ غير المستطيلة والشفافية عند التشغيل في بيئات تعتمد على Wayland.
- تمت إضافة دعم Wayland إلى Cairo-Dock.
- تم تحديث الخوادم المركبة: Weston 15.0، River 0.4.0، Hyprland 0.54، labwc 0.9.4، Niri 25.11، miracle-wm 0.8، Wayfire 0.10، wlmaker 0.6، labwc 0.9.0.
دعونا نتذكر أن Wayland هو بروتوكول اتصال مركب الخادم والتطبيقات التي تستخدمه. يقوم العملاء بعرض نوافذهم بشكل مستقل في مخزن مؤقت منفصل، مع تمرير معلومات حول التحديثات إلى المكون. الخادمتقوم هذه التقنية بدمج محتويات مخازن التطبيقات الفردية لإنتاج المخرجات النهائية، مع مراعاة الفروقات الدقيقة المحتملة مثل تداخل النوافذ والشفافية. بعبارة أخرى، لا يوفر خادم التجميع واجهة برمجة تطبيقات لعرض العناصر الفردية، بل يعمل فقط على النوافذ المعروضة مسبقًا، مما يلغي الحاجة إلى التخزين المؤقت المزدوج عند استخدام مكتبات عالية المستوى مثل GTK وQt، التي تتولى مهمة تجميع محتويات النوافذ.
يحل Wayland العديد من مشاكل الأمان في X11، فهو، على عكس X11، يعزل المدخلات والمخرجات لكل نافذة، ويمنع العميل من الوصول إلى محتويات نوافذ العملاء الآخرين، ويمنع اعتراض أحداث الإدخال المتعلقة بالنوافذ الأخرى. ويدعم معظم أنظمة التشغيل المستخدمة في Linux مكتبات الرسومات بما في ذلك GTK و Qt و SDL و FLTK و wxWidgets و Clutter و EFL (مكتبة مؤسسة التنوير).
يمكن إجراء التفاعل مع مكونات الأجهزة في Wayland/Weston، مثل التهيئة، وتبديل وضع الفيديو (DRM modesetting)، وإدارة الذاكرة (GEM لبطاقة i915 وTTM لبطاقات Radeon وNouveau) لبطاقات الرسومات، مباشرةً من خلال وحدة نمطية على مستوى النواة، مما يلغي الحاجة إلى صلاحيات المستخدم المتميز. ولضمان تشغيل تطبيقات X11 القياسية في بيئة Wayland، يُستخدم مكون XWayland (Device-Dependent X) DDX، وهو مشابه في طريقة عمله لـ Xwin وXquartz لأنظمة Win32 وWin32. macOS.


المصدر: opennet.ru
