Логотип NVIDIA на будівлі
Майкл Ві/Shutterstock.com

Ігри в Linux завжди були дещо складнішими, ніж на Windows (або на ігрових консолях), і однією з причин цього є погана підтримка драйверів Nvidia в Linux. Зараз ситуація змінюється, хоча неясно, наскільки ситуація покращиться.

Nvidia оголосила в середу, що опублікувала свої модулі графічного ядра Linux як програмне забезпечення з відкритим вихідним кодом під подвійною ліцензією GPL/MIT. Іншими словами, тепер кожен може переглядати код Nvidia, а розробники можуть надсилати виправлення та нові функції для покращення драйверів. Canonical (розробники Ubuntu Linux), SUSE та Red Hat (розробники Fedora Linux) схвалювали рішення Nvidia нарешті відкрити свої графічні драйвери для Linux.

Nvidia повідомила у своєму блозі: «У цьому випуску з відкритим вихідним кодом підтримка графічних процесорів GeForce та робочих станцій має альфа-якість. Користувачі GeForce та Workstation можуть використовувати цей драйвер на графічних процесорах NVIDIA Turing і NVIDIA Ampere Architecture для запуску настільних комп’ютерів Linux і використання таких функцій, як кілька дисплеїв, G-SYNC і трасування променів NVIDIA RTX у Vulkan і NVIDIA OptiX».

Чому відкрите джерело має значення

Отже, чому це велика справа? Ну, відеокарти Nvidia ніколи не працювали добре з ПК Linux. Intel і AMD підтримують графічні драйвери з відкритим вихідним кодом для своїх продуктів, які потім можуть бути включені до стандартного ядра Linux. Кінцевий результат полягає в тому, що якщо у вас є ігровий ПК з графічним процесором Radeon або ноутбук з графікою Intel Xe, все працює лише в Linux. Оскільки код доступний для перегляду та зміни будь-кому, графіка Intel і AMD працює краще з новими змінами в екосистемі Linux, як-от новий сервер дисплеїв Wayland .

На відміну від AMD і Intel, Nvidia  не відкривала свої драйвери (раніше). Фірмовий пакет драйверів іноді потрібно встановлювати окремо, і оскільки Nvidia є єдиною, яка має доступ до коду, драйвери не підтримують Wayland та інші новіші функції Linux. Розробники Linux створили драйвер Nouveau з відкритим вихідним кодом як альтернативу, але він зазвичай пропонує гіршу продуктивність, ніж програмне забезпечення Nvidia, оскільки це, по суті, проект зворотної інженерії.

Простіше кажучи, ПК з ОС Linux із відеокартами Nvidia роками змушені були вибирати між двома поганими варіантами: драйвер із закритим кодом із помилками та відсутніми функціями або драйвер із відкритим кодом із гіршою продуктивністю. Теоретично драйвери Nvidia з відкритим кодом повинні бути найкращими з обох світів.

Улови

Це все чудові новини, але є кілька причин, щоб стримати ваше хвилювання. Гектор Мартін, головний розробник Asahi Linux , поділився в серії твітів , що значна частина важливого графічного коду насправді не є відкритим вихідним кодом. Схоже, Nvidia перемістила більшу частину свого власного коду в мікропрограму на своїх відеокартах, з якою взаємодіє код з відкритим вихідним кодом — трохи як Intel Management Engine  на процесорах Intel.

Мартін припустив, що деякий код Nvidia не може бути з відкритим кодом через патентні та ліцензійні угоди, тому цей напівзахід був єдиним способом зробити драйвери з відкритим кодом. Графічні драйвери AMD також використовують деякі власні компоненти мікропрограми, але не так сильно, як Nvidia.

Є й інші проблеми. Драйвер з відкритим вихідним кодом підтримує лише відеокарти, які використовують архітектури Nvidia Ampere і Turing , яка включає серію GeForce 16, RTX 20 і новіші графічні процесори. Будь-хто, хто має карту GTX 10-серії або інше старе обладнання, взагалі не має доступу до нового драйвера.

Нарешті, Nvidia насправді не обробляє оновлення коду, як більшість проектів з відкритим кодом. У розділі поширених запитань в оголошенні сказано, що кожен випуск коду буде «знімком, згенерованим із спільної кодової бази, тому внески можуть не відображатися як окремі коміти Git у репозиторії GitHub». Іншими словами, розробникам за межами Nvidia буде важко відстежувати зміни та діагностувати проблеми.

Попереду довга дорога

Випуск драйвера з відкритим вихідним кодом може розчарувати деяких, особливо для тих, хто все ще використовує старі відеокарти Nvidia, які не підтримуються ( останнім часом було трохи важко купити нову відеокарту ). Однак це важливий крок у правильному напрямку, хоча б тому, що такі компанії, як Canonical і Red Hat, мають можливість вперше покращити код Nvidia .

Nvidia сподівається, що драйвер з відкритим вихідним кодом в кінцевому підсумку можна буде впровадити в ядро ​​Linux, що нарешті може дати ПК з апаратним забезпеченням GeForce той самий підключи і працюй, яким ПК на базі AMD і Intel насолоджувалися роками під Linux.

Джерело: Nvidia , GitHub