وايلاند (بروتوكول)
ويستون، التنفيذ المرجعي لخادم Wayland | |
| المؤلف(ون) الأصلي(ون) | كريستيان هوجسبيرج |
|---|---|
| المطور(ون) | freedesktop.org وآخرون. |
| الإصدار الأولي | 30 سبتمبر 2008 [1] |
| إصدار مستقر | Wayland: 1.23، [2] Weston: 14.0.1 [3]
/ 30 مايو 2024 |
| مستودع |
|
| مكتوب في | ج |
| نظام التشغيل | الرسمي: Linux غير الرسمي: NetBSD ، FreeBSD ، OpenBSD ، DragonFly BSD ، [4] Haiku (نظام التشغيل) [5] |
| يكتب | |
| رخصة | رخصة معهد ماساتشوستس للتكنولوجيا [6] [7] [8] |
| موقع إلكتروني | موقع wayland.freedesktop.org |
Wayland هو بروتوكول اتصال يحدد الاتصال بين خادم العرض وعملائه، بالإضافة إلى تنفيذ مكتبة C لهذا البروتوكول. [9] يُطلق على خادم العرض الذي يستخدم بروتوكول Wayland اسم Wayland compositor ، لأنه يؤدي بالإضافة إلى ذلك مهمة مدير نافذة التركيب .
تم تطوير Wayland بواسطة مجموعة من المتطوعين بقيادة كريستيان هوجسبيرج في البداية كمشروع مجاني ومفتوح المصدر مدفوع من المجتمع بهدف استبدال نظام X Window بنظام نوافذ آمن [10] [11] [12] [13] وأبسط لنظام Linux وأنظمة التشغيل الأخرى المشابهة ليونكس . [9] [14] تم نشر الكود المصدر للمشروع بموجب شروط ترخيص MIT ، وهو ترخيص برمجيات حرة متساهل . [14] [6]
وكجزء من جهوده، يطور مشروع Wayland أيضًا تنفيذًا مرجعيًا لبرنامج تركيب Wayland المسمى Weston . [9]
ملخص

- تحصل وحدة evdev الخاصة بنواة Linux على حدث وترسله إلى مؤلف Wayland .
- يبحث مُركِّب Wayland في رسمه البياني للمشهد لتحديد النافذة التي ينبغي أن تتلقى الحدث. يتوافق رسم المشهد مع ما هو موجود على الشاشة ويفهم مُركِّب Wayland التحويلات التي ربما طبقها على العناصر في رسم المشهد البياني. وبالتالي، يمكن لمُركِّب Wayland اختيار النافذة الصحيحة وتحويل إحداثيات الشاشة إلى إحداثيات محلية للنافذة، من خلال تطبيق التحويلات العكسية. تقتصر أنواع التحويلات التي يمكن تطبيقها على النافذة فقط على ما يمكن للمركِّب القيام به، طالما أنه يمكنه حساب التحويل العكسي للأحداث المدخلة.
- كما هو الحال في حالة X، عندما يتلقى العميل الحدث، فإنه يقوم بتحديث واجهة المستخدم استجابةً لذلك. ولكن في حالة Wayland، تتم عملية العرض بواسطة العميل عبر EGL ، ويرسل العميل فقط طلبًا إلى الملحن للإشارة إلى المنطقة التي تم تحديثها.
- يقوم برنامج Wayland compositor بجمع طلبات التلف من عملائه ثم إعادة تركيب الشاشة. يمكن لبرنامج Wayland compositor بعد ذلك إصدار أمر ioctl مباشرةً لجدولة عملية قلب الصفحة باستخدام KMS .
بدأ مشروع Wayland Display Server بواسطة مطور Red Hat Kristian Høgsberg في عام 2008. [15]
بدءًا من عام 2010 تقريبًا، انتقلت رسومات سطح مكتب Linux من وجود "كومة من واجهات العرض ... كلها تتحدث إلى خادم X ، الذي يقع في مركز الكون" نحو وضع نواة Linux ومكوناتها (أي البنية الأساسية للعرض المباشر (DRI)، ومدير العرض المباشر (DRM) "في المنتصف"، مع "أنظمة النوافذ مثل X وWayland... في الزاوية". سيكون هذا "نظام رسومات مبسط للغاية يوفر المزيد من المرونة والأداء الأفضل". [16]
كان بإمكان Høgsberg إضافة ملحق إلى X كما فعلت العديد من المشاريع الأخيرة، لكنه فضل "[دفع] X خارج المسار الساخن بين العملاء والأجهزة" للأسباب الموضحة في الأسئلة الشائعة للمشروع: [14]
ما يختلف الآن هو أن الكثير من البنية الأساسية قد انتقلت من خادم X إلى النواة (إدارة الذاكرة، جدولة الأوامر، ضبط الوضع ) أو المكتبات ( cairo ، pixman، freetype ، fontconfig ، pango ، إلخ)، ولم يتبق سوى القليل جدًا مما يجب أن يحدث في عملية الخادم المركزي. ... [يحتوي خادم X] على قدر هائل من الوظائف التي يجب أن تدعمها لتزعم التحدث ببروتوكول X، ومع ذلك لن يستخدمها أحد على الإطلاق. ... يتضمن ذلك جداول التعليمات البرمجية، وتنقية الحروف الرسومية والتخزين المؤقت، و XLFDs (بجدية، XLFDs!)، وواجهة برمجة تطبيقات العرض الأساسية بالكامل التي تتيح لك رسم خطوط منقطة ومضلعات وأقواس عريضة والعديد من الرسوميات البدائية الأخرى على طراز الثمانينيات. بالنسبة للعديد من الأشياء، تمكنا من الحفاظ على خادم X.org حديثًا عن طريق إضافة امتداد مثل XRandR و XRender و COMPOITE ... باستخدام Wayland، يمكننا نقل خادم X وجميع تقنياته القديمة إلى مسار تعليمات برمجية اختياري. إن الوصول إلى النقطة التي يصبح فيها خادم X خيارًا للتوافق بدلاً من نظام العرض الأساسي سيستغرق بعض الوقت، لكننا لن نصل إلى هناك أبدًا إذا لم نخطط لذلك.
يتكون Wayland من بروتوكول وتنفيذ مرجعي يسمى Weston. كما يعمل المشروع على تطوير إصدارات من GTK و Qt التي يتم عرضها على Wayland بدلاً من X. ومن المتوقع أن تحصل معظم التطبيقات على دعم Wayland من خلال إحدى هذه المكتبات دون إجراء أي تعديلات على التطبيق.
لم توفر الإصدارات الأولية من Wayland شفافية الشبكة ، على الرغم من أن Høgsberg أشار في عام 2010 إلى أن شفافية الشبكة ممكنة. [17] تمت محاولة ذلك كمشروع Google Summer of Code في عام 2011، لكنه لم ينجح. [18] تصور آدم جاكسون توفير الوصول عن بُعد إلى تطبيق Wayland إما عن طريق "استخراج البكسل" (مثل VNC ) أو جعله يرسل "دفق أوامر العرض" عبر الشبكة (كما هو الحال في RDP أو SPICE أو X11 ). [19] اعتبارًا من أوائل عام 2013، كان Høgsberg يجرب شفافية الشبكة باستخدام خادم Wayland الوكيل الذي يرسل صورًا مضغوطة إلى الملحن الحقيقي. [20] [21] في أغسطس 2017، شهد GNOME أول تنفيذ لخادم VNC لاستخراج البكسل تحت Wayland. [22] في ملحني Wayland الحديثين، تتم معالجة شفافية الشبكة في تنفيذ xdg-desktop-portal الذي ينفذ بوابة RemoteDesktop.
تتضمن العديد من برامج تركيب Wayland أيضًا تنفيذًا لـ xdg-desktop-portal للمهام الشائعة مثل أداة اختيار الملفات الأصلية للتطبيقات الأصلية وصناديق الحماية مثل Flatpak (يُستخدم xdg-desktop-portal-gtk عادةً كأداة اختيار ملفات بديلة)، وتسجيل الشاشة، وشفافية الشبكة، ولقطات الشاشة، واختيار الألوان، والمهام الأخرى التي قد يُنظر إليها على أنها تتطلب تدخل المستخدم وتشكل مخاطر أمنية بخلاف ذلك. لاحظ أن xdg-desktop-portal ليس خاصًا بـ Flatpak أو Wayland، ويمكن استخدامه مع أنظمة التغليف البديلة وأنظمة النوافذ.
هندسة البرمجيات
هندسة البروتوكول

يتبع بروتوكول Wayland نموذج العميل والخادم حيث يكون العملاء عبارة عن تطبيقات رسومية تطلب عرض مخازن البكسل على الشاشة، ويكون الخادم (المؤلف) هو مزود الخدمة الذي يتحكم في عرض هذه المخازن.
تم تصميم تنفيذ Wayland المرجعي كبروتوكول من طبقتين: [23]
- طبقة منخفضة المستوى أو بروتوكول سلكي يتعامل مع الاتصالات بين العمليات المتداخلة بين العمليتين المعنيتين ـ العميل والمؤلف ـ وتجميع البيانات المتبادلة بينهما. تعتمد هذه الطبقة على الرسائل ويتم تنفيذها عادةً باستخدام خدمات IPC الخاصة بالنواة، وبشكل خاص مآخذ نطاق يونكس في حالة لينكس وأنظمة التشغيل الأخرى الشبيهة بيونكس . [24]
- طبقة عالية المستوى مبنية عليها، تتولى التعامل مع المعلومات التي يحتاج العميل والمُنسّق إلى تبادلها لتنفيذ الميزات الأساسية لنظام النوافذ . يتم تنفيذ هذه الطبقة باعتبارها "بروتوكولًا غير متزامن موجهًا للكائنات". [25]
في حين تم كتابة الطبقة منخفضة المستوى يدويًا بلغة C ، يتم إنشاء الطبقة عالية المستوى تلقائيًا من وصف عناصر البروتوكول المخزنة بتنسيق XML . [26] في كل مرة يتغير فيها وصف البروتوكول لملف XML هذا، يمكن إعادة إنشاء كود المصدر C الذي ينفذ هذا البروتوكول ليشمل التغييرات الجديدة، مما يسمح ببروتوكول مرن للغاية وقابل للتوسيع ومضاد للأخطاء.
يتم تقسيم التنفيذ المرجعي لبروتوكول Wayland إلى مكتبتين : مكتبة يستخدمها عملاء Wayland تسمى libwayland-clientومكتبة يستخدمها مؤلفو Wayland تسمى libwayland-server. [27]
نظرة عامة على البروتوكول
يُوصف بروتوكول Wayland بأنه "بروتوكول غير متزامن موجه نحو الكائنات ". [25] يعني الموجه نحو الكائنات أن الخدمات التي يقدمها الملحن يتم تقديمها كسلسلة من الكائنات التي تعيش على نفس الملحن. ينفذ كل كائن واجهة لها اسم وعدد من الطرق (تسمى الطلبات ) بالإضافة إلى العديد من الأحداث المرتبطة بها . يحتوي كل طلب وحدث على صفر أو أكثر من الحجج، ولكل منها اسم ونوع بيانات . البروتوكول غير متزامن بمعنى أن الطلبات لا يتعين عليها انتظار الردود المتزامنة أو الإقرارات ، مما يتجنب وقت التأخير ذهابًا وإيابًا ويحقق أداءً محسنًا.
يمكن لعملاء Wayland تقديم طلب (استدعاء طريقة) على بعض الكائنات إذا كانت واجهة الكائن تدعم هذا الطلب. يجب على العميل أيضًا توفير البيانات المطلوبة لحجج هذا الطلب. هذه هي الطريقة التي يطلب بها العملاء الخدمات من الملحن. يرسل الملحن بدوره المعلومات إلى العميل عن طريق التسبب في إصدار الكائن للأحداث (ربما مع الحجج أيضًا). يمكن إصدار هذه الأحداث بواسطة الملحن كاستجابة لطلب معين، أو بشكل غير متزامن، مع مراعاة حدوث أحداث داخلية (مثل حدث من جهاز إدخال) أو تغييرات الحالة. يتم أيضًا الإشارة إلى شروط الخطأ كأحداث بواسطة الملحن. [25]
لكي يتمكن العميل من تقديم طلب إلى كائن، فإنه يحتاج أولاً إلى إخبار الخادم برقم المعرف الذي سيستخدمه لتحديد هذا الكائن. [25] هناك نوعان من الكائنات في الملحن: الكائنات العالمية والكائنات غير العالمية. يتم الإعلان عن الكائنات العالمية بواسطة الملحن للعملاء عند إنشائها (وأيضًا عند تدميرها)، بينما يتم إنشاء الكائنات غير العالمية عادةً بواسطة كائنات أخرى موجودة بالفعل كجزء من وظائفها. [28]
تُعَد الواجهات وطلباتها وأحداثها العناصر الأساسية التي تُعَرِّف بروتوكول Wayland. وتتضمن كل نسخة من البروتوكول مجموعة من الواجهات، جنبًا إلى جنب مع طلباتها وأحداثها، والتي من المتوقع أن تكون موجودة في أي مُركِّب Wayland. وبشكل اختياري، قد يقوم مُركِّب Wayland بتعريف وتنفيذ واجهاته الخاصة التي تدعم الطلبات والأحداث الجديدة، وبالتالي توسيع الوظائف إلى ما هو أبعد من البروتوكول الأساسي. [29] لتسهيل إجراء التغييرات على البروتوكول، تحتوي كل واجهة على سمة "رقم الإصدار" بالإضافة إلى اسمها؛ تسمح هذه السمة بالتمييز بين المتغيرات من نفس الواجهة. لا يعرض كل مُركِّب Wayland الواجهات المتاحة فحسب، بل يعرض أيضًا الإصدارات المدعومة من تلك الواجهات. [30]
واجهات Wayland الأساسية
يتم تعريف واجهات الإصدار الحالي من بروتوكول Wayland في الملف protocol/wayland.xml من كود المصدر Wayland. [26] هذا ملف XML يسرد الواجهات الموجودة في الإصدار الحالي، جنبًا إلى جنب مع طلباتها وأحداثها والسمات الأخرى. هذه المجموعة من الواجهات هي الحد الأدنى المطلوب لتنفيذه بواسطة أي مُركِّب Wayland.
بعض الواجهات الأساسية لبروتوكول Wayland هي: [29]
- wl_display – الكائن العالمي الأساسي، وهو كائن خاص لتغليف بروتوكول Wayland نفسه
- wl_registry – كائن التسجيل العالمي، حيث يقوم الملحن بتسجيل جميع الكائنات العالمية التي يريد أن تكون متاحة لجميع العملاء
- wl_compositor – كائن يمثل المركب، وهو المسؤول عن دمج الأسطح المختلفة في إخراج واحد
- wl_surface – كائن يمثل منطقة مستطيلة على الشاشة، يتم تحديدها من خلال الموقع والحجم ومحتوى البكسل
- wl_buffer – كائن يوفر محتواه القابل للعرض عند إرفاقه بكائن wl_surface
- wl_output – كائن يمثل المساحة القابلة للعرض على الشاشة
- wl_pointer ، wl_keyboard ، wl_touch – كائنات تمثل أجهزة إدخال مختلفة مثل المؤشرات أو لوحات المفاتيح
- wl_seat – كائن يمثل مقعدًا (مجموعة من أجهزة الإدخال/الإخراج) في تكوينات متعددة المقاعد
تبدأ جلسة عميل Wayland النموذجية بفتح اتصال بالملحن باستخدام كائن wl_display . وهو كائن محلي خاص يمثل الاتصال ولا يعيش داخل الخادم. وباستخدام واجهته، يستطيع العميل طلب الكائن العالمي wl_registry من الملحن، حيث توجد جميع أسماء الكائنات العالمية، وربط تلك التي يهتم بها العميل. وعادةً ما يربط العميل كائن wl_compositor على الأقل حيث سيطلب منه كائنًا واحدًا أو أكثر من كائنات wl_surface لعرض مخرجات التطبيق على الشاشة. [28]
واجهات تمديد Wayland
يمكن لمُركب Wayland تعريف وتصدير واجهاته الإضافية الخاصة. [29] تُستخدم هذه الميزة لتوسيع البروتوكول إلى ما هو أبعد من الوظائف الأساسية التي توفرها الواجهات الأساسية، وأصبحت الطريقة القياسية لتنفيذ امتدادات بروتوكول Wayland. يمكن لبعض المُركبين اختيار إضافة واجهات مخصصة لتوفير ميزات متخصصة أو فريدة. استخدم مُركب Wayland المرجعي، Weston، هذه الواجهات لتنفيذ واجهات تجريبية جديدة كمنصة اختبار لمفاهيم وأفكار جديدة، بعضها أصبح فيما بعد جزءًا من البروتوكول الأساسي (مثل واجهة wl_subsurface المضافة في Wayland 1.4 [31] ).
بروتوكولات التمديد للبروتوكول الأساسي
بروتوكول XDG-Shell
بروتوكول XDG-Shell (انظر freedesktop.org لـ XDG) هو طريقة موسعة لإدارة الأسطح تحت مُركِّبات Wayland (ليس فقط Weston). الطريقة التقليدية للتلاعب بالأسطح (تكبيرها، تصغيرها، ملء الشاشة، إلخ) هي استخدام وظائف wl_shell_*()، والتي تعد جزءًا من بروتوكول Wayland الأساسي وتعيش في libwayland-client . من ناحية أخرى، يُفترض أن يوفر مُركِّب Wayland تنفيذًا لبروتوكول xdg-shell. لذا ستجد رأس xdg-shell-client-protocol.h في شجرة مصدر Weston.
xdg_shell هو بروتوكول يهدف إلى استبدال wl_shell على المدى الطويل، لكنه لن يكون جزءًا من بروتوكول Wayland الأساسي. يبدأ كواجهة برمجة تطبيقات غير مستقرة، ويهدف إلى استخدامه كمكان للتطوير في البداية، وبمجرد تحديد الميزات على أنها مطلوبة من قبل العديد من أغلفة سطح المكتب، يمكن جعله مستقرًا أخيرًا. يوفر بشكل أساسي واجهتين جديدتين: xdg_surface وxdg_popup. تنفذ واجهة xdg_surface نافذة على غرار سطح المكتب يمكن تحريكها وتغيير حجمها وتكبيرها وما إلى ذلك؛ كما توفر طلبًا لإنشاء علاقة فرعية/أصلية. تنفذ واجهة xdg_popup نافذة منبثقة/قائمة على غرار سطح المكتب؛ تكون xdg_popup مؤقتة دائمًا لسطح آخر، ولديها أيضًا انتزاع ضمني. [32]
بروتوكول IVI-Shell
IVI-Shell هو امتداد لبروتوكول Wayland الأساسي، يستهدف أجهزة المعلومات والترفيه داخل السيارة (IVI). [33]
نموذج العرض

لا يتضمن بروتوكول Wayland واجهة برمجة تطبيقات للرسم. [34] [14] [35] [36] : 2 بدلاً من ذلك، يتبع Wayland نموذج رسم مباشر ، حيث يجب على العميل رسم محتويات النافذة إلى مخزن مؤقت يمكن مشاركته مع الملحن. [37] لهذا الغرض، يمكن للعميل اختيار القيام بكل الرسم بنفسه، أو استخدام مكتبة رسم مثل Cairo أو OpenGL ، أو الاعتماد على محرك الرسم لمكتبات الأدوات عالية المستوى مع دعم Wayland، مثل Qt أو GTK . يمكن للعميل أيضًا استخدام مكتبات متخصصة أخرى بشكل اختياري لأداء مهام محددة، مثل Freetype لرسم الخطوط .
يتم تخزين المخزن المؤقت الناتج مع محتويات النافذة المُقدمة في كائن wl_buffer . يعتمد النوع الداخلي لهذا الكائن على التنفيذ. المتطلب الوحيد هو أن تكون بيانات المحتوى قابلة للمشاركة بين العميل والملحن. إذا استخدم العميل مُقدمًا برمجيًا (وحدة المعالجة المركزية) وتم تخزين النتيجة في ذاكرة النظام ، فيمكن للعميل والملحن استخدام الذاكرة المشتركة لتنفيذ اتصال المخزن المؤقت دون نسخ إضافية. يوفر بروتوكول Wayland بالفعل هذا النوع من مخزن الذاكرة المشتركة بشكل أصلي من خلال واجهات wl_shm [38] و wl_shm_pool [39] . العيب في هذه الطريقة هو أن الملحن قد يحتاج إلى القيام بعمل إضافي (عادةً لنسخ البيانات المشتركة إلى وحدة معالجة الرسومات) لعرضها، مما يؤدي إلى أداء رسومي أبطأ.
الحالة الأكثر شيوعًا هي أن يقوم العميل بالعرض مباشرة في مخزن ذاكرة الفيديو باستخدام واجهة برمجة تطبيقات مُسرَّعة بالأجهزة (وحدة معالجة الرسومات) مثل OpenGL أو OpenGL ES أو Vulkan . يمكن للعميل والمُنسِّق مشاركة مخزن مساحة وحدة معالجة الرسومات هذا باستخدام مُعالِج خاص للإشارة إليه. [40] تسمح هذه الطريقة للمُنسِّق بتجنب نسخ البيانات الإضافية من خلاله من طريقة العميل إلى المُنسِّق إلى وحدة معالجة الرسومات في مخزن الذاكرة الرئيسي، مما يؤدي إلى أداء رسومي أسرع، وبالتالي فهي الطريقة المفضلة. يمكن للمُنسِّق تحسين تكوين المشهد النهائي الذي سيتم عرضه على الشاشة باستخدام نفس واجهة برمجة تطبيقات تسريع الأجهزة كعميل واجهة برمجة التطبيقات.
عند اكتمال عملية العرض في مخزن مؤقت مشترك، يجب على عميل Wayland أن يأمر الملحن بتقديم المحتويات المعروضة للمخزن المؤقت على الشاشة. لهذا الغرض، يربط العميل كائن المخزن المؤقت الذي يخزن المحتويات المعروضة بكائن السطح، ويرسل طلب "تأكيد" إلى السطح، مما ينقل التحكم الفعال في المخزن المؤقت إلى الملحن. [23] ثم ينتظر العميل الملحن لتحرير المخزن المؤقت (بإشارة من حدث) إذا كان يريد إعادة استخدام المخزن المؤقت لعرض إطار آخر، أو يمكنه استخدام مخزن مؤقت آخر لعرض الإطار الجديد، وعند الانتهاء من العرض، قم بربط هذا المخزن المؤقت الجديد بالسطح وتأكيد محتوياته. [41] : 7 الإجراء المستخدم للعرض، بما في ذلك عدد المخازن المؤقتة المعنية وإدارتها، يكون تحت سيطرة العميل بالكامل. [41] : 7
مقارنة مع أنظمة النوافذ الأخرى
الفرق بين Wayland و X
هناك العديد من الاختلافات بين Wayland وX فيما يتعلق بالأداء وإمكانية صيانة الكود والأمان: [42]
- بنيان
- مدير التكوين هو ميزة منفصلة إضافية في X، بينما يدمج Wayland خادم العرض والملحن كوظيفة واحدة. [43] [35] كما أنه يدمج بعض مهام مدير النوافذ ، والذي في X عبارة عن عملية منفصلة على جانب العميل. [44]
- التأليف
- إن التركيب اختياري في X، ولكنه إلزامي في Wayland. التركيب في X "نشط"؛ أي أن المركب يجب أن يقوم بجلب جميع بيانات البكسل، مما يؤدي إلى حدوث تأخير. في Wayland، التركيب "سلبي"، مما يعني أن المركب يتلقى بيانات البكسل مباشرة من العملاء. [45] : 8–11
- تقديم
- يستطيع خادم X نفسه تنفيذ عملية العرض، على الرغم من أنه يمكن أيضًا توجيهه لعرض نافذة مُقدمة بواسطة عميل. وعلى النقيض من ذلك، لا يعرض Wayland أي واجهة برمجة تطبيقات للعرض، ولكنه يفوض العملاء بمثل هذه المهام (بما في ذلك عرض الخطوط والأدوات وما إلى ذلك). [43] [35] يجب عرض زخارف النوافذ على جانب العميل (على سبيل المثال، بواسطة مجموعة أدوات رسومية)، أو على جانب الخادم (بواسطة الملحن) باستخدام بروتوكول xdg-decoration الاختياري، إذا اختار الملحن تنفيذ مثل هذه الوظيفة. [46]
- حماية
- يعزل Wayland مدخلات ومخرجات كل نافذة، مما يحقق السرية والنزاهة والتوافر لكليهما. كان تصميم X الأصلي يفتقر إلى ميزات الأمان المهمة هذه، [11] [12] [13] على الرغم من تطوير بعض الامتدادات في محاولة للتخفيف من ذلك. [47] [48] [49] أيضًا، مع تشغيل الغالبية العظمى من التعليمات البرمجية في العميل، يلزم تشغيل تعليمات برمجية أقل بامتيازات الجذر ، مما يحسن الأمان، [11] على الرغم من أن العديد من توزيعات Linux الشائعة تسمح الآن بتشغيل خادم X بدون امتيازات الجذر. [50] [51] [52] [53]
- التواصل بين العمليات
- يوفر خادم X طريقة اتصال أساسية بين عملاء X، والتي تم توسيعها لاحقًا من خلال اتفاقيات ICCCM . يستخدم مديرو النوافذ هذا الاتصال بين عميل X وعميل X أيضًا لتنفيذ جلسات X والاختيارات والسحب والإفلات وميزات أخرى. لا يدعم بروتوكول Wayland الأساسي الاتصال بين عملاء Wayland على الإطلاق حيث تعتبر الوظيفة المقابلة (إذا لزم الأمر) من قبل مجتمع Wayland شيئًا يجب تنفيذه بواسطة بيئات سطح المكتب (مثل KDE أو GNOME)، أو بواسطة جهة خارجية (على سبيل المثال، باستخدام IPC الأصلي لنظام التشغيل الأساسي).
- الشبكات
- نظام X Window هو بنية تم تصميمها في الأساس للعمل عبر شبكة. لا تقدم Wayland شفافية الشبكة بمفردها؛ [14] ومع ذلك، يمكن للملحن تنفيذ أي بروتوكول سطح مكتب بعيد لتحقيق العرض عن بعد. بالإضافة إلى ذلك، هناك بحث في تدفق الصور وضغط Wayland من شأنه أن يوفر وصولاً عن بُعد إلى مخزن الإطارات على غرار VNC . [21]
التوافق مع X
XWayland هو خادم X يعمل كعميل Wayland، وبالتالي فهو قادر على عرض تطبيقات عميل X11 الأصلية في بيئة Wayland compositor. [54] وهذا مشابه للطريقة التي يقوم بها XQuartz بتشغيل تطبيقات X في نظام النوافذ الأصلي لنظام التشغيل macOS . الهدف من XWayland هو تسهيل الانتقال من نظام X Window إلى بيئات Wayland، وتوفير طريقة لتشغيل التطبيقات غير المنقولة في غضون ذلك. تم تضمين XWayland في إصدار X.Org Server 1.16. [55]
يمكن لمجموعات الأدوات المصغرة مثل Qt 5 و GTK 3 تبديل الواجهة الخلفية الرسومية الخاصة بها في وقت التشغيل، [56] مما يسمح للمستخدمين باختيار وقت التحميل ما إذا كانوا يريدون تشغيل التطبيق عبر X أو عبر Wayland. يوفر Qt 5 -platformخيار سطر الأوامر [57] لهذا الغرض، بينما يتيح GTK 3 للمستخدمين تحديد الواجهة الخلفية GDK المطلوبة من خلال تعيين GDK_BACKEND متغير بيئة Unix . [56] [58]
مؤلفو الموسيقى في وايلاند
.svg/440px-Window_(windowing_system).svg.png)

kwin_waylandcompositor) تحت Arch Linuxتُسمى خوادم العرض التي تنفذ بروتوكول خادم عرض Wayland أيضًا بـ Wayland compositors لأنها تؤدي بالإضافة إلى ذلك مهمة مدير نافذة التركيب .
المكتبة المسماة wlroots هي عبارة عن تنفيذ Wayland معياري يعمل كأساس للعديد من الملحنين [59]
بعض الملحنين البارزين في Wayland هم:
- ويستون – التنفيذ المرجعي لملحن وايلاند؛ ويستون ينفذ زخارف جانب العميل
- ادعت Enlightenment دعم Wayland الكامل منذ الإصدار 0.20 [60] ولكن العمل جارٍ حاليًا للحصول على مؤلف Wayland كامل [61]
- أصبح لدى KWin دعم Wayland كاملًا تقريبًا اعتبارًا من عام 2021 [62]
- احتفظت Mutter بفرع منفصل لدمج Wayland لـ GNOME 3.9 (في سبتمبر 2013)؛ [63] في إصدار 3.13.1 في عام 2014، تم دمج فرع Wayland في المستودع الرئيسي. [64]
- Clayland – مثال بسيط لبرنامج Wayland compositor باستخدام Clutter
- Sway – برنامج تركيب Wayland، يعتمد على WLroots؛ وهو بديل سهل الاستخدام لمدير النوافذ i3 X11. [65] [66] [67]
- Hyprland – برنامج تركيب بلاط Wayland مستقل مكتوب بلغة C++. تتضمن الميزات الجديرة بالملاحظة في Hyprland البلاط الديناميكي، والنوافذ المبوبة، وقاعدة التعليمات البرمجية C++ النظيفة والقابلة للقراءة، وعارض مخصص يوفر رسوم متحركة للنوافذ، وزوايا مدورة، وDual-Kawase Blur على النوافذ الشفافة. [68] [69]
- Woodland – برنامج تركيب Wayland قائم على Wlroots ومكتوب بلغة C، مستوحى من TinyWL ويركز على البساطة والاستقرار.
ويستون
يعد Weston هو التنفيذ المرجعي لمركب Wayland [70] الذي طوره أيضًا مشروع Wayland. وهو مكتوب بلغة C ونُشر بموجب ترخيص MIT . يتمتع Weston بدعم رسمي لنظام التشغيل Linux فقط بسبب اعتماد Weston على ميزات معينة من نواة Linux ، مثل إعداد وضع النواة ، ومدير تنفيذ الرسومات (GEM)، و udev ، والتي لم يتم تنفيذها في أنظمة تشغيل أخرى شبيهة بنظام Unix. [71] عند التشغيل على Linux، تعتمد معالجة أجهزة الإدخال على evdev ، بينما تعتمد معالجة المخازن المؤقتة على إدارة المخازن المؤقتة العامة (GBM). ومع ذلك، في عام 2013 تم الإعلان عن منفذ نموذجي أولي لـ Weston إلى FreeBSD . [72]
يدعم ويستون حماية المحتوى الرقمي عالي النطاق الترددي (HDCP). [73]
يعتمد ويستون على GEM لمشاركة مخازن التطبيقات بين الملحن والتطبيقات. ويحتوي على نظام إضافي من "الأصداف" لميزات سطح المكتب الشائعة مثل الأرصفة والألواح. [21] العملاء مسؤولون عن رسم حدود نوافذهم وزخارفها. للرسم، يمكن لويستون استخدام OpenGL ES [74] أو مكتبة pixman للقيام بالرسم البرمجي . [75] لا يتم استخدام تنفيذ OpenGL الكامل، لأنه في معظم الأنظمة الحالية، سيؤدي تثبيت مكتبات OpenGL الكاملة أيضًا إلى تثبيت GLX ومكتبات دعم نظام X Window الأخرى كاعتمادات. [76]
تم اقتراح واجهة الوصول عن بعد لـ Weston في أكتوبر 2013 بواسطة موظف RealVNC . [77]
ماينارد

Maynard عبارة عن غلاف رسومي وقد تم كتابته كمكون إضافي لبرنامج Weston، تمامًا كما تم كتابة غلاف GNOME كمكون إضافي لبرنامج Mutter . [78]
قامت مؤسسة Raspberry Pi بالتعاون مع Collabora بإصدار Maynard والعمل على تحسين الأداء واستهلاك الذاكرة. [79] [80]
ليبينبوت

تم تقسيم كود ويستون للتعامل مع أجهزة الإدخال (لوحات المفاتيح، المؤشرات، شاشات اللمس، إلخ) إلى مكتبة منفصلة خاصة به، تسمى libinput ، والتي تم دمج الدعم لها لأول مرة في ويستون 1.5. [81] [82]
يتعامل Libinput مع أجهزة الإدخال الخاصة بمركبات Wayland المتعددة ويوفر أيضًا برنامج تشغيل إدخال عام لخادم X.Org . ويهدف إلى توفير تنفيذ واحد لمركبات Wayland المتعددة بطريقة مشتركة للتعامل مع أحداث الإدخال مع تقليل كمية أكواد الإدخال المخصصة التي يتعين على مركبات الإدخال تضمينها. يوفر libinput اكتشاف الجهاز [ يُطلب التوضيح ] (عبر udev )، ومعالجة الجهاز، ومعالجة أحداث جهاز الإدخال والتجريد. [83] [84]
جاءت النسخة 1.0 من libinput بعد النسخة 0.21، وتضمن دعمًا للأجهزة اللوحية ومجموعات الأزرار وإيماءات لوحة اللمس. ستحافظ هذه النسخة على استقرار واجهة برمجة التطبيقات/واجهة برمجة التطبيقات الثنائية. [85]
نظرًا لأن GNOME/GTK و KDE Frameworks 5 [86] قد ركزوا بشكل أساسي على التغييرات المطلوبة، فإن Fedora 22 سوف يستبدل برامج تشغيل evdev وSynaptics الخاصة بـ X.Org بـ libinput. [87]
مع الإصدار 1.16، حصل خادم X.Org على دعم لمكتبة libinput في شكل غلاف يسمى xf86-input-libinput . [88] [89]
وحدة الأمن وايلاند
وحدة أمان Wayland عبارة عن اقتراح يشبه واجهة وحدة أمان Linux الموجودة في نواة Linux . [90]
تتطلب بعض التطبيقات (خاصة تلك المتعلقة بإمكانية الوصول ) قدرات مميزة يجب أن تعمل عبر مختلف برامج تركيب Wayland. حاليًا، [ متى؟ ] التطبيقات الموجودة تحت Wayland غير قادرة بشكل عام على تنفيذ أي مهام حساسة مثل التقاط لقطات شاشة أو حقن أحداث الإدخال دون المرور عبر xdg-desktop-portal أو الحصول على وصول مميز إلى النظام.
وحدة أمان Wayland هي طريقة لتفويض قرارات الأمان داخل الملحن إلى محرك قرارات أمان مركزي. [90]
التبني
تم تصميم بروتوكول Wayland ليكون بسيطًا بحيث يلزم تحديد وتنفيذ بروتوكولات وواجهات إضافية لتحقيق نظام نوافذ شامل. اعتبارًا من يوليو 2014، [تحديث]كان العمل جاريًا على هذه الواجهات الإضافية. لذا، بينما تدعم مجموعات الأدوات بالفعل Wayland بالكامل، يتعاون مطورو الأصداف الرسومية مع مطوري Wayland لإنشاء الواجهات الإضافية اللازمة.
توزيعات لينكس المكتبية
اعتبارًا من عام 2020، [تحديث]تدعم معظم توزيعات Linux برنامج Wayland بشكل كامل. ومن الأمثلة البارزة على ذلك:
- تستخدم فيدورا بدءًا من الإصدار 25 (تم إصداره في 22 نوفمبر 2016) Wayland لجلسة سطح المكتب الافتراضية GNOME 3.22، مع X.Org كبديل إذا لم يتمكن برنامج تشغيل الرسومات من دعم Wayland. [91] تستخدم فيدورا Wayland كإعداد افتراضي لجلسة سطح مكتب KDE بدءًا من الإصدار 34 (تم إصداره في 27 أبريل 2021)
- تم تزويد Ubuntu بـ Wayland افتراضيًا في Ubuntu 17.10 (Artful Aardvark). [92] ومع ذلك، عاد Ubuntu 18.04 LTS إلى X.Org افتراضيًا بسبب العديد من المشكلات. [93] [94] منذ Ubuntu 21.04، أصبح Wayland هو الافتراضي مرة أخرى. [95]
- قامت شركة Red Hat Enterprise Linux بتوزيع Wayland كجلسة افتراضية في الإصدار 8، الذي تم إصداره في 7 مايو 2019. [96]
- قامت Debian بتوزيع Wayland كجلسة افتراضية لـ GNOME منذ الإصدار 10، الذي تم إصداره في 6 يوليو 2019. [97]
- أدرج Slackware Linux Wayland في 20 فبراير 2020 [98] لإصدار التطوير، -current، والذي أصبح الإصدار 15.0.
- يشحن Manjaro Wayland كإعداد افتراضي في إصدار Gnome من Manjaro 20.2 (Nibia) (تم إصداره في 22 نوفمبر 2020). [99]
من أوائل المتبنين البارزين:
- RebeccaBlackOS هو توزيع Linux مباشر يعتمد على Debian [100] يتيح طريقة ملائمة لتجربة سطح مكتب Wayland الحقيقي دون الحاجة إلى إجراء أي تعديلات على نظام التشغيل الرئيسي للكمبيوتر. [101] تم استخدامه منذ عام 2012 لعرض Wayland. [102] [103]
دعم مجموعة الأدوات
تتضمن مجموعات الأدوات التي تدعم Wayland ما يلي:
- يتمتع Clutter بدعم Wayland الكامل. [104] [105] [106]
- تتمتع EFL بدعم Wayland الكامل، باستثناء الاختيار. [107]
- يتمتع GTK 3.20 بدعم Wayland الكامل. [108]
- يتمتع Qt 5 بدعم Wayland الكامل، ويمكن استخدامه لكتابة كل من مؤلفي Wayland وعملاء Wayland.
- ظهر دعم SDL لـ Wayland لأول مرة مع إصدار 2.0.2 [109] وتم تمكينه افتراضيًا منذ الإصدار 2.0.4. [110]
- يدعم GLFW 3.2 Wayland. [111]
- يتوفر دعم أولي لـ FreeGLUT لـ Wayland. [112]
بيئات سطح المكتب
تتضمن بيئات سطح المكتب في عملية النقل من X إلى Wayland GNOME ، [113] و KDE Plasma 6 [114] و Enlightenment . [115]
في نوفمبر 2015، تم الإعلان عن إصدار Enlightenment e20 بدعم كامل لـ Wayland. [116] [60] [117] كان GNOME 3.20 هو الإصدار الأول الذي يحتوي على جلسة Wayland كاملة. [118] تضمن GNOME 3.22 دعمًا محسنًا كثيرًا لـ Wayland عبر GTK وMutter وGNOME Shell. [119] قدم GNOME 3.24 دعمًا لبرامج تشغيل Nvidia الملكية تحت Wayland. [120]
تأخر دعم Wayland لـ KDE Plasma حتى إصدار Plasma 5، [121] على الرغم من أن KWin 4.11 حصل سابقًا على دعم تجريبي لـ Wayland. [122] كانت النسخة 5.4 من Plasma هي الأولى التي تحتوي على جلسة Wayland. [123] خلال عام 2020، تم نقل Klipper إلى Wayland وPlasma 5.20، الذي تم إصداره في أكتوبر 2020، قام بتحسين بث الشاشة والتسجيل. [124] [125] في Plasma 6، تم تعيين الجلسة الرسومية الافتراضية التي تستخدم Wayland كجلسة افتراضية، مما يجعل جلسة X11 ثانوية. [126]
برامج أخرى
تتضمن البرامج الأخرى التي تدعم Wayland ما يلي:
- تعمل Intelligent Input Bus على دعم Wayland، وقد تكون جاهزة لـ Fedora 22. [127]
- نشر RealVNC معاينة للمطورين لبرنامج Wayland في يوليو 2014. [77] [128] [129]
- wayvnc هو خادم VNC لمُركبي Wayland المستندين إلى wlroots.
- Maliit هو إطار عمل لطريقة الإدخال يعمل تحت Wayland. [130] [131] [132]
- يدعم kmscon Wayland مع wlterm. [133]
- تم دمج دعم Wayland في Mesa . [134]
- تم تصميم Eclipse ليعمل على Wayland أثناء مشروع GSoC في عام 2014. [135]
- تُعد واجهة نظام النافذة (Window System Interface) Vulkan مجموعة من مكالمات واجهة برمجة التطبيقات التي تخدم غرضًا مشابهًا لما تفعله EGL لـ OpenGL وOpenGL ES أو GLX لـ OpenGL على X11. تتضمن واجهة نظام النافذة (Window System Interface) دعمًا لـ Wayland منذ اليوم الأول: VK_USE_PLATFORM_WAYLAND_KHR. يمكن تشغيل عملاء Vulkan على خوادم Wayland غير المعدلة، بما في ذلك Weston وGENIVI LayerManager وMutter / GNOME Shell وEnlightenment والمزيد. تتيح واجهة نظام النافذة (WSI) للتطبيقات اكتشاف وحدات معالجة الرسومات المختلفة على النظام وعرض نتائج عرض وحدة معالجة الرسومات على نظام النافذة. [136]
- Waydroid (الذي كان يسمى سابقًا Anbox -Halium)، وهو حاوية لتطبيقات Android لتشغيلها على توزيعات Linux باستخدام Wayland.
الأجهزة المحمولة والمدمجة

تتضمن الأجهزة المحمولة والمدمجة التي تدعم Wayland ما يلي:
- نظام التشغيل postmarketOS
- تحالف GENIVI: يدعم تحالف GENIVI، المعروف الآن باسم COVESA، لنظام المعلومات والترفيه داخل السيارة (IVI) Wayland. [137]
- Raspberry Pi : قامت مؤسسة Raspberry Pi بالتعاون مع Collabora بإصدار Maynard والعمل على تحسين الأداء واستهلاك الذاكرة. [79] [80]
- Jolla : تستخدم الهواتف الذكية من Jolla نظام Wayland. كما يُستخدم أيضًا كمعيار عند استخدام نظام التشغيل Linux Sailfish OS مع أجهزة من بائعين آخرين أو عند تثبيته في أجهزة Android بواسطة المستخدمين. [138] [139] [140]
- Tizen : يدعم Tizen حتى إصدار 2.x نظام Wayland في إعدادات نظام المعلومات والترفيه داخل السيارة (IVI) [141] ومن الإصدار 3.0 فصاعدًا يتم التحويل إلى Wayland افتراضيًا. [142] [143]
تاريخ

بدأ كريستيان هوجسبيرج، وهو مطور رسومات لينكس و X.Org عمل سابقًا على AIGLX و DRI2 ، مشروع Wayland كمشروع وقت فراغ في عام 2008 أثناء عمله في Red Hat . [144] [145] [146] [147] وكان هدفه المعلن هو نظام "يكون فيه كل إطار مثاليًا، وأعني بذلك أن التطبيقات ستكون قادرة على التحكم في العرض بما يكفي بحيث لن نرى أبدًا تمزقًا أو تأخرًا أو إعادة رسم أو وميضًا". كان هوجسبيرج يقود سيارته عبر بلدة وايلاند بولاية ماساتشوستس عندما "تبلورت" المفاهيم الأساسية، ومن هنا جاء الاسم ( ويستون وماينارد أيضًا بلدتان قريبتان في نفس المنطقة، استمرارًا للإشارة). [146] [148]
في أكتوبر 2010، أصبح Wayland مشروعًا تابعًا لـ freedesktop.org . [149] [150] وكجزء من عملية الترحيل، تم استبدال مجموعة Google السابقة بقائمة البريد الإلكتروني wayland-devel كنقطة مركزية للمناقشة والتطوير للمشروع.
تم إصدار مكتبات العميل والخادم Wayland في البداية بموجب ترخيص MIT ، [151] بينما استخدم مؤلف المرجع Weston وبعض عملاء المثال إصدار GNU General Public License 2. [ 152] لاحقًا، تمت إعادة ترخيص جميع أكواد GPL بموجب ترخيص MIT "لتسهيل نقل الكود بين التنفيذ المرجعي والمكتبات الفعلية". [153] في عام 2015، تم اكتشاف أن نص الترخيص المستخدم بواسطة Wayland كان إصدارًا مختلفًا وأقدم قليلاً من ترخيص MIT، وتم تحديث نص الترخيص إلى الإصدار الحالي المستخدم بواسطة مشروع X.Org (المعروف باسم ترخيص MIT Expat ). [6]
يعمل Wayland مع جميع برامج التشغيل المتوافقة مع Mesa مع دعم DRI2 [134] بالإضافة إلى برامج تشغيل Android عبر مشروع Hybris . [154] [155] [156]
الإصدارات
| إصدار | تاريخ | المميزات الرئيسية | ||
|---|---|---|---|---|
| وايلاند | ويستون | بروتوكولات وايلاند | ||
| 0.85 | 9 فبراير 2012 [158] | الإصدار الأول. | ||
| 0.95 | 24 يوليو 2012 [159] | بدأت عملية تثبيت واجهة برمجة التطبيقات (API). | ||
| 1.0 | 22 أكتوبر 2012 [160] [161] | واجهة برمجة تطبيقات wayland-client مستقرة. | ||
| 1.1 | 15 أبريل 2013 [162] [163] | تقديم البرامج. [75] FBDEV، واجهات RDP الخلفية. | ||
| 1.2 | 12 يوليو 2013 [164] [165] | واجهة برمجة تطبيقات wayland-server مستقرة. | إدارة الألوان. الأسطح الفرعية. الواجهة الخلفية لـ Raspberry Pi . | |
| 1.3 | 11 أكتوبر 2013 [166] | مزيد من تنسيقات البكسل. دعم لربط اللغات. | دعم برامج تشغيل Android عبر libhybris . | |
| 1.4 | 23 يناير 2014 [31] | واجهات جديدة لـ wl_subcompositor و wl_subsurface. | تنسيقات إطارية متعددة. دعم تسجيل الدخول لـ Weston بدون جذر. | |
| 1.5 | 20 مايو 2014 [81] | libinput. غلاف ملء الشاشة. | ||
| 1.6 | 19 سبتمبر 2014 [167] | libinput افتراضيا. | ||
| 1.7 | 14 فبراير 2015 [168] [169] | دعم لامتداد عرض Wayland وأدوار السطح. بروتوكول IVI shell. | ||
| 1.8 | 2 يونيو 2015 [170] [171] | رؤوس منفصلة للنواة والبروتوكول المُولَّد. | جدولة إعادة الطلاء. المخرجات المسماة. تحويلات المخرجات. واجهة برمجة تطبيقات التصوير السطحي. | |
| 1.9 | 21 سبتمبر 2015 [172] [173] | تم تحديث الرخصة. | ترخيص محدث. إطار عمل اختبار جديد. مؤلف DRM ثلاثي الرؤوس. ملحق linux_dmabuf. | 1.0 (2015-11-24) [174] |
| 1.10 | 17 فبراير 2016 [175] [176] | وظيفة السحب والإفلات، وأحداث المؤشر المجمعة. [177] | فيديو 4 لينكس 2، إدخال اللمس، تحسينات التصحيح. [178] | 1.1 (2016/02/16) [179] 1.4 (23/05/2016) [180] |
| 1.11 | 1 يونيو 2016 [181] [182] | روتين تحميل النسخ الاحتياطي الجديد، ومنطق الإعداد الجديد. | مغلفات الوكيل، وتغييرات الذاكرة المشتركة، ومستندات HTML التي تم إنشاؤها بواسطة Doxygen. | 1.5 (22/07/2016) [183] 1.7 (15/08/2016) [184] |
| 1.12 | 21 سبتمبر 2016 [185] [186] | تم تحسين دعم تصحيح الأخطاء. | libweston وlibweston-desktop. قفل المؤشر واحتجازه. دعم المؤشر النسبي. | |
| 1.13 | 24 فبراير 2017 [187] | تم تغيير ABI الخاص بـ Weston، وبالتالي تم تسمية الإصدار الجديد بـ 2.0.0 [188] بدلاً من 1.13.0. | 1.8 (2017/06/12) 1.10 (2017/07/31) [189] | |
| 1.14 | 8 أغسطس 2017 [190] | تم إصدار Weston 3.0.0 [191] في نفس الوقت. | 1.11 (2017/10/11) [192] 1.13 (2018/02/14) [193] | |
| 1.15 | 9 أبريل 2018 [194] | تم إصدار Weston 4.0.0 [195] في نفس الوقت. | 1.14 (2018/05/07) [196] 1.16 (2018/07/30) [197] | |
| 1.16 | 24 أغسطس 2018 [198] | تم إصدار Weston 5.0.0 [199] في نفس الوقت. | 1.17 (2018-11-12) [200] | |
| 1.17 | 20 مارس 2019 [201] | تم إصدار Weston 6.0.0 [202] في نفس الوقت. | 1.18 (2019-07-25) [203] | |
| 1.18 | 11 فبراير 2020 [204] | تم إصدار Weston 7.0.0 [205] في 2019-08-23. وتم إصدار Weston 8.0.0 [206] في 2020-01-24. وتم إصدار Weston 9.0.0 [207] في 2020-09-04. |
1.19 (29-02-2020) [208] 1.20 (29-02-2020) [209] | |
| 1.19 | 27 يناير 2021 [210] | 1.21 (2021-04-30) [211] 1.24 (2021-11-23) [212] | ||
| 1.20 | 9 ديسمبر 2021 [213] | تم إصدار Weston 10.0.0 [214] في 2022-02-01. وتم إصدار
Weston 10.0.5 [215] في 2023-08-02. |
1.25 (2022-01-28) [216] | |
| 1.21 | 30 يونيو 2022 [217] | تم إصدار Weston 11.0.0 [218] في 2022-09-22. وتم إصدار
Weston 11.0.3 [219] في 2023-08-02. |
1.26 (2022-07-07) [220] 1.31 (29-11-2022) [221] | |
| 1.22 | 4 أبريل 2023 [222] | تم إصدار Weston 12.0.0 [223] في 2023-05-17. وتم إصدار Weston 12.0.4 [224] في 2024-04-23. وتم إصدار Weston 13.0.0 [225] في 2023-11-27. وتم إصدار Weston 13.0.3 [226] في 2024-06-05. |
1.32 (2023-07-03) [227] 1.36 (26-04-2024) [228] | |
| 1.23 | 30 مايو 2024 [2] | تم إصدار Weston 14.0.0 [229] في 2024-09-04. وتم إصدار
Weston 14.0.1 [3] في 2024-10-21. |
1.37 (2024-08-31) [230] | |
| 1.24 | ||||
النسخة القديمة، لم يتم صيانتها النسخة القديمة لا تزال محفوظة أحدث إصدار الإصدار المستقبلي | ||||
انظر أيضا
مراجع
- ^ هوجسبيرج ، كريستيان (30 سبتمبر 2008). "الالتزام الأولي" . تم الاسترجاع في 4 أغسطس 2024 .
- ^ "[إعلان] wayland 1.23.0". 30 مايو 2024.
- ^ من https://lists.freedesktop.org/archives/wayland-devel/2024-October/043858.html
- ^ "Wayland & Weston Compositor Ported To DragonFlyBSD - Phoronix". www.phoronix.com . مؤرشف من الأصل في 16 أغسطس 2016 . تم الاسترجاع في 20 يوليو 2016 .
- ^ "تقدمي في طبقة توافق Wayland". 24 يوليو 2022.
- ^ abc Harrington, Bryce (15 September 2015). "[ANNOUNCE] wayland 1.8.93". freedesktop.org (قائمة بريدية). مؤرشف من الأصل في 25 أكتوبر 2020. تم الاسترجاع في 14 يناير 2020 .
- ^ "wayland/wayland: root/COPYING". gitlab.freedesktop.org . 9 يونيو 2015 . تم الاسترجاع في 4 أغسطس 2024 .
- ^ لارابيل، مايكل (10 يونيو 2015). "سيتم تحديث/تصحيح ترخيص معهد ماساتشوستس للتكنولوجيا لشركة Wayland". Phoronix.com . مؤرشف من الأصل في 25 أبريل 2016. تم الاسترجاع في 17 أبريل 2016 .
- ^ abc "Wayland". مشروع Wayland . مؤرشف من الأصل في 2 مارس 2011. استرجاع 9 مايو 2016 .
- ^ Sengar, Shivam Singh (16 June 2018). "Wayland v/s Xorg : How Are They Similar & How Are They Different". secjuice . مؤرشف من الأصل في 23 سبتمبر 2020 . تم الاسترجاع 10 سبتمبر 2020 .
- ^ abc Kerrisk, Michael (25 September 2012). "XDC2012: Graphics stack security". LWN.net . مؤرشف من الأصل في 28 مارس 2016 . تم الاسترجاع في 13 أبريل 2016 .
- ^ ab Peres, Martin (21 فبراير 2014). "Wayland Compositors - Why and How to Handle Privileged Clients!". مؤرشف من الأصل في 10 مارس 2016. تم الاسترجاع في 17 أبريل 2016 .
- ^ ab Graesslin, Martin (23 نوفمبر 2015). "Looking at the security of Plasma/Wayland". مؤرشف من الأصل في 27 أغسطس 2022. تم الاسترجاع في 18 أبريل 2016 .
- ^ abcde "Wayland FAQ". مشروع Wayland . مؤرشف من الأصل في 2 أبريل 2016. تم الاسترجاع في 9 مايو 2016 .
- ^ مايكل لارابيل (20 مايو 2009). "حالة خادم عرض وايلاند". Phoronix . مؤرشف من الأصل في 17 أكتوبر 2021. تم الاسترجاع في 17 أكتوبر 2021 .
- ^ كوربيت، جوناثان (5 نوفمبر 2010). "LPC: الحياة بعد X". LWN.net . مؤرشف من الأصل في 28 أبريل 2016. استرجاع 17 أبريل 2016 .
- ^ Høgsberg, Kristian (9 November 2010). "Network transparent argument". مؤرشف من الأصل في 15 أغسطس 2020 . تم الاسترجاع في 14 يناير 2020 .
Wayland ليست واجهة برمجة تطبيقات للعرض عن بُعد مثل X، لكن هذا لا يستبعد شفافية الشبكة. يقوم العملاء بالعرض في مخزن مؤقت مشترك ثم يتعين عليهم إخبار الملحن (...) بما غيروه. يمكن للملحن بعد ذلك إرسال وحدات البكسل الجديدة في تلك المنطقة عبر الشبكة. بروتوكول Wayland غير متزامن بالفعل، لذا يجب أن يكون قادرًا على التعامل مع القليل من تأخر الشبكة بسلاسة. لن تعمل مشاهدة الفيديو أو الألعاب عن بُعد في وضع ملء الشاشة بشكل جيد، [لكن] لا أعرف أي نظام عرض آخر يتعامل مع ذلك بشكل جيد وشفاف.
- ^ لارابيل، مايكل (18 أغسطس 2011). "مشروع خادم وايلاند البعيد: هل يعمل حتى الآن؟". Phoronix.com . مؤرشف من الأصل في 25 أبريل 2016. تم الاسترجاع في 17 أبريل 2016 .
- ^ جاكسون، آدم (9 نوفمبر 2010). "[رد:] أوبونتو تتجه نحو وايلاند". devel@lists.fedoraproject.org (قائمة بريدية). مؤرشف من الأصل في 8 مارس 2021. تم الاسترجاع في 14 يناير 2020 .
- ^ ستون، دانييل (28 يناير 2013). القصة الحقيقية وراء Wayland وX (Speech). linux.conf.au 2013. كانبيرا. مؤرشف من الأصل في 10 أغسطس 2017. تم الاسترجاع 13 أبريل 2016 .
- ^ abc Willis, Nathan (13 فبراير 2013). "LCA: The ways of Wayland". LWN.net . مؤرشف من الأصل في 24 يونيو 2016 . تم الاسترجاع في 19 مايو 2016 .
- ^ Aleksandersen, Daniel (28 August 2017). "إمكانيات سطح المكتب البعيد ستعود إلى الظهور في GNOME على Wayland". Ctrl.blog . مؤرشف من الأصل في 28 أغسطس 2017 . تم الاسترجاع في 29 أغسطس 2017 .
- ^ "The Hello Wayland Tutorial". 8 يوليو 2014. مؤرشف من الأصل في 13 يوليو 2014. تم الاسترجاع 25 يوليو 2014 .
- ^ هوجسبيرج، كريستيان. "الفصل الرابع. بروتوكول وايلاند ونموذج التشغيل". بروتوكول وايلاند . تنسيق الأسلاك.
- ^ abcd Høgsberg, Kristian. "الفصل 4. بروتوكول وايلاند ونموذج التشغيل". بروتوكول وايلاند . المبادئ الأساسية.
- ^ أب هوجسبيرج ، كريستيان (8 مايو 2024). "البروتوكول/wayland.xml". gitlab.freedesktop.org . تم الاسترجاع في 5 أغسطس 2024 .
- ^ Høgsberg, Kristian. "الملحق ب. واجهة برمجة تطبيقات العميل". بروتوكول Wayland . المقدمة.
- ^ ab Paalanen, Pekka (25 يوليو 2014). "Wayland protocol design: object lifespan". مؤرشف من الأصل في 29 مايو 2016. تم الاسترجاع في 6 أبريل 2016 .
- ^ abc Høgsberg, Kristian. "الفصل 4. بروتوكول Wayland ونموذج التشغيل". بروتوكول Wayland . الواجهات.
- ^ هوجسبيرج، كريستيان. "الفصل الرابع. بروتوكول وايلاند ونموذج التشغيل". بروتوكول وايلاند . الإصدارات.
- ^ ab Høgsberg, Kristian (24 يناير 2014). "Wayland and Weston 1.4 is out". قائمة بريدية wayland-devel . مؤرشف من الأصل في 5 أبريل 2020 . تم الاسترجاع في 14 يناير 2020 .
- ^ "xdg_shell: إضافة بروتوكول shell جديد". freedesktop.org . 3 ديسمبر 2013 . تم الاسترجاع في 4 أغسطس 2024 .
- ^ "GENIVI/wayland-ivi-extension". GitHub . 17 نوفمبر 2021. مؤرشف من الأصل في 24 مارس 2017 . تم الاسترجاع 17 أغسطس 2016 .
- ^ هوجسبيرج، كريستيان. "الفصل 3. هندسة وايلاند". بروتوكول وايلاند . إكس مقابل هندسة وايلاند.
- ^ abc Vervloesem, Koen (15 فبراير 2012). "FOSDEM: The Wayland display server". LWN.net . مؤرشف من الأصل في 5 يونيو 2016 . تم الاسترجاع في 9 مايو 2016 .
- ^ بارنز، جيسي. "مقدمة إلى وايلاند" (PDF) . مركز تكنولوجيا المصدر المفتوح التابع لشركة إنتل. مؤرشف (PDF) من الأصل في 6 أبريل 2016. تم الاسترجاع في 18 أبريل 2016.
لا يتضمن واجهة برمجة تطبيقات للعرض - يستخدم العملاء ما يريدونه ويرسلون مقابض المخزن المؤقت إلى الخادم
- ^ هوجسبيرج، كريستيان. "الفصل 3. هندسة وايلاند". بروتوكول وايلاند . تقديم وايلاند.
- ^ Høgsberg, Kristian. "الملحق أ. مواصفات بروتوكول Wayland". بروتوكول Wayland . wl_shm - دعم الذاكرة المشتركة.
- ^ Høgsberg, Kristian. "Appendix A. Wayland Protocol Specification". بروتوكول Wayland . wl_shm_pool - مجموعة ذاكرة مشتركة.
- ^ Paalanen, Pekka (21 نوفمبر 2012). "حول دعم عملاء Wayland GL والمنصات المضمنة المملوكة". مؤرشف من الأصل في 6 أبريل 2016 . تم الاسترجاع في 6 أبريل 2016 .
تعمل مشاركة المخزن المؤقت عن طريق إنشاء معرّف لمخزن مؤقت، وتمرير هذا المعرّف إلى عملية أخرى تستخدم المعرّف بعد ذلك لجعل وحدة معالجة الرسوميات تصل مرة أخرى إلى نفس المخزن المؤقت.
- ^ من قبل Høgsberg, Kristian. "Wayland Documentation 1.3" (PDF) . مؤرشف من الأصل (PDF) في 10 سبتمبر 2015. تم الاسترجاع في 16 مارس 2016 .
- ^ جريفيث، إيريك (7 يونيو 2013). "موقف وايلاند: حقائق حول X مقابل وايلاند". Phoronix.com . ص. 2. مؤرشف من الأصل في 24 سبتمبر 2015. تم الاسترجاع في 17 أبريل 2016 .
- ^ "Wayland Architecture". مشروع Wayland . مؤرشف من الأصل في 13 مارس 2016. استرجاع 9 مايو 2016 .
- ^ Edge, Jake (11 أبريل 2012). "LFCS 2012: X and Wayland". LWN.net . مؤرشف من الأصل في 30 أبريل 2016 . تم الاسترجاع 17 أبريل 2016 .
- ^ "Wayland/X Compositor Architecture By Example: Enlightenment DR19" (PDF) . تم الاسترجاع في 4 أغسطس 2024 .
- ^ ab Graesslin, Martin (7 فبراير 2013). "Client Side Window Decorations and Wayland". مؤرشف من الأصل في 13 أبريل 2016. تم الاسترجاع في 17 أبريل 2016 .
- ^ "X.Org Security". X.Org Foundation . مؤرشف من الأصل في 22 ديسمبر 2017 . تم الاسترجاع 2 يوليو 2017 .
يتضمن خادم X منذ فترة طويلة ملحقًا، SECURITY، والذي يوفر الدعم لنموذج اتصال بسيط موثوق به/غير موثوق به.
- ^ Wiggins, David P. (15 November 1996). "Security Extension Specification". X Consortium Standard . مؤرشف من الأصل في 8 ديسمبر 2018 . تم الاسترجاع في 2 يوليو 2017 .
- ^ Walsh, Eamon F. (2009). "X Access Control Extension Specification". مؤرشف من الأصل في 9 يناير 2016. تم الاسترجاع في 2 يوليو 2017 .
- ^ "Debian Moves To Non-Root X.Org Server By Default - Phoronix". www.phoronix.com . مؤرشف من الأصل في 2 أبريل 2018 . تم الاسترجاع في 2 أبريل 2018 .
- ^ "Xorg غير الجذر - ويكي جنتو". wiki.gentoo.org . مؤرشف من الأصل في 2 أبريل 2018 . تم الاسترجاع 2 أبريل 2018 .
- ^ "X/Rootless - Ubuntu Wiki". wiki.ubuntu.com . مؤرشف من الأصل في 2 أبريل 2018 . استرجاع 2 أبريل 2018 .
- ^ "1078902 – Xorg بدون حقوق الجذر". bugzilla.redhat.com . مؤرشف من الأصل في 2 أبريل 2018 . استرجاع 2 أبريل 2018 .
- ^ "X Clients under Wayland (XWayland)". مشروع Wayland. مؤرشف من الأصل في 27 أغسطس 2022. تم الاسترجاع في 18 يوليو 2014 .
- ^ "إعلان: xorg-server 1.16.0". freedesktop.org . 17 يوليو 2014. مؤرشف من الأصل في 8 مارس 2021 . تم الاسترجاع 14 يناير 2020 .
- ^ ab Høgsberg, Kristian (3 يناير 2011). "Multiple backends for GTK". مؤرشف من الأصل في 27 أغسطس 2022. تم الاسترجاع في 10 مارس 2016 .
- ^ "QtWayland". Qt Wiki . مؤرشف من الأصل في 10 مارس 2016. استرجاع 9 مارس 2016 .
- ^ "الدعم الكامل لـ Wayland في GTK+". GNOME wiki . مؤرشف من الأصل في 7 سبتمبر 2015. استرجاع 10 مارس 2016 .
- ^ "README.md". مشروع wlroots على GitLab .
- ^ بواسطة Larabel, Michael (30 نوفمبر 2015). "إصدار Enlightenment 0.20 يصل بدعم كامل لـ Wayland ودعم أفضل لـ FreeBSD". Phoronix.com . مؤرشف من الأصل في 15 مارس 2016 . تم الاسترجاع في 17 أبريل 2016 .
- ^ "Wayland". www.enlightenment.org . مؤرشف من الأصل في 9 مارس 2016 . تم الاسترجاع 8 مارس 2016 .
- ^ "Plasma 5.21". KDE Community . 16 فبراير 2021. مؤرشف من الأصل في 8 مارس 2021 . تم الاسترجاع 9 مارس 2021 .
- ^ "فهرس /sources/mutter-wayland". download.gnome.org . مؤرشف من الأصل في 21 مايو 2014 . تم الاسترجاع في 27 مايو 2014 .
- ^ "ترقية الإصدار إلى 3.13.1". 30 أبريل 2014.
- ^ "Sway". swaywm.org . مؤرشف من الأصل في 20 ديسمبر 2018 . تم الاسترجاع 20 ديسمبر 2018 .
- ^ "swaywm/wlroots". GitHub . مؤرشف من الأصل في 19 ديسمبر 2018 . تم الاسترجاع 28 أكتوبر 2018 .
- ^ "swaywm/sway". GitHub . مؤرشف من الأصل في 28 أغسطس 2019 . تم الاسترجاع 28 أكتوبر 2018 .
- ^ “هايبرلاند – آرتشويكي”. wiki.archlinux.org . تم الاسترجاع 28 يناير 2024 .
- ^ "Hyprland: مُركِّب نوافذ بلاط ديناميكي مع المظهر". hyprland.org . تم الاسترجاع في 28 يناير 2024 .
- ^ "README". gitlab.freedesktop.org . تم الاسترجاع في 4 أغسطس 2024 .
- ^ "ملف README من مستودع الكود المصدري لـ Wayland". freedesktop.org . تم الاسترجاع في 4 أغسطس 2024 .
- ^ Larabel, Michael (16 فبراير 2013). "Wayland تبدأ عملية النقل إلى FreeBSD". Phoronix.com . مؤرشف من الأصل في 25 أبريل 2016 . تم الاسترجاع في 17 أبريل 2016 .
- ^ "إضافة دعم حماية المحتوى في drm-backend (!48) · طلبات الدمج · wayland / weston". GitLab . 6 نوفمبر 2018. مؤرشف من الأصل في 27 أغسطس 2022 . تم الاسترجاع 27 أكتوبر 2019 .
- ^ Paalanen, Pekka (10 مارس 2012). "ماذا يفعل EGL في مجموعة Wayland". مؤرشف من الأصل في 12 أكتوبر 2016. تم الاسترجاع في 19 مايو 2016 .
- ^ بواسطة Larabel, Michael (6 يناير 2013). "برنامج عرض Pixman قائم على البرمجيات لـ Wayland's Weston". Phoronix.com . مؤرشف من الأصل في 25 أبريل 2016. تم الاسترجاع في 17 أبريل 2016 .
- ^ Høgsberg, Kristian (9 ديسمبر 2010). "Blender3D & cursor clipping". مؤرشف من الأصل في 25 أكتوبر 2020. تم الاسترجاع في 14 يناير 2020 .
- ^ ab "[RFC weston] remote access interface module". freedesktop.org . 18 أكتوبر 2013. مؤرشف من الأصل في 25 أكتوبر 2020 . تم الاسترجاع 14 يناير 2020 .
- ^ "إعلان ماينارد". 16 أبريل 2014. مؤرشف من الأصل في 8 مارس 2017. اطلع عليه بتاريخ 16 أبريل 2014 .
- ^ "دراسة حالة Raspberry Pi". Collabora. مؤرشف من الأصل في 1 سبتمبر 2013. تم الاسترجاع في 9 أغسطس 2013 .
- ^ من "معاينة Wayland". Raspberry Pi. 24 فبراير 2013. تم الاسترجاع في 4 أغسطس 2024 .
- ^ بواسطة Høgsberg, Kristian (20 مايو 2014). "إصدار Wayland and Weston 1.5.0". قائمة بريدية wayland-devel . مؤرشف من الأصل في 19 أكتوبر 2019 . تم الاسترجاع في 14 يناير 2020 .
- ^ Ådahl, Jonas (12 نوفمبر 2013). "[RFC] Common input device library". قائمة بريدية Wayland. مؤرشف من الأصل في 25 أكتوبر 2020. تم الاسترجاع في 14 يناير 2020 .
- ^ "libinput". Freedesktop.org. مؤرشف من الأصل في 19 أبريل 2014. تم الاسترجاع 21 مايو 2014 .
- ^ Hutterer, Peter (8 October 2014). Consolidating the input stacks with libinput (Speech). The X.Org Developer Conference 2014. Bordeaux. مؤرشف من الأصل في 1 نوفمبر 2020 . تم الاسترجاع في 14 يناير 2020 .
- ^ Hutterer, Peter (22 فبراير 2015). "libinput: the road to 1.0". مؤرشف من الأصل في 25 أكتوبر 2020. تم الاسترجاع 9 نوفمبر 2019 .
- ^ "إضافة دعم Libinput إلى Touchpad KCM". 22 فبراير 2015. مؤرشف من الأصل في 24 فبراير 2015. اطلع عليه بتاريخ 24 فبراير 2015 .
- ^ Goede, Hans de (23 فبراير 2015). "Libinput now enabled as default xorg driver for F-22 workstation installs". devel@lists.fedoraproject.org (قائمة بريدية). مؤرشف من الأصل في 24 فبراير 2015. تم الاسترجاع في 24 فبراير 2015 .
- ^ Hutterer, Peter (24 September 2014). "libinput - a common input stack for Wayland compositors and X.Org drivers". مؤرشف من الأصل في 7 أبريل 2016. تم الاسترجاع في 17 أبريل 2016 .
- ^ de Goede, Hans (1 فبراير 2015). "استبدال إدخال xorg - برامج التشغيل بـ libinput" (PDF) . مؤرشف من الأصل (PDF) في 22 نوفمبر 2021. تم الاسترجاع في 18 أبريل 2016 .
- ^ من تأليف دودييه لازارو، ستيف؛ بيريز، مارتن (9 أكتوبر 2014). الأمان في بيئات سطح المكتب القائمة على وايلاند: العملاء المميزون، والتفويض، والمصادقة، وبيئة الحماية! (خطاب). مؤتمر مطوري إكس أورج 2014. بوردو. مؤرشف من الأصل في 9 أبريل 2016. تم الاسترجاع في 18 أبريل 2016 .
- ^ "Changes/WaylandByDefault - Fedora Project Wiki". fedoraproject.org . مؤرشف من الأصل في 27 ديسمبر 2015 . تم الاسترجاع 9 نوفمبر 2020 .
- ^ "ReleaseNotes for Ubuntu 17.10". مؤرشف من الأصل في 24 نوفمبر 2017. تم الاسترجاع 10 نوفمبر 2017 .
- ^ "سيعود Ubuntu 18.04 إلى Xorg القديم" . تم الاسترجاع في 16 ديسمبر 2023 .
- ^ "Bionic Beaver 18.04 LTS لاستخدام Xorg افتراضيًا". Canonical. مؤرشف من الأصل في 18 فبراير 2018 . تم الاسترجاع في 18 فبراير 2018 .
- ^ "أوبونتو 21.04 هنا". مدونة أوبونتو الرسمية . مؤرشف من الأصل في 22 أبريل 2021. تم الاسترجاع 14 يونيو 2021 .
- ^ "ملاحظات الإصدار لـ Red Hat Enterprise Linux 8.0". بوابة عملاء Red Hat . مؤرشف من الأصل في 25 نوفمبر 2020. تم الاسترجاع في 25 ديسمبر 2020 .
- ^ "NewInBuster - Debian Wiki". wiki.debian.org . مؤرشف من الأصل في 25 سبتمبر 2019 . تم الاسترجاع 15 يوليو 2019 .
- ^ "Slackware ChangeLogs". Slackware Linux. مؤرشف من الأصل في 30 يناير 2020. تم الاسترجاع في 26 فبراير 2020 .
- ^ "تم إصدار Manjaro 20.2 Nibia". 3 ديسمبر 2020. مؤرشف من الأصل في 4 ديسمبر 2020 . تم الاسترجاع 3 ديسمبر 2020 .
- ^ "Wayland Live OS Is Now Based On Debian Testing, Working KDE Wayland Support". Phoronix. مؤرشف من الأصل في 11 أغسطس 2019 . تم الاسترجاع في 14 يناير 2020 .
- ^ "RebeccaBlackOS". Sourceforge. مؤرشف من الأصل في 25 نوفمبر 2016. استرجاع 11 أكتوبر 2016 .
- ^ "تجربة Wayland مع ريبيكا بلاك". Phoronix. مؤرشف من الأصل في 18 مايو 2020. تم الاسترجاع في 14 يناير 2020 .
- ^ "New Wayland Live CD Has A Lot Of Features". Phoronix. مؤرشف من الأصل في 18 مايو 2020 . تم الاسترجاع في 14 يناير 2020 .
- ^ Bassi, Emmanuele (31 January 2011). "ANNOUNCE: Clutter 1.6.0 (stable)". clutter-announce (Mailing list). مؤرشف من الأصل في 10 مارس 2016. تم الاسترجاع في 9 مارس 2016 .
- ^ برادفورد، روب (16 ديسمبر 2011). "تحديث Clutter & Cogl Wayland". مؤرشف من الأصل في 10 مارس 2016. تم الاسترجاع في 9 مارس 2016.
دعم جانب العميل لـ Clutter كامل بشكل أساسي
- ^ Bassi, Emmanuele (24 September 2013). "ANNOUNCE: Clutter 1.16.0 (stable)". clutter-announce (Mailing list). مؤرشف من الأصل في 10 مارس 2016 . تم الاسترجاع في 9 مارس 2016 .
- ^ "Wayland – Enlightenment". مؤرشف من الأصل في 29 مارس 2013. اطلع عليه بتاريخ 6 مارس 2013 .
- ^ "GTK+ Roadmap" . تم الاسترجاع في 8 مارس 2016 .
- ^ Lantinga, Sam (8 مارس 2014). "SDL 2.0.2 RELEASED!". SDL Project. مؤرشف من الأصل في 15 مارس 2014. تم الاسترجاع في 18 مارس 2014 .
- ^ لارابيل، مايكل (9 يناير 2016). "تم إصدار SDL 2.0.4 بهدوء الأسبوع الماضي مع Wayland & Mir بشكل افتراضي". Phoronix.com . مؤرشف من الأصل في 16 مارس 2016. تم استرجاعه في 17 أبريل 2016 .
- ^ Berglund, Camilla (8 April 2014). "Implementation for Wayland · Issue #106 · glfw/glfw · GitHub". GitHub . مؤرشف من الأصل في 27 أغسطس 2022 . تم الاسترجاع في 14 أغسطس 2014 .
- ^ "FreeGLUT: تنفيذ الدعم الأولي لـ Wayland". GitHub . مؤرشف من الأصل في 10 نوفمبر 2020 . تم الاسترجاع في 7 أبريل 2015 .
- ^ "مبادرات GNOME - Wayland". ويكي GNOME . مؤرشف من الأصل في 7 مارس 2016. استرجاع 8 مارس 2016 .
- ^ "KWin/Wayland". ويكي مجتمع كي دي إي . مؤرشف من الأصل في 10 مارس 2016. استرجاع 8 مارس 2016 .
- ^ "التنوير - وايلاند". Enlightenment.org . مؤرشف من الأصل في 9 مارس 2016 . استرجاع 8 مارس 2016 .
- ^ "إصدار Enlightenment DR 0.20.0". Enlightenment.org . مؤرشف من الأصل في 21 يونيو 2018 . تم الاسترجاع في 8 مارس 2016 .
- ^ "تنوير وايلاند". FOSDEM.org . مؤرشف من الأصل في 9 مارس 2016. تم الاسترجاع في 8 مارس 2016 .
- ^ "ReleasePlanning/FeaturesPlans". مشروع GNOME. مؤرشف من الأصل في 31 مايو 2015. تم الاسترجاع في 31 مايو 2015 .
- ^ "نظرة على الميزات/التحسينات المثيرة في GNOME 3.22". Phoronix. مؤرشف من الأصل في 12 أغسطس 2020 . تم الاسترجاع 14 يناير 2020 .
- ^ "GNOME Lands Mainline NVIDIA Wayland Support Using EGLStreams". Phoronix. مؤرشف من الأصل في 8 أغسطس 2019. تم الاسترجاع في 14 يناير 2020 .
- ^ "طريق البلازما إلى وايلاند". 25 يوليو 2014. مؤرشف من الأصل في 27 يوليو 2014. اطلع عليه بتاريخ 25 يوليو 2014 .
- ^ Larabel, Michael (14 يونيو 2013). "إصدار KDE 4.11 Beta، يعمل على Wayland". Phoronix.com . مؤرشف من الأصل في 25 أبريل 2016 . تم الاسترجاع في 17 أبريل 2016 .
- ^ Graesslin, Martin (29 June 2015). "بعد أربع سنوات". مؤرشف من الأصل في 31 مارس 2016. اطلع عليه بتاريخ 17 أبريل 2016 .
- ^ Sneddon, Joey (17 سبتمبر 2020). "KDE Plasma 5.20 يبدو وكأنه تحديث رائع". يا إلهي! أوبونتو . تم الاسترجاع في 14 يونيو 2024 .
- ^ Nestor, Marius (13 أكتوبر 2020). "تم إطلاق بيئة سطح المكتب KDE Plasma 5.20 رسميًا، وإليك الجديد". 9to5Linux . تم الاسترجاع في 14 يونيو 2024 .
- ^ Wallen, Jack (14 فبراير 2024). "أول توزيعة Linux تقدم بيئة KDE Plasma 6 نقية موجودة هنا". ZDNET . تم الاسترجاع في 24 مارس 2024 .
- ^ شالر، كريستيان (3 يوليو 2014). "تحديث وايلاند في فيدورا". blogs.gnome.org . مؤرشف من الأصل في 1 مايو 2016 . تم الاسترجاع في 17 أبريل 2016 .
- ^ "VNC® Wayland Developer Preview". 8 يوليو 2014. مؤرشف من الأصل في 14 يوليو 2014.
- ^ "RealVNC Wayland developer preview email". freedesktop.org . 9 يوليو 2014. مؤرشف من الأصل في 25 أكتوبر 2020 . تم الاسترجاع 14 يناير 2020 .
- ^ "تحديث حالة مالييت". Posterous. 2 أبريل 2013. مؤرشف من الأصل في 17 مايو 2013. تم الاسترجاع 14 أكتوبر 2013 .
- ^ "تحسينات أخرى في لوحة مفاتيح Maliit: QtQuick2". مدونة موراي. 2 أبريل 2013. مؤرشف من الأصل في 13 أكتوبر 2013. تم الاسترجاع في 14 أكتوبر 2013 .
- ^ "Maliit under Wayland". مؤرشف من الأصل في 11 يونيو 2013. اطلع عليه بتاريخ 14 سبتمبر 2013 .
- ^ "wlterm". Freedesktop.org. مؤرشف من الأصل في 14 يوليو 2014. تم الاسترجاع 8 يوليو 2014 .
- ^ ab Hillesley، ص 3.
- ^ "Eclipse يعمل الآن على Wayland". 18 أغسطس 2014. مؤرشف من الأصل في 23 أغسطس 2014. استرجاع 17 سبتمبر 2014 .
- ^ Stone, Daniel (16 فبراير 2016). "إصدار مواصفات Vulkan 1.0 مع دعم اليوم الأول لـ Wayland". مؤرشف من الأصل في 24 يونيو 2016. تم الاسترجاع في 27 فبراير 2016 .
- ^ "Wayland Backend DRM | IVI Layer Management". GENIVI Alliance. مؤرشف من الأصل في 1 فبراير 2014. تم الاسترجاع في 15 يوليو 2013 .
- ^ "أول هاتف ذكي يعمل بنظام تشغيل جولا يعمل بنظام وايلاند". LinuxG.net. 14 يوليو 2013. مؤرشف من الأصل في 28 يونيو 2014. تم الاسترجاع في 8 أكتوبر 2013 .
- ^ VDVsx [@VDVsx] (13 يوليو 2013). "#sailfishos main components diagram. #Qt5 #Wayland #JollaHQ #Akademy" ( تغريدة ) – عبر تويتر .
- ^ Jolla [@JollaHQ] (13 يوليو 2013). "@faenil @PeppeLaKappa @VDVsx أول سيارة Jolla لدينا سوف يتم شحنها مع Wayland، نعم" ( تغريدة ) – عبر تويتر .
- ^ "IVI/IVI Setup". Tizen Wiki. مؤرشف من الأصل في 10 فبراير 2017. استرجاع 8 أبريل 2013 .
- ^ VanCutsem, Geoffroy (10 يوليو 2013). "[IVI] Tizen IVI 3.0-M1 released". IVI (Mailing list). مؤرشف من الأصل في 2 أكتوبر 2013. تم الاسترجاع في 13 يوليو 2013 .
- ^ Amadeo, Ron (12 مايو 2017). "Samsung Z4 is the new Tizen's leading smartphone". Ars Technica . مؤرشف من الأصل في 13 مايو 2017 . تم الاسترجاع 13 مايو 2017 .
- ^ هوجسبيرج، كريستيان (3 نوفمبر 2008). "الدعاية المبكرة أفضل من عدم الدعاية على الإطلاق". مؤرشف من الأصل في 28 مارس 2016. تم الاسترجاع 6 أبريل 2016 .
- ^ "مقابلة: كريستيان هوجسبيرج". أرشيف FOSDEM . 29 يناير 2012. مؤرشف من الأصل في 4 مارس 2016. تم استرجاعه في 8 مارس 2016 .
- ^ ab Hillesley, Richard (13 فبراير 2012). "Wayland - Beyond X". The H Open . Heise Media UK. مؤرشف من الأصل في 6 ديسمبر 2013 . تم الاسترجاع في 8 مارس 2016 .
- ^ Høgsberg, Kristian. "Wayland – A New Display Server for Linux". مؤتمر سباكي لينكس، 2009. مؤرشف من الأصل في 11 أغسطس 2017.
- ^ Jenkins, Evan (22 March 2011). "The Linux graphics stack from X to Wayland". Ars Technica . مؤرشف من الأصل في 10 أبريل 2016 . تم الاسترجاع في 17 أبريل 2016 .
- ^ لارابيل، مايكل (29 أكتوبر 2010). "Wayland أصبح مشروعًا لـ FreeDesktop.org". Phoronix.com . مؤرشف من الأصل في 14 أبريل 2016. تم الاسترجاع في 17 أبريل 2016 .
- ^ Høgsberg, Kristian (29 October 2010). "Moving to freedesktop.org". مؤرشف من الأصل في 9 نوفمبر 2012. تم الاسترجاع في 31 يوليو 2013 .
- ^ Høgsberg, Kristian (3 ديسمبر 2008). "Wayland is now under MIT license". wayland-display-server (قائمة بريدية). مؤرشف من الأصل في 9 نوفمبر 2012. تم الاسترجاع في 8 مارس 2016 .
- ^ Høgsberg, Kristian (22 November 2010). "توضيح ترخيص Wayland". wayland-devel (قائمة بريدية). مؤرشف من الأصل في 9 مارس 2016. تم الاسترجاع في 8 مارس 2016 .
- ^ Høgsberg, Kristian (19 September 2011). "License update". wayland-devel (Mailing list). مؤرشف من الأصل في 29 أبريل 2016. تم الاسترجاع في 8 مارس 2016 .
- ^ مونك، كارستن (11 أبريل 2013). "Wayland utilizing Android GPU drivers on glibc based systems, Part 1". مشروع مير. مؤرشف من الأصل في 19 أبريل 2013. تم الاسترجاع في 3 يوليو 2013 .
- ^ مونك، كارستن (8 يونيو 2013). "Wayland utilizing Android GPU drivers on glibc based systems, Part 2". مشروع مير. مؤرشف من الأصل في 24 أكتوبر 2013. تم الاسترجاع في 3 يوليو 2013 .
- ^ لارابيل، مايكل (11 أبريل 2013). "Jolla Brings Wayland Atop Android GPU Drivers". Phoronix.com . مؤرشف من الأصل في 25 أبريل 2016 . تم الاسترجاع في 17 أبريل 2016 .
- ^ "Wayland". Wayland.freedesktop.org. مؤرشف من الأصل في 7 يوليو 2013. تم الاسترجاع في 15 يوليو 2013 .
- ^ Høgsberg, Kristian (9 فبراير 2012). "[إعلان] إصدار Wayland and Weston 0.85.0". قائمة بريدية wayland-devel . مؤرشف من الأصل في 14 يناير 2020 . تم الاسترجاع في 14 يناير 2020 .
- ^ Høgsberg, Kristian (24 July 2012). "إصدار Wayland and Weston 0.95.0". قائمة بريدية wayland-devel . مؤرشف من الأصل في 25 أكتوبر 2020 . تم الاسترجاع في 14 يناير 2020 .
- ^ Høgsberg, Kristian (22 أكتوبر 2012). "Wayland and Weston 1.0". قائمة بريدية wayland-devel . مؤرشف من الأصل في 23 أغسطس 2019 . تم الاسترجاع في 14 يناير 2020 .
- ^ Scherschel, Fabian (23 أكتوبر 2012). "Wayland's 1.0 milestone fixes graphics protocol". The H Open . Heise Media UK. مؤرشف من الأصل في 7 ديسمبر 2013 . تم الاسترجاع في 17 أبريل 2016 .
- ^ Larabel, Michael (16 أبريل 2013). "Wayland 1.1 Officially Released With Weston 1.1". Phoronix.com . مؤرشف من الأصل في 25 أبريل 2016 . تم الاسترجاع في 17 أبريل 2016 .
- ^ Høgsberg, Kristian (15 أبريل 2013). "إصدار 1.1". قائمة بريدية wayland-devel . مؤرشف من الأصل في 27 مايو 2019 . تم الاسترجاع في 14 يناير 2020 .
- ^ Larabel, Michael (13 July 2013). "إصدار Wayland 1.2.0، وانضمام Weston Compositor". Phoronix.com . مؤرشف من الأصل في 14 أبريل 2016 . تم الاسترجاع في 17 أبريل 2016 .
- ^ Høgsberg, Kristian (12 July 2013). "إصدار Wayland and Weston 1.2.0". قائمة بريدية wayland-devel . مؤرشف من الأصل في 25 يونيو 2019 . تم الاسترجاع في 14 يناير 2020 .
- ^ Høgsberg, Kristian (11 October 2013). "إصدارات Wayland وWeston 1.3 متاحة الآن". قائمة بريدية wayland-devel . مؤرشف من الأصل في 8 أغسطس 2020 . تم الاسترجاع في 11 أبريل 2020 .
- ^ Paalanen, Pekka (19 September 2014). "إصدار Wayland and Weston 1.6.0". قائمة بريدية wayland-devel . مؤرشف من الأصل في 27 مايو 2019 . تم الاسترجاع في 14 يناير 2020 .
- ^ Harrington, Bryce (14 فبراير 2015). "[إعلان] wayland 1.7.0". قائمة بريدية wayland-devel . مؤرشف من الأصل في 5 أبريل 2020 . تم الاسترجاع في 14 يناير 2020 .
- ^ Harrington, Bryce (14 فبراير 2015). "[إعلان] weston 1.7.0". قائمة بريدية wayland-devel . مؤرشف من الأصل في 5 أبريل 2020 . تم الاسترجاع في 14 يناير 2020 .
- ^ Harrington, Bryce (2 June 2015). "[ANNOUNCE] wayland 1.8.0". قائمة بريدية wayland-devel . مؤرشف من الأصل في 15 أغسطس 2020 . تم الاسترجاع في 14 يناير 2020 .
- ^ Harrington, Bryce (2 June 2015). "[ANNOUNCE] weston 1.8.0". قائمة بريدية wayland-devel . مؤرشف من الأصل في 15 أغسطس 2020 . تم الاسترجاع في 14 يناير 2020 .
- ^ Harrington, Bryce (21 September 2015). "[ANNOUNCE] wayland 1.9.0". wayland-devel (قائمة بريدية). مؤرشف من الأصل في 25 أكتوبر 2020 . تم الاسترجاع في 14 يناير 2020 .
- ^ Harrington, Bryce (21 September 2015). "[ANNOUNCE] weston 1.9.0". wayland-devel (قائمة بريدية). مؤرشف من الأصل في 21 سبتمبر 2020. تم الاسترجاع في 14 يناير 2020 .
- ^ "[إعلان] wayland-protocols 1.0". 25 نوفمبر 2015.
- ^ Harrington, Bryce (17 فبراير 2016). "[إعلان] wayland 1.10.0". wayland-devel (قائمة بريدية). مؤرشف من الأصل في 17 فبراير 2016. تم الاسترجاع في 17 فبراير 2016 .
- ^ Harrington, Bryce (17 فبراير 2016). "[إعلان] weston 1.10.0". wayland-devel (قائمة بريدية). مؤرشف من الأصل في 24 فبراير 2016. تم الاسترجاع في 17 فبراير 2016 .
- ^ Nestor, Marius (18 فبراير 2016). "Wayland 1.10 Display Server Officially Released, Wayland 1.11 Arrives in May 2016". Softpedia . مؤرشف من الأصل في 14 يناير 2020 . تم الاسترجاع في 14 يناير 2020 .
- ^ Larabel, Michael (16 فبراير 2016). "Wayland 1.10 Officially Released". Phoronix.com . مؤرشف من الأصل في 21 يونيو 2017 . تم الاسترجاع 17 أبريل 2016 .
- ^ "[إعلان] wayland-protocols 1.1". 16 فبراير 2016.
- ^ "[إعلان] wayland-protocols 1.4". 23 مايو 2016.
- ^ Harrington, Bryce (1 June 2016). "[ANNOUNCE] wayland 1.11.0". wayland-devel (قائمة بريدية). مؤرشف من الأصل في 1 يونيو 2016. تم الاسترجاع في 1 يونيو 2016 .
- ^ Harrington, Bryce (1 June 2016). "[ANNOUNCE] weston 1.11.0". wayland-devel (قائمة بريدية). مؤرشف من الأصل في 8 أكتوبر 2016. تم الاسترجاع في 1 يونيو 2016 .
- ^ "[إعلان] wayland-protocols 1.5". 22 يوليو 2016.
- ^ "[إعلان] wayland-protocols 1.7". 15 أغسطس 2016.
- ^ Harrington, Bryce (21 September 2016). "[ANNOUNCE] wayland 1.12.0". wayland-devel (قائمة بريدية). مؤرشف من الأصل في 2 أبريل 2017. تم الاسترجاع في 21 سبتمبر 2016 .
- ^ Harrington, Bryce (21 September 2016). "[ANNOUNCE] weston 1.12.0". wayland-devel (قائمة بريدية). مؤرشف من الأصل في 8 أكتوبر 2016. تم الاسترجاع في 21 سبتمبر 2016 .
- ^ Harrington, Bryce (21 فبراير 2017). "[إعلان] wayland 1.13.0". wayland-devel (قائمة بريدية). مؤرشف من الأصل في 24 فبراير 2017. تم الاسترجاع في 30 أبريل 2017 .
- ^ Harrington, Bryce (25 فبراير 2017). "[إعلان] weston 2.0.0". wayland-devel (قائمة بريدية). مؤرشف من الأصل في 2 مارس 2017. تم الاسترجاع في 30 أبريل 2017 .
- ^ "[إعلان] wayland-protocols 1.10". 31 يوليو 2017.
- ^ Harrington, Bryce (8 August 2017). "[ANNOUNCE] wayland 1.14.0". wayland-devel (قائمة بريدية). مؤرشف من الأصل في 20 أكتوبر 2018 . تم الاسترجاع في 25 مارس 2018 .
- ^ Harrington, Bryce (8 August 2017). "[ANNOUNCE] weston 3.0.0". wayland-devel (قائمة بريدية). مؤرشف من الأصل في 20 أكتوبر 2018. تم الاسترجاع في 25 مارس 2018 .
- ^ "[إعلان] wayland-protocols 1.11". 11 أكتوبر 2017.
- ^ "[إعلان] wayland-protocols 1.13". 14 فبراير 2018.
- ^ فورمان، ديريك (9 أبريل 2018). "[إعلان] wayland 1.15.0". wayland-devel (قائمة بريدية). مؤرشف من الأصل في 10 أبريل 2018 . تم الاسترجاع في 15 أبريل 2018 .
- ^ فورمان، ديريك (9 أبريل 2018). "[إعلان] ويستون 4.0.0". wayland-devel (قائمة بريدية). مؤرشف من الأصل في 10 أبريل 2018. تم الاسترجاع في 15 أبريل 2018 .
- ^ "[إعلان] wayland-protocols 1.14". 7 مايو 2018.
- ^ "[إعلان] wayland-protocols 1.16". 30 يوليو 2018.
- ^ فورمان، ديريك (24 أغسطس 2018). "[إعلان] wayland 1.16.0". wayland-devel (قائمة بريدية). مؤرشف من الأصل في 28 أغسطس 2018 . تم الاسترجاع في 30 نوفمبر 2018 .
- ^ فورمان، ديريك (24 أغسطس 2018). "[إعلان] ويستون 5.0.0". wayland-devel (قائمة بريدية). مؤرشف من الأصل في 25 أغسطس 2018. تم الاسترجاع في 30 نوفمبر 2018 .
- ^ "[إعلان] wayland-protocols 1.17". 12 نوفمبر 2018.
- ^ فورمان، ديريك (28 مارس 2019). "[إعلان] wayland 1.17.0" (قائمة بريدية). مؤرشف من الأصل في 25 مارس 2019. تم الاسترجاع 17 يونيو 2019 .
- ^ فورمان، ديريك (21 مارس 2019). "[إعلان] ويستون 6.0.0" (قائمة بريدية). مؤرشف من الأصل في 31 مارس 2019. تم الاسترجاع 17 يونيو 2019 .
- ^ "[إعلان] wayland-protocols 1.18". 25 يوليو 2019.
- ^ سير، سيمون (11 فبراير 2020). "[إعلان] wayland 1.18" (قائمة بريدية). مؤرشف من الأصل في 1 أبريل 2021. تم الاسترجاع 12 فبراير 2020 .
- ^ Ser, Simon (23 أغسطس 2019). "[إعلان] weston 7.0.0" (قائمة بريدية). مؤرشف من الأصل في 25 أغسطس 2019. تم الاسترجاع 22 أكتوبر 2019 .
- ^ سير، سيمون (24 يناير 2020). "[إعلان] weston 8.0.0" (قائمة بريدية) . تم الاسترجاع في 12 فبراير 2020 .
- ^ "[إعلان] weston 9.0.0". 4 سبتمبر 2020. مؤرشف من الأصل في 29 سبتمبر 2020 . تم الاسترجاع 30 أكتوبر 2020 .
- ^ "[إعلان] wayland-protocols 1.19". 29 فبراير 2020.
- ^ "[إعلان] wayland-protocols 1.20". 29 فبراير 2020.
- ^ Ser, Simon (27 January 2021). "[إعلان] wayland 1.19.0" (قائمة بريدية). مؤرشف من الأصل في 1 فبراير 2021 . تم الاسترجاع 27 يناير 2021 .
- ^ "[إعلان] wayland-protocols 1.21". 30 أبريل 2021.
- ^ "[إعلان] wayland-protocols 1.24". 23 نوفمبر 2021.
- ^ Ser, Simon (27 يناير 2021). "[إعلان] wayland 1.20.0" (قائمة بريدية). مؤرشف من الأصل في 11 ديسمبر 2021 . تم الاسترجاع 27 يناير 2021 .
- ^ سير، سيمون (1 فبراير 2022). "[إعلان] weston 10.0.0" (قائمة بريدية). مؤرشف من الأصل في 4 فبراير 2022. تم الاسترجاع 12 فبراير 2022 .
- ^ "[إعلان] weston 10.0.5". 2 أغسطس 2023.
- ^ "[إعلان] wayland-protocols 1.25". 28 يناير 2022.
- ^ "[إعلان] wayland 1.21.0". 30 يونيو 2022.
- ^ "[إعلان] weston 11.0.0". 22 سبتمبر 2022.
- ^ "[إعلان] weston 11.0.3". 2 أغسطس 2023.
- ^ "[إعلان] wayland-protocols 1.26". 7 يوليو 2022.
- ^ "[إعلان] wayland-protocols 1.31". 29 نوفمبر 2022.
- ^ Ser, Simon (4 أبريل 2023). "[إعلان] wayland 1.22.0" (قائمة بريدية) . تم الاسترجاع في 9 أبريل 2023 .
- ^ "[إعلان] weston 12.0.0". 17 مايو 2023.
- ^ "[إعلان] Weston 12.0.4". 23 أبريل 2024.
- ^ "[إعلان] weston 13.0.0". 28 نوفمبر 2023.
- ^ "[إعلان] weston 13.0.3". 5 يونيو 2024.
- ^ "[إعلان] wayland-protocols 1.32". 3 يوليو 2023.
- ^ "[إعلان] wayland-protocols 1.36". 26 أبريل 2024.
- ^ https://lists.freedesktop.org/archives/wayland-devel/2024-September/043776.html
- ^ https://lists.freedesktop.org/archives/wayland-devel/2024-August/043774.html
روابط خارجية
- الموقع الرسمي
