مشروع xrdesktop لاستخدام GNOME وKDE في سماعات الواقع الافتراضي

المطورين من Collabora المقدمة مشروع com.xrdesktop، حيث يتم، بدعم من Valve، تطوير مكتبة تحتوي على عناصر للتفاعل مع أجهزة سطح المكتب التقليدية داخل بيئات ثلاثية الأبعاد تم إنشاؤها باستخدام نظارات ثلاثية الأبعاد وخوذات الواقع الافتراضي. كود المكتبة مكتوب بلغة C و وزعت من خلال بموجب ترخيص معهد ماساتشوستس للتكنولوجيا. تركيبات جاهزة معد إلى قوس لينكس и نظام التشغيل Ubuntu 19.04 / 18.04.

حاليًا، لدى Linux بالفعل أدوات للإخراج المباشر إلى سماعات الواقع الافتراضي (امتدادات Vulkan VK_EXT_acquire_xlib_display لـ X11 وVK_EXT_acquire_wl_display لـ Wayland)، ولكن لا يوجد دعم على مستوى العرض الصحيح للنوافذ في مساحة ثلاثية الأبعاد ومزامنة معدل تحديث الشاشة. الهدف من مشروع xrdesktop هو تطوير الأساليب التي تسمح باستخدام الواجهات الكلاسيكية التي تركز على عرض الشاشة ثنائية الأبعاد والتحكم في لوحة المفاتيح والماوس في البيئات الافتراضية.

مشروع xrdesktop لاستخدام GNOME وKDE في سماعات الواقع الافتراضي

تعمل مكونات xrdesktop على توسيع مديري النوافذ والمركبات الحاليين لاستخدام أنظمة وقت تشغيل الواقع الافتراضي لعرض النوافذ وأجهزة سطح المكتب في بيئات افتراضية ثلاثية الأبعاد. يروج xrdesktop لفكرة التكامل في بيئات سطح المكتب الحالية دون الحاجة إلى تشغيل مدير مركب متخصص منفصل والسماح باستخدام التكوينات المخصصة الحالية المستخدمة مع شاشة عادية مع خوذات ثلاثية الأبعاد.

تتضمن بنية المشروع القدرة على التكامل مع أي سطح مكتب، ولكن في المرحلة الحالية من التطوير، يتم تنفيذ مكونات لدعم سماعات الواقع الافتراضي لـ KDE وGNOME. بالنسبة لـ KDE، يتم تنفيذ دعم الخوذات ثلاثية الأبعاد من خلال مكون إضافي يشبه Compiz، ولـ GNOME من خلال مجموعة من التصحيحات لـ GNOME Shell. تعكس هذه المكونات النوافذ الموجودة في البيئة الافتراضية للخوذات ثلاثية الأبعاد في شكل مشهد منفصل أو في وضع التراكب، حيث يمكن تركيب نوافذ سطح المكتب على تطبيقات الواقع الافتراضي الأخرى قيد التشغيل.

بالإضافة إلى محركات العرض، يوفر xrdesktop مكونات لتوفير التنقل والإدخال باستخدام وحدات التحكم المكانية المتخصصة مثل Valve Index وVIVE Wand. يستخدم Xrdesktop المعلومات من وحدات تحكم الواقع الافتراضي لإنشاء أحداث إدخال منتظمة، ومحاكاة استخدام لوحة المفاتيح والماوس.

يتضمن xrdesktop العديد من المكتبات التي تنشئ زخارف النوافذ لوقت تشغيل الواقع الافتراضي باستخدام OpenVR، بالإضافة إلى نظام قائم على واجهة برمجة التطبيقات لعرض سطح مكتب كامل في بيئة ثلاثية الأبعاد. نظرًا لأن xrdesktop لا يوفر مدير النوافذ الخاص به، فإن التكامل مع مديري النوافذ الحاليين مطلوب (يمكن نقل xrdesktop إلى أي مدير نوافذ X3 أو Wayland). على جانب برنامج تشغيل الرسومات، تتطلب العملية برنامج تشغيل يدعم Vulkan API وامتداد VK_KHR_external_memory.

مشروع xrdesktop لاستخدام GNOME وKDE في سماعات الواقع الافتراضي

المكونات الرئيسية لبرنامج xrdesktop:

  • جولكان - ربط سطحي لـ Vulkan، مما يوفر فئات لمعالجة الأجهزة والتظليل وتهيئة الأنسجة من الذاكرة أو مخازن DMA المؤقتة؛
  • GXR — واجهة برمجة التطبيقات (API) لاستخراج واجهات البرامج لتطوير تطبيقات الواقع الافتراضي. حاليًا، يتم دعم OpenVR فقط، ولكن سيتم إضافة دعم لمعيار OpenXR في المستقبل القريب؛
  • com.libinputsynth - مكتبة لتجميع أحداث الإدخال، مثل حركة الماوس والنقرات وضغطات المفاتيح، والتي يتم تنفيذها في شكل واجهات خلفية لـ xdo وxi2 وClutter؛
  • com.xrdesktop — مكتبة لإدارة النوافذ في بيئة ثلاثية الأبعاد، ومجموعة من الأدوات والواجهات الخلفية المصاحبة لعرض المشهد؛
  • kwin-effect-xrdesktop и kdeplasma-applets-xrdesktop - مكون إضافي لـ KWin للتكامل مع KDE وبرنامج بلازما لتحويل KWin إلى وضع الإخراج على خوذة ثلاثية الأبعاد؛
  • مجموعة تصحيح جنوم شل и جنوم-شيل-امتداد-xrdesktop - مجموعة من التصحيحات لـ GNOME Shell لدمج دعم xrdesktop ووظيفة إضافية لتحويل الإخراج إلى خوذة ثلاثية الأبعاد في GNOME Shell.

يدعم المشروع عدة طرق لتنظيم التفاعل مع سطح المكتب والنوافذ في بيئة افتراضية، والتي يمكن استخدامها لالتقاط النوافذ وتغيير حجمها وتحريكها وتدويرها وتراكبها على الكرة وإرساء النوافذ وإخفائها واستخدام قائمة التحكم والتحكم في الوقت نفسه باستخدام يدين باستخدام وحدات تحكم متعددة.

المصدر: opennet.ru

إضافة تعليق