إكس جي إل

Xgl هو تطبيق قديم لخادم العرض يدعم بروتوكول نظام النوافذ X ، مصمم للاستفادة من بطاقات الرسومات الحديثة عبر برامج تشغيل OpenGL الخاصة بها ، والمبنية على OpenGL . [ 1 ] يدعم تسريع الأجهزة لجميع تطبيقات X وOpenGL و XVideo ، بالإضافة إلى المؤثرات الرسومية بواسطة مدير نوافذ تركيب مثل Compiz أو Beryl . بدأ المشروع ديفيد ريفمان من شركة نوفيل ، وتم إصداره لأول مرة في 2 يناير 2006. تمت إزالته [ 2 ] من خادم X.org لصالح AIGLX في 12 يونيو 2008.

تاريخ

بدأ تطوير Xgl في عام 2004. وحتى إصداره في عام 2006، كان التطوير متاحًا للجميع عبر قوائم بريدية عامة، مع العلم أن تطويره كان خاصًا خلال الأشهر الأخيرة. [ 3 ] في ذلك اليوم، أُعيد فتح شفرة المصدر لـ Xgl للجمهور، [ 4 ] [ 5 ] وأُدرجت في موقع freedesktop.org ، إلى جانب إعادة هيكلة شاملة لدعم نطاق أوسع من برامج تشغيل الشاشة. تشمل واجهات خادم X المستخدمة في Xgl كلاً من Xglx و Xegl . في فبراير 2006، حظي الخادم بشهرة واسعة بعد عرضٍ عام قدم فيه فريق Novell Desktop عرضًا توضيحيًا لسطح مكتب يستخدم Xgl مع العديد من المؤثرات البصرية، مثل النوافذ الشفافة وسطح مكتب ثلاثي الأبعاد قابل للدوران. [ 6 ] [ 7 ] [ 8 ] طُبقت هذه التأثيرات لأول مرة في مدير تركيب يُسمى glxcompmgr (لا يُخلط بينه وبين xcompmgr)، والذي أصبح الآن مُهملًا نظرًا لعدم إمكانية تطبيق العديد من التأثيرات بشكل كافٍ دون تفاعل أوثق بين مدير النوافذ ومدير التركيب. كحلٍّ لهذه المشكلة، طوّر ديفيد ريفمان برنامج Compiz ، وهو أول مدير نوافذ تركيب OpenGL مناسب لنظام X Window. لاحقًا، في سبتمبر 2006، تم إصدار مدير نوافذ التركيب Beryl كنسخة مُعدّلة من Compiz الأصلي. اندمج Compiz وBeryl في أبريل 2007، مما أدى إلى تطوير Compiz Fusion .

الخوادم الخلفية

لا يُحدد OpenGL كيفية تهيئة الشاشة ومعالجة سياقات الرسم. بدلاً من ذلك، تُدار هذه العمليات بواسطة واجهة برمجة تطبيقات خاصة بنظام النوافذ الأصلي. حتى الآن، توجد طريقتان مختلفتان لحل مشكلة التهيئة هذه. على الأرجح، سيحتوي الجزء الأكبر من كلتا الطريقتين على نفس الكود، وستكون الاختلافات بشكل أساسي في أجزاء التهيئة الخاصة بالخوادم.

Xglx

كان Xglx أول نظام خلفي تم تنفيذه لهذه البنية. يتطلب وجود خادم X مسبقًا للتشغيل، ويستخدم GLX لإنشاء نافذة OpenGL التي يستخدمها Xgl لاحقًا، على غرار Xnest . هذا الوضع مخصص للاستخدام في التطوير المستقبلي فقط، إذ لا حاجة لوجود خادم X لتشغيل Xgl.

في مؤتمر XDevConf 2006 (مؤتمر تطوير X لعام 2006)، قدمت NVIDIA عرضًا توضيحيًا جادلت فيه بأن هذا التوجه خاطئ، لأن الخادم متعدد الطبقات يُخفي ميزات البطاقات. وهذا يجعل توفير إمكانيات خاصة ببرامج التشغيل، مثل دعم النظارات ثلاثية الأبعاد ودعم الشاشات المزدوجة، أكثر صعوبة. [ 9 ]

مع ذلك، فإن تفويض عملية التهيئة إلى خادم X موجود يُمكّن المطورين من التركيز مباشرةً على وظائف الخادم بدلاً من تخصيص وقت طويل لتفاصيل التفاعل مع العديد من أجهزة الفيديو. في الوقت الحالي، لا يدعم Xglx رسميًا شاشات متعددة، على الرغم من إمكانية تحقيق ذلك على Ubuntu Dapper / ATI / NVIDIA (العرض المزدوج).

Xegl

كان Xegl هدفًا طويل الأمد لتطوير خادم X. [ 10 ] يتشارك Xegl الكثير من شيفرة الرسم مع خادم Xglx، ولكن تتم معالجة تهيئة كائن OpenGL القابل للرسم وإدارة السياق بواسطة واجهة برمجة تطبيقات EGL التي طورتها شركة Khronos (EGL هي واجهة مستقلة عن نظام النوافذ تُعادل واجهتي برمجة تطبيقات GLX وWGL، اللتين تُمكّنان دعم OpenGL في X وMicrosoft Windows على التوالي). يستخدم التطبيق الحالي Mesa-solo لتوفير عرض OpenGL مباشرةً إلى مخزن إطار Linux أو DRI إلى وحدة معالجة الرسومات. اعتبارًا من مايو 2024لا يمكن تشغيل Xegl إلا باستخدام بطاقة رسومات Radeon R200، وقد توقف تطويره حاليًا. [ 11 ] ومن المرجح أن يبقى الوضع على حاله حتى يثبت خادم Xglx كفاءته، وتضيف برامج التشغيل المغلقة المصدر دعمًا لواجهة برمجة تطبيقات EGL، وعندها سيصبح بديلاً سلسًا لخادم Xglx المدمج.

الأساس المنطقي

قد يُسهم بناء جميع عمليات العرض على منصة OpenGL في تبسيط تطوير برامج تشغيل الفيديو. فهو يُزيل الفصل المصطنع بين تسريع ثنائي الأبعاد وثلاثي الأبعاد . وهذا يُعدّ ميزةً، إذ غالبًا ما تكون العمليات ثنائية الأبعاد غير مُسرّعة (وهو أمرٌ غير بديهي، لأن ثنائي الأبعاد هو جزءٌ من ثلاثي الأبعاد).

كما أنه يزيل جميع التعليمات البرمجية المعتمدة على برنامج التشغيل من خادم X نفسه، ويسمح بعمليات التركيب والعرض المعجلة بشكل مستقل عن برنامج تشغيل الرسومات.

المنافسون

لطالما كان تسريع عمليات الرسم ثنائي الأبعاد باستخدام الأجهزة ميزة شائعة في العديد من أنظمة ويندوز (بما في ذلك X11) لسنوات عديدة. وتكمن حداثة Xgl والأنظمة المشابهة في استخدام واجهات برمجة تطبيقات (APIs) مصممة خصيصًا للرسم ثلاثي الأبعاد لتسريع عمليات سطح المكتب ثنائية الأبعاد. قبل اعتماد الرسم المُنعّم بواسطة X11، كان استخدام واجهات برمجة تطبيقات الرسم ثلاثي الأبعاد للرسم ثنائي الأبعاد على سطح المكتب غير مرغوب فيه، لأن هذه الواجهات لم تكن تضمن دقة العرض على مستوى البكسل التي تُعد جزءًا من تعريف بروتوكول X11 الأصلي.

يُستخدم تسريع OpenGL للنوافذ وسطح المكتب بواسطة الأجهزة، والمقتصر على استخدام OpenGL لتركيب الصور، في نظام التشغيل Mac OS X منذ الإصدار 10.2 ، ضمن تقنية تُسمى Quartz Extreme . يُعد Quartz 2D Extreme تحسينًا لهذه الميزة، وهو أقرب إلى Xgl. وكما هو الحال مع Xgl، يُتيح Quartz 2D Extreme تسريع OpenGL لجميع عمليات الرسم ثنائية الأبعاد (وليس فقط تركيب الصور على سطح المكتب)، وهو مُضمّن في الإصدار 10.4 من Mac OS X ، ولكنه مُعطّل افتراضيًا بانتظار إعلان رسمي عن جاهزيته للاستخدام في الإنتاج. أما Core Animation فهو امتداد لهذا الجهد لنظام Leopard ( Mac OS X 10.5 ).

تم تطوير العديد من واجهات سطح المكتب القائمة على واجهات برمجة التطبيقات ثلاثية الأبعاد، ومؤخراً OpenCroquet ومشروع Looking Glass التابع لشركة Sun Microsystemsتستفيد هذه التقنيات من تسريع ثلاثي الأبعاد للبرامج المبنية ضمن إطار عملها الخاص، ولكن لا يبدو أنها تعمل على تسريع تطبيقات سطح المكتب ثنائية الأبعاد الموجودة التي يتم عرضها داخل بيئتها (غالبًا عبر آليات مثل VNC ).

طوّرت مايكروسوفت تقنية مماثلة تعتمد على DirectX ، تُسمى DWM ، كجزء من نظام التشغيل ويندوز فيستا . وقد عُرضت هذه التقنية لأول مرة علنًا في مؤتمر مايكروسوفت PDC في أكتوبر 2003.

التوافر

اعتبارًا من مايو 2006يأتي خادم Xgl X (ومكوناته ذات الصلة، بما في ذلك مدير تركيب Compiz وأدوات التكوين الرسومية المرتبطة به) كحزمة غير افتراضية في توزيعة لينكس الرئيسية SUSE 10.1، وهو مُضمّن في Frugalware Linux أو SUSE Linux Enterprise Desktop 10. يمكن تثبيت Xgl بسهولة نسبية على Ubuntu 6.06 LTS (Dapper Drake) و6.10 (Edgy Eft) وعلى Freespire باستخدام حزم ثنائية من مستودعات غير رسمية . يتوفر Xgl أيضًا كحزمة مُدمجة في Gentoo Linux ، وكحزمة PKGBUILD في Arch Linux .

يتضمن نظام ماندريفا لينكس 2007 حزمًا رسمية لتشغيل برنامج كومبيز ، باستخدام مكتبتي Xgl و AIGLX . كما يوفر ماندريفا أداة drak3d ، وهي أداة لتكوين سطح مكتب ثلاثي الأبعاد بنقرتين فقط.

يستخدم نظام Ubuntu 6.10 "Edgy Eft" والإصدارات الأحدث AIGLX ، وليس Xgl، بشكل افتراضي.

تمت إزالة Xgl من X11R7.5 في عام 2009 لكونها نسخة خادم غير مدعومة. [ 12 ]

انظر أيضاً

مراجع

  1. هوبف، ماتياس (2006). "ما وراء المؤثرات البصرية: سطح مكتب مُسرّع بتقنية OpenGL باستخدام Xgl وCompiz" . مجلة لينكس . 68 : 24-26 . تاريخ الاسترجاع: 6 فبراير 2017 .
  2. "xorg/xserver - خادم X" . Cgit.freedesktop.org . تم الاطلاع عليه بتاريخ 24 يناير 2022 .
  3. "ALGIX، Nvidia، XGL، وmetacity" . مؤرشف من الأصل في 8 مارس 2006. تم الاطلاع عليه في 24 يناير 2022 .
  4. كارستن هايتزلر (8 يناير 2006). "سؤال: سلوك خادم X / المركب" . Lists.freedesktop.org . تم الاطلاع عليه في 24 يناير 2022 .
  5. "تم نشر كود XGL الخاص بـ Novell [ LWN.net ] " . LWN.net . تم الاطلاع عليه بتاريخ 24 يناير 2022 .
  6. "نوفيل تُصدر كود Xgl للجمهور - سلاش دوت" . Linux.slashdot.org . 8 فبراير 2006. تم الاطلاع عليه بتاريخ 24 يناير 2022 .
  7. "سهولة الاستخدام | سطح مكتب SUSE Linux Enterprise" . xgl.opensuse.org . تم الاطلاع عليه بتاريخ 6 يونيو 2022 .{{cite web}}: CS1 maint: deprecated archiveal service ( link )
  8. "موارد OpenSUSE XGL" . Opensuse.org . تم الاطلاع عليه بتاريخ 24 يناير 2022 .{{cite web}}: CS1 maint: deprecated archiveal service ( link )
  9. "استخدام إطار عمل برنامج التشغيل القابل للتحميل XFree86/X.Org الحالي لتحقيق سطح مكتب X مركب" (ملف PDF) . Download.nvidia.com . تاريخ الاطلاع: 24 يناير 2022 .
  10. سميرل، جون (30 أغسطس 2005). "حالة رسومات لينكس" . تم الاطلاع عليه بتاريخ 18 فبراير 2016 .
  11. "cgit.freedesktop.org http git virtual host" . Gitweb.freedesktop.org .
  12. "7.5" . X.org . تم الاطلاع عليه بتاريخ 24 يناير 2022 .
  • Xegl
  • مواصفات EGL
  • مقال: حالة رسومات لينكس - نظرة عامة على مختلف المناهج لاستبدال خادم X الحالي
  • الفيديو الذي يعرض Compiz على Xgl