NVK، برنامج تشغيل مفتوح لبطاقات الرسومات NVIDIA، يدعم Vulkan 1.0

لقد اعترف اتحاد Khronos، الذي يقوم بتطوير معايير الرسومات، بالتوافق الكامل لبرنامج تشغيل NVK المفتوح لبطاقات الفيديو NVIDIA مع مواصفات Vulkan 1.0. لقد نجح السائق في اجتياز جميع اختبارات CTS (Kronos Conformance Test Suite) وتم إدراجه في قائمة برامج التشغيل المعتمدة. تم الانتهاء من اعتماد وحدات معالجة الرسومات NVIDIA المستندة إلى بنية Turing الدقيقة (TITAN RTX وGeForce RTX 2060/2070/2080 وGeForce GTX 1660 وQuadro RTX 3000-8000 وQuadro T1000/T2000). تم إجراء الاختبار في بيئة تحتوي على Linux kernel 6.5 وX.Org X Server 1.20.14 وXWayland 22.1.9 وGNOME Shell 44.4. يتيح لك الحصول على الشهادة الإعلان رسميًا عن التوافق مع معايير الرسومات واستخدام العلامات التجارية المرتبطة بـ Khronos.

تم إنشاء برنامج تشغيل NVK من الصفر بواسطة فريق يضم Karol Herbst (مطور Nouveau في Red Hat)، وDavid Airlie (مشرف DRM في Red Hat)، وJason Ekstrand (مطور Mesa النشط في Collabora). عند إنشاء برنامج التشغيل، استخدم المطورون ملفات الرأس الرسمية ووحدات kernel المفتوحة التي نشرتها NVIDIA. استخدم كود NVK بعض المكونات الأساسية لبرنامج تشغيل Nouveau OpenGL في بعض الأماكن، ولكن نظرًا للاختلافات في الأسماء في ملفات رأس NVIDIA والأسماء ذات الهندسة العكسية في Nouveau، فإن الاستعارة المباشرة للكود صعبة وفي أغلب الأحيان كان لا بد من إعادة التفكير في العديد من الأشياء وتنفيذها من الصفر.

تم تنفيذ التطوير بهدف إنشاء برنامج تشغيل Vulkan مرجعي جديد لـ Mesa، والذي يمكن استعارة الكود الخاص به عند إنشاء برامج تشغيل أخرى. للقيام بذلك، عند العمل على برنامج تشغيل NVK، حاولوا مراعاة جميع الخبرات الموجودة في تطوير برامج تشغيل Vulkan، والحفاظ على قاعدة التعليمات البرمجية بالشكل الأمثل وتقليل نقل التعليمات البرمجية من برامج تشغيل Vulkan الأخرى، والقيام بما ينبغي أن يكون من أجل العمل الأمثل وعالي الجودة، وعدم نسخ ما يتم القيام به في برامج التشغيل الأخرى بشكل أعمى. تم تضمين برنامج التشغيل بالفعل في Mesa، وتم تضمين التغييرات الضرورية على واجهة برمجة تطبيقات برنامج تشغيل Nouveau DRM في Linux 6.6 kernel.

ومن بين التغييرات في الإعلان، تشير ميسا أيضًا إلى اعتماد مترجم خلفي جديد لـ NVK، مكتوب بلغة Rust وحل المشكلات في المترجم القديم الذي كان يتداخل مع مرور نصوص كرونوس، بالإضافة إلى إزالة بعض القيود الأساسية في الإعلان. الهندسة المعمارية التي لا يمكن تصحيحها دون إعادة صياغة كاملة للمترجم القديم. من بين الخطط المستقبلية، تم ذكر إضافة دعم GPU استنادًا إلى بنية Maxwell الدقيقة وتنفيذ الدعم الكامل لـ Vulkan 1.3 API في الواجهة الخلفية الجديدة.

المصدر: opennet.ru

إضافة تعليق