برامج تشغيل فيديو NVIDIA مفتوحة المصدر لنواة Linux

أعلنت NVIDIA أن جميع وحدات kernel المضمنة في مجموعة برامج تشغيل الفيديو الخاصة بها هي مفتوحة المصدر. الكود مفتوح بموجب تراخيص MIT وGPLv2. يتم توفير القدرة على بناء الوحدات النمطية لمعماريات x86_64 وaarch64 على الأنظمة التي تعمل بنظام Linux kernel 3.10 والإصدارات الأحدث. تظل البرامج الثابتة والمكتبات المستخدمة في مساحة المستخدم، مثل مكدسات CUDA وOpenGL وVulkan، مملوكة.

ومن المتوقع أن يؤدي نشر الكود إلى تحسين كبير في سهولة استخدام وحدات معالجة الرسومات NVIDIA على أنظمة Linux، وتعزيز التكامل مع نظام التشغيل، وتبسيط عملية تسليم برامج التشغيل وتصحيح الأخطاء. لقد أعلن مطورو Ubuntu وSUSE بالفعل عن تشكيل حزم تعتمد على وحدات مفتوحة. سيؤدي وجود الوحدات المفتوحة أيضًا إلى تبسيط تكامل برامج تشغيل NVIDIA مع الأنظمة المستندة إلى تصميمات مخصصة غير قياسية لنواة Linux. بالنسبة لـ NVIDIA، سيساعد المصدر المفتوح على تحسين جودة وأمان برامج تشغيل Linux من خلال التفاعل الوثيق مع المجتمع وإمكانية مراجعة التغييرات من طرف ثالث والتدقيق المستقل.

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

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

ينقسم كود وحدات kernel إلى جزأين: مكونات عامة غير مرتبطة بنظام التشغيل وطبقة للتفاعل مع Linux kernel. لتقليل وقت التثبيت، لا يزال يتم توفير المكونات المشتركة في برامج تشغيل NVIDIA الخاصة في شكل ملف ثنائي تم تجميعه بالفعل، ويتم تجميع الطبقة على كل نظام، مع مراعاة إصدار kernel الحالي والإعدادات الموجودة. يتم تقديم وحدات kernel التالية: nvidia.ko، وnvidia-drm.ko (مدير العرض المباشر)، وnvidia-modeset.ko، وnvidia-uvm.ko (ذاكرة الفيديو الموحدة).

يتم إدراج دعم وحدة معالجة الرسومات لسلسلة GeForce ومحطة العمل كجودة ألفا، ولكن وحدات معالجة الرسومات المخصصة المستندة إلى معماريات NVIDIA Turing وNVIDIA Ampere المستخدمة في معماريات تسريع حوسبة مراكز البيانات والحوسبة المتوازية (CUDA) مدعومة بالكامل وتم اختبارها بالكامل، وهي مناسبة للاستخدام في الإنتاج. المشاريع (المصدر المفتوح جاهز بالفعل لاستبدال برامج التشغيل الخاصة). تم التخطيط لتثبيت دعم GeForce وGPU لمحطات العمل في الإصدارات المستقبلية. في نهاية المطاف، سيتم رفع مستوى استقرار قاعدة التعليمات البرمجية مفتوحة المصدر إلى مستوى برامج التشغيل الخاصة.

في شكله الحالي، يعد تضمين الوحدات المنشورة في النواة الرئيسية أمرًا مستحيلًا، نظرًا لأنها لا تتوافق مع متطلبات أسلوب ترميز kernel والاتفاقيات المعمارية، لكن NVIDIA تعتزم العمل مع Canonical وRed Hat وSUSE لحل هذه المشكلة و استقرار واجهات برنامج التشغيل. بالإضافة إلى ذلك، يمكن استخدام التعليمات البرمجية المنشورة لتحسين برنامج التشغيل Nouveau مفتوح المصدر المضمن في kernel، والذي يستخدم نفس البرنامج الثابت لوحدة معالجة الرسومات مثل برنامج التشغيل الخاص.

المصدر: opennet.ru

إضافة تعليق