درایورهای ویدیوی منبع باز NVIDIA برای هسته لینوکس

NVIDIA اعلام کرده است که تمام ماژول‌های هسته موجود در مجموعه درایورهای ویدئویی اختصاصی آن منبع باز هستند. کد تحت مجوز MIT و GPLv2 باز است. قابلیت ساخت ماژول برای معماری های x86_64 و aarch64 در سیستم هایی با هسته لینوکس 3.10 و نسخه های جدیدتر ارائه شده است. سفت‌افزار و کتابخانه‌های مورد استفاده در فضای کاربر، مانند پشته‌های CUDA، OpenGL و Vulkan، اختصاصی باقی می‌مانند.

انتظار می رود انتشار کد منجر به افزایش قابل توجه قابلیت استفاده از پردازنده های گرافیکی NVIDIA در سیستم های لینوکس، تقویت یکپارچگی با سیستم عامل و ساده سازی تحویل درایورها و اشکال زدایی مشکلات شود. توسعه دهندگان اوبونتو و SUSE قبلاً از تشکیل بسته هایی بر اساس ماژول های باز خبر داده اند. وجود ماژول های باز همچنین ادغام درایورهای NVIDIA با سیستم های مبتنی بر ساخت های سفارشی غیر استاندارد هسته لینوکس را ساده می کند. برای NVIDIA، منبع باز به بهبود کیفیت و امنیت درایورهای لینوکس از طریق تعامل نزدیکتر با جامعه و امکان بررسی شخص ثالث تغییرات و ممیزی مستقل کمک خواهد کرد.

خاطرنشان می شود که پایه کد باز ارائه شده به طور همزمان در تشکیل درایورهای اختصاصی استفاده می شود، به ویژه، از آن در شاخه بتا 515.43.04 که امروز منتشر شد استفاده می شود. در این حالت، نسخه اولیه یک مخزن بسته است و پایه کد باز پیشنهادی برای هر نسخه از درایورهای اختصاصی در قالب یک بازیگر پس از پردازش و تمیز کردن خاص به روز می شود. تاریخچه تغییرات فردی ارائه نشده است، فقط یک تعهد کلی برای هر نسخه از درایور ارائه شده است (در حال حاضر کد ماژول ها برای درایور 515.43.04 منتشر شده است).

با این حال، به اعضای انجمن این فرصت داده می شود تا درخواست های کششی ارسال کنند تا اصلاحات و تغییرات خود را در کد ماژول اعمال کنند، اما این تغییرات به عنوان تغییرات جداگانه در مخزن عمومی منعکس نمی شود، بلکه ابتدا در مخزن خصوصی اصلی ادغام می شود. و تنها پس از آن با بقیه تغییر به باز کردن منتقل می شود. برای شرکت در توسعه، باید توافق نامه ای را در مورد انتقال حقوق مالکیت به کد منتقل شده به NVIDIA (قرارداد مجوز مشارکت) امضا کنید.

کد ماژول های کرنل به دو بخش تقسیم می شود: اجزای عمومی که به سیستم عامل متصل نیستند و یک لایه برای تعامل با هسته لینوکس. برای کاهش زمان نصب، اجزای متداول همچنان در درایورهای اختصاصی NVIDIA در قالب یک فایل باینری از قبل مونتاژ شده عرضه می شوند و لایه بر روی هر سیستم با در نظر گرفتن نسخه هسته فعلی و تنظیمات موجود مونتاژ می شود. ماژول‌های هسته زیر ارائه می‌شوند: nvidia.ko، nvidia-drm.ko (مدیر رندر مستقیم)، nvidia-modeset.ko و nvidia-uvm.ko (حافظه ویدیویی یکپارچه).

پشتیبانی از پردازنده‌های گرافیکی سری GeForce و ایستگاه کاری به عنوان کیفیت آلفا فهرست شده‌اند، اما پردازنده‌های گرافیکی اختصاصی مبتنی بر معماری‌های NVIDIA Turing و NVIDIA Ampere که در معماری‌های شتاب محاسباتی مرکز داده و محاسبات موازی (CUDA) استفاده می‌شوند، کاملاً پشتیبانی می‌شوند و کاملاً آزمایش شده‌اند. و برای استفاده در تولید مناسب هستند. پروژه ها (متن باز در حال حاضر آماده جایگزینی درایورهای اختصاصی است). تثبیت پشتیبانی GeForce و GPU برای ایستگاه های کاری برای نسخه های آینده برنامه ریزی شده است. در نهایت، سطح پایداری پایه کد منبع باز به سطح درایورهای اختصاصی خواهد رسید.

در شکل فعلی خود، گنجاندن ماژول های منتشر شده در هسته اصلی غیرممکن است، زیرا آنها با الزامات سبک کدنویسی هسته و قراردادهای معماری مطابقت ندارند، اما NVIDIA قصد دارد با Canonical، Red Hat و SUSE برای حل این مشکل همکاری کند. رابط های نرم افزاری درایور را تثبیت کنید. علاوه بر این، کد منتشر شده را می توان برای بهبود درایور منبع باز Nouveau موجود در هسته استفاده کرد که از همان سیستم عامل GPU به عنوان درایور اختصاصی استفاده می کند.

منبع: opennet.ru

اضافه کردن نظر