Поиск по сайту:

Nvidia выпускает драйверы графического процессора Linux с открытым исходным кодом с уловом


Игры в Linux всегда были немного сложнее, чем в Windows (или игровых консолях), и одной из причин этого является плохая поддержка драйверов Nvidia в Linux. Сейчас ситуация меняется, хотя неясно, насколько ситуация улучшится.

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

Nvidia сообщила в своем блоге: «В этом выпуске с открытым исходным кодом поддержка графических процессоров GeForce и рабочих станций находится в альфа-качестве. Пользователи GeForce и рабочих станций могут использовать этот драйвер на графических процессорах архитектуры NVIDIA Turing и NVIDIA Ampere для запуска настольных компьютеров 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 такие же возможности plug-and-play, как и ПК на базе AMD и Intel в течение многих лет под Linux.

Источник: Nvidia, GitHub