حركة ال إن انتقال X11 إلى Wayland يأخذ اتجاهًا مثيرًا للاهتمام للغاية، نظرًا لأنه في البداية كان هناك عدد قليل من التطبيقات والتوزيعات والبيئات التي نظرت إلى وايلاند كخيار قابل للتطبيق للتطوير المستقبلي، لكنها اليوم لم تعد خيارًا، بل حركة ضرورية.
من جانب NVIDIA، هذه الحركة ليست شيئًا جديدًا، لكن هذا ليس بالأمر السهل بالنسبة لهم أيضًا، منذ ذلك الحين آرون بلاتنر، أحد المطورين الرئيسيين في NVIDIA، عرضت تقييم حالة التوافق بين نفيديا ووايلاند.
هارون يذكر أن التقييم ضروري كما مطلوب الحصول على معلومات حول القيود الحالية مع دعم Wayland، بالإضافة إلى ميزات غير متوقعة بسبب قيود بروتوكول Wayland والخوادم المركبة. تركز المعلومات على الفرع 565 ويسلط الضوء على القيود الفنية لبروتوكول Wayland والمجالات المحددة التي لا تزال فيها برامج تشغيل NVIDIA متخلفة مقارنة بدعمها لـ X11.
في الوقت الراهن، تفتقر برامج تشغيل NVDIA إلى بعض الميزات، مثل إمكانية إخراج ستيريو مع مخازن مؤقتة منفصلة (يسارًا ويمينًا) باستخدام GLX أو EGL أو Vulkan، وضع الفسيفساء SLI الذي يسمح بدمج وحدات معالجة الرسومات المتعددة في وحدة منطقية واحدة للتعامل مع تكوينات العرض الكبيرة، غير مدعوم. بالإضافة إلى ذلك، لا يستطيع مكون NVIDIA حاليًا تقديم نفس المستوى من التخصيص على أنظمة Wayland، حيث لا توجد آلية عالمية لتكوين شاشات العرض بين خوادم مركبة مختلفة.
أيضا هناك مشكلة الميزات التي لا يمكن تنفيذها بشكل موحد عبر جميع الخوادم المركبة بسبب الاختلافات في تصميمها. وهذا يخلق تناقضات تجعل من الصعب تقديم الدعم الكامل.
بلاتنر، يذكر أن التأخير في التنفيذ الكامل لقدرات معينة في Wayland ويرجع ذلك إلى مجموعة من قيود البروتوكول والبنية اللامركزية من الخوادم المركبة. على الرغم من أن Vulkan يقدم بدائل واعدة، إلا أن العديد من التطبيقات والتكوينات المتقدمة التي تعتمد على ميزات محددة للنظام البيئي X11 لا تجد حتى الآن دعمًا مكافئًا في Wayland مع برامج تشغيل NVIDIA.
وعلاوة على ذلك، على الرغم من عدم توفر بعض هذه الإمكانيات مباشرة تحت وايلاند، تسلط NVIDIA الضوء على إمكانية تنفيذها من خلال واجهة برمجة تطبيقات الرسومات Vulkan وامتداداتها. من بين الوظائف التي تم تمكينها من خلال Vulkan، تبرز ما يلي:
- إخراج ستيريو: عبر VK_KHR_multiview مع دعم العرض المتعدد.
- وضع SLI الصريح: تم التنفيذ باستخدام VK_KHR_device_group، مما يسمح بالإدارة المتقدمة لوحدات معالجة الرسومات المتعددة.
- مخزن الإطارات المؤقت ومجموعات المزامنة: تعمل الامتدادات مثل VK_NV_present_barrier على تمكين استخدام Swap Groups وFrame Lock وGenlock، وهي ميزات مهمة للتطبيقات التي تتطلب مزامنة دقيقة بين شاشات العرض المتعددة.
أخيرا ذكر ذلك نفيديا تعمل بنشاط لتحسين توافق برامج التشغيل الخاصة بهم وهذه بعض الوظائف قيد التطوير أو من المقرر تنفيذه في الإصدارات المستقبلية:
- معدل التحديث المتغير (VRR): دعم معدلات التحديث المتغيرة في تكوينات الشاشات المتعددة في Wayland. (مقرر لإصدار برنامج التشغيل التالي).
- دقة الإخراج غير صحيحة: سيتم تعيين المعلمة الافتراضية nvidia-drm fbdev=1، مما يؤدي إلى إصلاح مشكلات الإخراج عند التبديل بين nvidia-drm وsimpledrm.
- ضبط وضع nvidia-drm=1 مما سيسمح بإدارة أكثر كفاءة لخط أنابيب العرض.
- معدد الشاشة: دعم التبديل تلقائيًا إلى وحدة معالجة الرسومات المنفصلة عندما يتطلب تطبيق ملء الشاشة ذلك.
- دعم التزييف والمزج وتغيير البكسل والإعدادات المتقدمة مثل COLOR_ENCODING وCOLOR_RANGE، والتي تتيح إدارة أكثر دقة للجودة المرئية وإعادة إنتاج الألوان.
- المخزن المؤقت لإخراج الشاشة: فهو يسمح بالتخزين المؤقت المزدوج مع Xwayland، مما يحسن الأداء الرسومي ويقلل المشاكل مثل التمزق.
- الدعم في nvidia-drm: ستسمح هذه الآلية بمزامنة إخراج الإطارات مع الشاشة، مما يحسن السلاسة البصرية في Wayland.
- واجهة برمجة تطبيقات VDPAU: تمت إضافة دعم لـ VDPAU في Wayland، مما يتيح تسريع الأجهزة لمهام مثل فك التشفير والتركيب والمعالجة اللاحقة للفيديو.
- تنفيذ دعم vGPU: والتي ستسمح بمشاركة موارد وحدة معالجة الرسومات الفعلية في بيئات المحاكاة الافتراضية، وهي مثالية للأنظمة الاحترافية والسحابية.
- مكتبة egl-x11: دمج أفضل لـ EGL في Xwayland، مما يسمح بدعم أكثر قوة لتطبيقات X11 في Wayland.
إذا كنت مهتم بمعرفة المزيد عنها ، يمكنك التحقق من التفاصيل في الرابط التالي.