Pemacu video sumber terbuka NVIDIA untuk kernel Linux

NVIDIA telah mengumumkan bahawa semua modul kernel yang disertakan dalam set pemacu video proprietarinya adalah sumber terbuka. Kod ini dibuka di bawah lesen MIT dan GPLv2. Keupayaan untuk membina modul disediakan untuk seni bina x86_64 dan aarch64 pada sistem dengan kernel Linux 3.10 dan keluaran yang lebih baharu. Perisian tegar dan pustaka yang digunakan dalam ruang pengguna, seperti CUDA, OpenGL dan tindanan Vulkan, kekal proprietari.

Penerbitan kod itu dijangka akan membawa kepada peningkatan ketara dalam kebolehgunaan GPU NVIDIA pada sistem Linux, mengukuhkan penyepaduan dengan sistem pengendalian, dan memudahkan penghantaran pemacu dan penyahpepijatan masalah. Pembangun Ubuntu dan SUSE telah pun mengumumkan pembentukan pakej berdasarkan modul terbuka. Kehadiran modul terbuka juga akan memudahkan penyepaduan pemacu NVIDIA dengan sistem berdasarkan binaan tersuai bukan standard bagi kernel Linux. Untuk NVIDIA, sumber terbuka akan membantu meningkatkan kualiti dan keselamatan pemacu Linux melalui interaksi yang lebih rapat dengan komuniti dan kemungkinan semakan pihak ketiga terhadap perubahan dan pengauditan bebas.

Adalah diperhatikan bahawa asas kod terbuka yang dibentangkan digunakan secara serentak dalam pembentukan pemacu proprietari, khususnya, ia digunakan dalam cawangan beta 515.43.04 yang diterbitkan hari ini. Dalam kes ini, yang utama ialah repositori tertutup, dan pangkalan kod terbuka yang dicadangkan akan dikemas kini untuk setiap keluaran pemacu proprietari dalam bentuk cast selepas pemprosesan dan pembersihan tertentu. Sejarah perubahan individu tidak disediakan, hanya komit umum untuk setiap versi pemacu (pada masa ini kod modul untuk pemacu 515.43.04 diterbitkan).

Walau bagaimanapun, ahli komuniti diberi peluang untuk menyerahkan permintaan tarik untuk menolak pembetulan dan perubahan mereka kepada kod modul, tetapi perubahan ini tidak akan ditunjukkan sebagai perubahan berasingan dalam repositori awam, tetapi akan disepadukan terlebih dahulu ke dalam repositori peribadi utama dan hanya kemudian dipindahkan dengan selebihnya berubah untuk dibuka. Untuk mengambil bahagian dalam pembangunan, anda mesti menandatangani perjanjian mengenai pemindahan hak harta kepada kod yang dipindahkan ke NVIDIA (Perjanjian Lesen Penyumbang).

Kod modul kernel dibahagikan kepada dua bahagian: komponen umum yang tidak terikat pada sistem pengendalian dan lapisan untuk interaksi dengan kernel Linux. Untuk mengurangkan masa pemasangan, komponen biasa masih dibekalkan dalam pemacu NVIDIA proprietari dalam bentuk fail binari yang telah dipasang, dan lapisan itu dipasang pada setiap sistem, dengan mengambil kira versi kernel semasa dan tetapan sedia ada. Modul kernel berikut ditawarkan: nvidia.ko, nvidia-drm.ko (Pengurus Rendering Langsung), nvidia-modeset.ko dan nvidia-uvm.ko (Memori Video Disatukan).

Sokongan GPU siri GeForce dan stesen kerja disenaraikan sebagai kualiti alfa, tetapi GPU khusus berdasarkan seni bina NVIDIA Turing dan NVIDIA Ampere yang digunakan dalam seni bina pecutan pengkomputeran pusat data dan pengkomputeran selari (CUDA) disokong sepenuhnya dan diuji sepenuhnya. dan sesuai untuk digunakan dalam pengeluaran projek (sumber terbuka sudah sedia untuk menggantikan pemacu proprietari). Penstabilan sokongan GeForce dan GPU untuk stesen kerja dirancang untuk keluaran masa hadapan. Akhirnya, tahap kestabilan asas kod sumber terbuka akan dibawa ke tahap pemacu proprietari.

Dalam bentuk semasa, kemasukan modul yang diterbitkan dalam kernel utama adalah mustahil, kerana ia tidak mematuhi keperluan gaya pengekodan kernel dan konvensyen seni bina, tetapi NVIDIA berhasrat untuk bekerjasama dengan Canonical, Red Hat dan SUSE untuk menyelesaikan isu ini dan menstabilkan antara muka perisian pemacu. Selain itu, kod yang diterbitkan boleh digunakan untuk menambah baik pemacu Nouveau sumber terbuka yang disertakan dalam kernel, yang menggunakan perisian tegar GPU yang sama seperti pemacu proprietari.

Sumber: opennet.ru

Tambah komen