Driver video sumber terbuka NVIDIA untuk kernel Linux

NVIDIA telah mengumumkan bahwa semua modul kernel yang disertakan dalam rangkaian driver video miliknya adalah sumber terbuka. Kode ini terbuka di bawah lisensi MIT dan GPLv2. Kemampuan untuk membangun modul disediakan untuk arsitektur x86_64 dan aarch64 pada sistem dengan kernel Linux 3.10 dan rilis yang lebih baru. Firmware dan pustaka yang digunakan di ruang pengguna, seperti tumpukan CUDA, OpenGL, dan Vulkan, tetap merupakan hak milik.

Publikasi kode ini diharapkan akan menghasilkan peningkatan yang signifikan dalam kegunaan GPU NVIDIA pada sistem Linux, memperkuat integrasi dengan sistem operasi, dan menyederhanakan pengiriman driver dan debugging masalah. Pengembang Ubuntu dan SUSE telah mengumumkan pembentukan paket berdasarkan modul terbuka. Kehadiran modul terbuka juga akan menyederhanakan integrasi driver NVIDIA dengan sistem yang berbasis pada kernel Linux custom build non-standar. Bagi NVIDIA, open source akan membantu meningkatkan kualitas dan keamanan driver Linux melalui interaksi yang lebih dekat dengan komunitas dan kemungkinan peninjauan perubahan oleh pihak ketiga dan audit independen.

Perlu dicatat bahwa basis kode terbuka yang disajikan secara bersamaan digunakan dalam pembentukan driver berpemilik, khususnya, digunakan di cabang beta 515.43.04 yang diterbitkan hari ini. Dalam hal ini, yang utama adalah repositori tertutup, dan basis kode terbuka yang diusulkan akan diperbarui untuk setiap rilis driver berpemilik dalam bentuk cetakan setelah pemrosesan dan pembersihan tertentu. Riwayat perubahan individual tidak disediakan, hanya komit umum untuk setiap versi driver (saat ini kode modul untuk driver 515.43.04 diterbitkan).

Namun, anggota komunitas diberi kesempatan untuk mengirimkan permintaan tarik untuk mendorong perbaikan dan perubahan mereka pada kode modul, namun perubahan ini tidak akan tercermin sebagai perubahan terpisah di repositori publik, namun akan diintegrasikan terlebih dahulu ke dalam repositori pribadi utama. dan baru kemudian ditransfer dengan perubahan lainnya menjadi terbuka. Untuk berpartisipasi dalam pengembangan, Anda harus menandatangani perjanjian pengalihan hak milik atas kode yang ditransfer ke NVIDIA (Perjanjian Lisensi Kontributor).

Kode modul kernel dibagi menjadi dua bagian: komponen umum yang tidak terikat dengan sistem operasi dan lapisan untuk interaksi dengan kernel Linux. Untuk mengurangi waktu instalasi, komponen umum masih disertakan dalam driver NVIDIA berpemilik dalam bentuk file biner yang sudah dirakit, dan lapisan tersebut dirakit pada setiap sistem, dengan mempertimbangkan versi kernel saat ini dan pengaturan yang ada. Modul kernel berikut ditawarkan: nvidia.ko, nvidia-drm.ko (Direct Rendering Manager), nvidia-modeset.ko dan nvidia-uvm.ko (Unified Video Memory).

Dukungan GPU seri GeForce dan workstation terdaftar sebagai kualitas alfa, tetapi GPU khusus berdasarkan arsitektur NVIDIA Turing dan NVIDIA Ampere yang digunakan dalam arsitektur akselerasi komputasi pusat data dan komputasi paralel (CUDA) didukung sepenuhnya dan diuji sepenuhnya. proyek (open source sudah siap menggantikan driver berpemilik). Stabilisasi dukungan GeForce dan GPU untuk workstation direncanakan untuk rilis mendatang. Pada akhirnya, tingkat stabilitas basis kode sumber terbuka akan dibawa ke tingkat driver berpemilik.

Dalam bentuknya yang sekarang, penyertaan modul yang diterbitkan ke dalam kernel utama tidak mungkin dilakukan, karena modul tersebut tidak mematuhi persyaratan gaya pengkodean kernel dan konvensi arsitektur, tetapi NVIDIA bermaksud untuk bekerja sama dengan Canonical, Red Hat, dan SUSE untuk mengatasi masalah ini dan menstabilkan antarmuka perangkat lunak driver. Selain itu, kode yang diterbitkan dapat digunakan untuk meningkatkan driver Nouveau sumber terbuka yang disertakan dalam kernel, yang menggunakan firmware GPU yang sama dengan driver berpemilik.

Sumber: opennet.ru

Tambah komentar