Что такое проприетарные драйверы

Обновлено: 21.11.2024

Пакет x11-drivers/nvidia-drivers содержит собственный графический драйвер для графических карт NVIDIA. Альтернативой с открытым исходным кодом является nouveau.

Этот проприетарный драйвер содержит некоторые функции-оболочки, которые будут компилироваться для ядра Linux, и двоичный двоичный объект, выполняющий тяжелую работу по обмену данными с картой. Драйвер состоит из двух частей: модуля ядра и драйвера X11. Обе части включены в один пакет. Из-за способа упаковки драйверов необходимо сделать некоторые выборы перед установкой драйверов.

Пакет содержит последние версии драйверов от NVIDIA с поддержкой большинства графических карт NVIDIA. Доступно несколько версий в зависимости от возраста карты. Он использует eclass, чтобы определить, какая карта работает в системе, чтобы установить правильную версию.

Содержание

USE-флаги

USE-флаги для x11-drivers/nvidia-drivers Ускоренный графический драйвер NVIDIA

< /tr>
X Добавить поддержку X11
dist-kernel Включить подслот перестраивается при обновлении ядра дистрибутива
драйвер Установка модулей драйвера ядра
постоянно Установите демон сохраняемости для сохранения состояния устройств, когда они не используются
static-libs Также создавайте статические версии динамических библиотек
tools Установите дополнительные инструменты, такие как nvidia-settings
wayland Enable dev- серверная часть libs/wayland

Аппаратная совместимость

Пакет x11-drivers/nvidia-drivers поддерживает ряд доступных карт NVIDIA. Для установки доступно несколько версий, в зависимости от карт, которые есть в системе. См. официальную документацию NVIDIA «Что такое устаревший драйвер?», чтобы узнать, какую версию драйверов x11/nvidia следует использовать. Довольно приличный способ узнать это через интерактивную форму. Введите графическую карту, используемую системой (обратите внимание на параметр «Устаревшие» в поле «Тип продукта»), и форма должна закончиться с наилучшей поддерживаемой версией.

Устаревшее оборудование

Если карта была идентифицирована как устаревшая, замаскируйте более поздние выпуски драйверов x11/nvidia, например:

Обратите внимание, что Gentoo не предоставляет устаревшие драйверы до версии 390.xx. Если в системе есть карта, для которой нужны эти драйверы, рекомендуется использовать драйвер nouveau.

Установка

Ядро

Как упоминалось выше, драйвер ядра NVIDIA устанавливается и работает с текущим ядром. Он собирается как модуль, поэтому ядро ​​должно поддерживать загрузку модулей ядра (см. ниже).

Модуль ядра ( nvidia.ko ) состоит из проприетарной части (известной как «двоичный двоичный объект»), которая управляет графическими чипами, и части с открытым исходным кодом («клей»), которая во время выполнения действует как посредник между проприетарной частью и ядром. Все это должно хорошо работать вместе, так как в противном случае пользователь может столкнуться с потерей данных (из-за паники ядра, сбоев X-серверов с несохраненными данными в X-приложениях) и даже с аппаратным сбоем (перегрев и другие проблемы, связанные с управлением питанием).

Совместимость ядра

Время от времени новый выпуск ядра изменяет внутренний ABI для драйверов, что означает, что все драйверы, использующие эти ABI, должны быть соответствующим образом изменены. Для драйверов с открытым исходным кодом, особенно тех, которые распространяются вместе с ядром, исправить эти изменения почти тривиально, поскольку вся цепочка вызовов между драйверами и другими частями ядра может быть просмотрена довольно легко. Для проприетарных драйверов, таких как nvidia.ko, все работает иначе. Когда меняются внутренние ABI, невозможно просто исправить «клей», потому что никто не знает, как клей используется проприетарной частью. Даже после исправления ошибок, чтобы все работало нормально, пользователь по-прежнему рискует, что запуск nvidia.ko в новом, неподдерживаемом ядре приведет к потере данных и сбою оборудования.

Когда выпускается новая несовместимая версия ядра, возможно, лучше какое-то время использовать новейшее поддерживаемое ядро. NVIDIA обычно требуется несколько недель, чтобы подготовить новый проприетарный релиз, который, по их мнению, подходит для общего использования. Просто будьте терпеливы. Если это абсолютно необходимо, то можно использовать команду epatch_user с ebuild-файлами nvidia-drivers: это позволяет пользователю исправлять nvidia-drivers, чтобы они каким-то образом соответствовали последнему, неподдерживаемому выпуску ядра. Обратите внимание, что ни специалисты по поддержке драйверов nvidia, ни NVIDIA не поддержат эту ситуацию.Гарантия на оборудование, скорее всего, будет аннулирована, специалисты по сопровождению Gentoo не могут начать исправлять проблемы, поскольку это проприетарный драйвер, который может правильно отлаживать только NVIDIA, а сопровождающие ядра (как Gentoo, так и исходные) определенно не будут поддерживать проприетарные драйверы, да и вообще любые " «испорченная» система, в которой случаются проблемы.

Если для настройки ядра использовался genkernel all, то все готово. Если нет, дважды проверьте конфигурацию ядра, чтобы эта поддержка была включена:

Также включите Memory Type Range Register в ядре (включает /proc/mtrr ):

По крайней мере, для некоторых, если не для всех версий драйверов, также может потребоваться включить арбитраж VGA и обработчик сообщений IPMI:

Если в системе есть видеокарта AGP, то при необходимости включите поддержку agpgart для ядра, скомпилированного в виде модуля или в виде модуля. Если встроенный в ядро ​​модуль agpgart не используется, драйверы будут использовать собственную реализацию agpgart, называемую NvAGP. В некоторых системах это работает лучше, чем встроенный в ядро ​​agpgart, а в других хуже. Оцените любой вариант в системе, чтобы получить наилучшую производительность. Если вы не уверены, что делать, используйте agpgart в ядре:

Важно
Для процессоров x86 и AMD64 встроенный в ядро ​​драйвер фреймбуфера конфликтует с двоичным драйвером, предоставленным NVIDIA. При компиляции ядра для этих ЦП полностью удалите поддержку встроенного в ядро ​​драйвера, как показано.

Теперь убедитесь, что драйвер nouveau отключен:

Для рендеринга консоли Linux (TTY) требуется драйвер кадрового буфера, поскольку этот функционал не поддерживается проприетарным драйвером nvidia. Как показано ниже, установите FB Mark VGA/VBE/EFI в качестве универсального системного буфера кадров ( CONFIG_SYSFB_SIMPLEFB=y ), а затем включите драйвер буфера кадров. Обычно для этого используются либо simplefb ( CONFIG_FB_SIMPLE=y ), либо efifb ( CONFIG_FB_EFI=y ).

Важно
Параметр «Пометить VGA/VBE/EFI FB как универсальный системный буфер кадра» перемещен в ядро ​​5.15 с новым именем символа для всех арок. Это может привести к черному экрану или отсутствию прогресса после загрузки загрузчика, если не будут внесены изменения. [1]

Ебилд nvidia-drivers автоматически определяет версию ядра по символической ссылке /usr/src/linux. Пожалуйста, убедитесь, что эта символическая ссылка указывает на правильные источники и что ядро ​​правильно настроено. Подробную информацию о настройке ядра см. в разделе «Настройка ядра» Руководства Gentoo.

Сначала выберите правильный исходный код ядра с помощью eselect . Например, при использовании sys-kernel/gentoo-sources версии 3.7.10 список ядер может выглядеть примерно так:

В приведенном выше выводе обратите внимание, что ядро ​​linux-3.7.10-gentoo помечено звездочкой ( * ), чтобы показать, что это ядро, на которое указывает символическая ссылка.

Если символическая ссылка не указывает на правильные источники, обновите ссылку, выбрав количество нужных источников ядра, как в примере выше.

Плагины ядра GCC

Если плагины GCC ядра включены, компиляция драйверов nvidia будет использовать их. Если версия компилятора, которая использовалась для компиляции подключаемых модулей, не соответствует версии компилятора nvidia-drivers, возникнет ошибка.

Если возникает проблема, перекомпилируйте плагины (в /usr/src/linux ):

Конфигурация

Драйверы

Пришло время установить драйверы. Сначала следуйте Руководству по настройке X Server и установите VIDEO_CARDS="nvidia" в /etc/portage/make.conf. Во время установки X-сервера будет установлена ​​правильная версия x11-drivers/nvidia-drivers.

Примечание
Драйверы можно устанавливать с USE-флагом инструментов. Это установит nvidia-settings , удобный графический инструмент для мониторинга и настройки нескольких аспектов карты NVIDIA.

Важно
Каждый раз при сборке ядра необходимо переустанавливать модули ядра NVIDIA. Простой способ пересобрать модули, установленные ebuild-файлами (например, x11-drivers/nvidia-drivers), — запустить emerge @module-rebuild .

После завершения установки запустите modprobe nvidia, чтобы загрузить модуль ядра в память. Если это обновление, сначала удалите предыдущий модуль.

Чтобы не загружать модуль вручную при каждой загрузке, сделайте это автоматически при каждой загрузке системы, поэтому отредактируйте файл /etc/modules-load.d/video.conf и добавьте в него nvidia.

Подписание модуля ядра (необязательно)

Примечание
Информация в этом разделе не нужна для систем, в которых не реализованы подписанные модули ядра. Не стесняйтесь пропустить это.

Если используется безопасная загрузочная подпись ядра, модули ядра NVIDIA должны быть подписаны перед их загрузкой.

Этого можно добиться с помощью Perl-скрипта, предоставленного ядром, следующим образом.

Начиная с версии драйвера 358.09 был создан новый модуль для настройки режима монитора, и для этой версии драйвера этот модуль также должен быть подписан.

После того, как модули будут подписаны, драйвер загрузится, как и ожидалось, при загрузке. Этот метод подписи модуля можно использовать и для подписи других модулей, а не только драйверов nvidia. Просто измените путь и соответствующий модуль соответствующим образом.

X-сервер

После установки соответствующих драйверов настройте X-сервер на использование драйвера nvidia вместо драйвера nv по умолчанию.

Для ноутбуков со встроенной видеокартой Intel попробуйте конфигурацию XOrg, предложенную на странице NVIDIA/Optimus.

Разрешения

Пользователи, которым требуется доступ к видеокарте, должны быть добавлены в группу видео:

Обратите внимание, что пользователи смогут запускать X без разрешения подсистемы DRI, но ускорение будет отключено.

Включение глобальной поддержки nvidia

Серия GeForce 8 и более поздние графические процессоры поставляются с поддержкой VDPAU, которая заменила поддержку XvMCNVIDIA. См. статью о VDPAU, чтобы включить поддержку VDPAU.

Кроме того, некоторые приложения используют USE-флаг nvidia, поэтому было бы неплохо добавить его в /etc/portage/make.conf .

Затем запустите emerge -uD --newuse @world, чтобы пересобрать приложения, которые выиграли от изменения флага USE.

Использование инструмента настройки nVidia

NVIDIA также предоставляет инструмент настройки. Этот инструмент позволяет пользователю отслеживать и изменять графические настройки без перезапуска X-сервера и доступен через Portage как часть x11-drivers/nvidia-drivers с установленным флагом USE инструментов.

Использование

Тестирование карточки

Чтобы протестировать карту NVIDIA, запустите X и запустите glxinfo, которая является частью пакета x11-apps/mesa-progs. Следует сказать, что прямой рендеринг активирован:

Чтобы отслеживать FPS, запустите glxgears .

Устранение неполадок

Обзор открытых в настоящее время ошибок в пакете x11-drivers/nvidia-drivers можно найти в системе отслеживания ошибок Gentoo: известные ошибки.

Случайные зависания

Зависание может происходить по разным причинам. Убедитесь, что:

  • Все параметры энергосбережения отключены в настройках прошивки системы.
  • Только исходная (из установки) карта опций драйвера, определенная в файле /etc/modprobe.d/nvidia.conf.

Мигающий консольный курсор и USE-флаг совместимости

Если при использовании USE-флага совместимости на nvidia-drivers-430 и новее появляется мигающая консоль вместо X, это может означать ошибку сегментации при запуске xorg.

Ищем segfault:

  1. Загрузитесь с мигающим экраном подсказки.
  2. Переключиться на телетайп Ctrl + Alt + F4.
  3. Закройте диспетчер отображения (в данном примере GDM):
  4. Для OpenRC:

Если во время startx в модуле nvidia возникает ошибка сегментации, пересоберите драйверы nvidia без USE-флага совместимости.

FATAL: modpost: несовместимый с GPL модуль *.ko использует символ только GPL

Когда ebuild жалуется на символ mutex_destroy только под GPL:

Обязательно отключите CONFIG_DEBUG_MUTEXES в файле .config ядра, как это предлагается в этой ветке форума.

Драйвер не инициализируется, когда включены прерывания MSI

Драйвер NVIDIA для Linux по умолчанию использует сигнальные прерывания (MSI). Это обеспечивает преимущества совместимости и масштабируемости, в основном за счет предотвращения совместного использования IRQ. Было замечено, что некоторые системы имеют проблемы с поддержкой MSI, но нормально работают с прерываниями виртуального провода. Эти проблемы проявляются в невозможности запуска X с помощью драйвера NVIDIA или сбоях инициализации CUDA.

Прерывания MSI можно отключить с помощью параметра модуля ядра NVIDIA NVreg_EnableMSI=0 . Это можно установить в командной строке при загрузке модуля или, что более уместно, с помощью файлов конфигурации модуля ядра дистрибутива (например, в /etc/modprobe.d/).

Настройка 2D-ускорения на компьютерах с объемом памяти 4 ГБ и более

Когда NVIDIA 2D-ускорение вызывает проблемы, вероятно, система не может настроить диапазон записи-объединения с помощью MTRR. Для проверки проверьте содержимое /proc/mtrr :

Каждая строка должна содержать обратную запись или объединение записи. Когда появляется строка с некэшируемым, необходимо изменить настройку BIOS, чтобы исправить это.

Перезагрузитесь и войдите в BIOS, затем найдите настройки MTRR (вероятно, в разделе "Настройки ЦП"). Измените настройку с непрерывной на дискретную и снова загрузитесь в Linux. Теперь нет некэшируемой записи, а 2D-ускорение работает без сбоев.

В качестве альтернативы может потребоваться включить поддержку очистки MTRR (CONFIG_MTRR_SANITIZER=Y) в ядре Linux:

Не удалось инициализировать DMA на Ryzen

при попытке загрузить модуль ядра появляется сообщение "нет такого устройства"

Обычно это вызвано одной из следующих проблем:

  1. В системе вообще нет карты NVIDIA. Проверьте выходные данные lspci, чтобы убедиться, что в системе установлена ​​и обнаружена видеокарта NVIDIA.
  2. Текущая установленная версия x11-drivers/nvidia-drivers не поддерживает установленную модель видеокарты. Проверьте файл README в /usr/share/nvidia-drivers-*/ для получения списка поддерживаемых устройств или воспользуйтесь поиском драйверов на http://www.geforce.com/drivers.
  3. Другой драйвер ядра управляет оборудованием. Проверьте lspci -k, чтобы узнать, привязан ли к видеокарте другой драйвер, такой как «nouveau» или «efifb». Если это так, отключите этот драйвер или занесите его в черный список.

Прямой рендеринг не включен

Если прямой рендеринг не работает, это может быть связано с тем, что в ядре включен Диспетчер прямого рендеринга, который конфликтует с драйвером. См. статус прямого рендеринга, следуя инструкциям в разделе «Тестирование карты».

Сначала отключите Direct Rendering Manager ( CONFIG_DRM ) в ядре:

Далее пересоберите x11-drivers/nvidia-drivers, поскольку драйвер мог быть собран с использованием символов DRM ядра. Это должно решить проблему.

Воспроизведение видео тормозит или тормозит

Похоже, что в последнее время при воспроизведении некоторых типов видео с бинарными драйверами NVIDIA возникают проблемы с воспроизведением, что приводит к замедлению воспроизведения видео или значительным рывкам. Эта проблема, по-видимому, возникает при замене Intel CPU Idle вместо обычного метода бездействия ACPI для некоторых CPU.

Отключите метод бездействия ЦП Intel, используя intel_idle.max_cstate=0 в методе загрузки из командной строки ядра, что должно привести к автоматическому возврату ядра к обычному или старому методу бездействия ЦП ACPI. Кроме того, говорят, что помогает отключение функции NVIDIA Powermizer или установка Powermizer на максимальную производительность в настройках nvidia. Хотя метод холостого хода ЦП Intel недавно был представлен в качестве метода холостого хода ЦП по умолчанию для ЦП i5 и i7 (в отличие от использования холостого хода ЦП ACPI), основная причина здесь. Этот метод холостого хода значительно решает проблему, однако при включении деинтерлейсинга возникают минимальные заикания или медленное воспроизведение видео; это когда видео, вероятно, уже деинтерлейсировано (то есть псевдоним mplayer-nodeint с чем-то похожим на mplayer -vo vdpau:deint=0:denoise=0:nochroma-deint:colorspace=0:hqscaling=1, video.mpg как обойти.)

Если в качестве загрузчика используется GRUB, добавьте этот параметр ядра в /etc/default/grub следующим образом:

Не забудьте запустить grub-mkconfig -o /boot/grub/grub.cfg после внесения изменений, чтобы сгенерировать новую конфигурацию (дополнительную информацию см. на странице GRUB2).

После перезагрузки вы можете убедиться, что изменение активно:

Нет выхода HDMI/видео/звука

Эта проблема обычно возникала всякий раз, когда устройство-концентратор HDMI отключалось на некоторое время или компьютер запускался с выключенным устройством-концентратором HDMI.

Сначала найдите идентификатор устройства PCI с помощью lspci.

При возникновении этой проблемы замените идентификатор PCI в следующей команде для повторного сканирования шины PCI:

Это позволяет избежать отключения управления питанием во время выполнения для функции PCI 0, делая эту шину PCI всегда включенной.

Отсутствие вертикальной синхронизации (без вертикальной синхронизации, разрывов) в приложениях OpenGL

Добавление следующего параметра в раздел экрана предотвращает разрыв изображения на GTX 660, 660 Ti и, возможно, на некоторых других графических процессорах (ссылка):

udevd использует 100% ЦП, X-сервер не запускается

Искаженные белые линии при ранней загрузке

Если вы не видите ничего, кроме черного экрана с искаженными белыми линиями сразу после загрузки ядра и initramfs, попробуйте отключить CONFIG_SYSFB_SIMPLEFB и все драйверы устройств фреймбуфера, кроме CONFIG_FB_EFI .

Экспертная конфигурация

Документация

Пакет x11-drivers/nvidia-drivers также поставляется с подробной документацией. Он устанавливается в /usr/share/doc и может быть просмотрен с помощью следующей команды:

Параметры модуля ядра

Модуль ядра nvidia принимает ряд параметров (опций), которые можно использовать для настройки поведения драйвера. Большинство из них упоминаются в документации. Чтобы добавить или изменить значения этих параметров, отредактируйте файл /etc/modprobe.d/nvidia.conf. Не забудьте запустить update-modules после изменения этого файла и не забудьте перезагрузить модуль nvidia, прежде чем новые настройки вступят в силу.

Предупреждение
Обратите пристальное внимание на этот раздел, так как эти параметры ядра могут включать функции, которые могут поддерживаться или не поддерживаться оборудованием. Эти параметры не прощают ошибок, поэтому будьте осторожны с параметрами. Не вносите никаких изменений, не убедившись и дважды не проверив необходимость изменения.

Отредактируйте файл /etc/modprobe.d/nvidia.conf, а затем обновите информацию о модуле:

Выгрузите модуль nvidia.

<р>. и загрузите его еще раз:

Расширенная конфигурация X

Слой GLX также имеет множество параметров, которые можно настроить. Они управляют конфигурацией ТВ-выхода, двойных дисплеев, определением частоты монитора и т. д. Опять же, все доступные параметры подробно описаны в документации.

Извините, кажется, google-fu не очень помогает мне с этим вопросом.

Поставщики оборудования, такие как AMD и Nvidia, продают оборудование, а не программное обеспечение. Так почему же их официальные драйверы не имеют открытого исходного кода, как у Intel? Тот факт, что у нас есть два стека драйверов для каждой видеокарты, кажется абсурдным. Какие препятствия мешают Nvidia и AMD выпустить исходный код своего драйвера?

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

У AMD здесь меньше оправданий, поскольку в наши дни они обычно выпускают довольно обширную документацию по своим графическим процессорам (хотя она не всегда выпускается своевременно). Предположительно причина, по которой они не выпустили код для fglrx под лицензией с открытым исходным кодом, связана с сочетанием высокого уровня усилий по решению юридических вопросов (у них могут быть лицензии только на некоторые части кода, а не право собственности на например, авторские права) и что в долгосрочной перспективе драйвер на основе Mesa/Gallium3D имеет больше смысла для драйвера с открытым исходным кодом.

Возможно, лучший вопрос: почему бы им просто не отказаться от fglrx и не направить эти ресурсы на драйвер с открытым исходным кодом. Я подозреваю, что ответ на этот вопрос заключается в том, что fglrx в значительной степени основан на их драйвере Windows OpenGL, и на самом деле нет никаких выделенных ресурсов для версии Linux. Отказ от fglrx в любом случае может быть желательным в долгосрочной перспективе, но драйвер с открытым исходным кодом на самом деле не является достаточной заменой для всех пользователей в настоящее время (особенно для тех, у кого есть карты Southern/Sea Island).

У Intel никогда не было проприетарного драйвера для Linux, а их драйверы OpenGL для Windows невероятно хромают. Как производитель ЦП, уровень секретности, характерный для крупных производителей графических процессоров, по-видимому, не был в его культуре. Не говоря уже о том, что до недавнего времени их графические процессоры не были даже отдаленно конкурентоспособны. Поэтому у них не было особых причин начинать с проприетарного драйвера Linux.

Как пользователи Linux, мы должны кое-что принять. В Linux абсолютно ужасная поддержка видеокарт. Конечно, всегда были какие-то драйверы, которыми могли воспользоваться пользователи, но по большей части они не самые лучшие.

Достаточно сказать, что драйверы графического процессора в Linux еще нуждаются в некоторой доработке. И это проблема, которую мы видим как с драйверами с открытым исходным кодом, так и с драйверами, которые поставляются непосредственно производителями графических процессоров.

У вас есть графические драйверы с открытым исходным кодом (соответственно для AMD, Intel и Nvidia), и эти драйверы поддерживают практически любую видеокарту. Большинство дистрибутивов Linux настраивают эти типы драйверов прямо при установке системы.

Кроме того, у вас есть проприетарные видеодрайверы. Вы знаете, те, которые поставляются напрямую от компании, которая производит ваши видеокарты. Эти проприетарные драйверы на самом деле ограничены только AMD и Nvidia, поскольку Intel выпускает только те, которые имеют открытый исходный код.

Как совершенно новый пользователь Linux, вы можете спросить себя: "Какой из них вы пользуетесь?"

Почему вам следует рассмотреть возможность использования драйверов GPU с открытым исходным кодом

Драйверы с открытым исходным кодом великолепны. Они работают и делают свою работу довольно хорошо – по большей части. Если все, что вы планируете делать, это легкие видеоигры и обычное использование компьютера, то драйверы графического процессора с открытым исходным кодом работают достаточно хорошо.

Основным преимуществом видеодрайверов с открытым исходным кодом является простота установки. Чтобы установить и запустить такие драйверы, самое большее, что вам нужно сделать, это установить несколько пакетов, и все готово.

Только несколько дистрибутивов Linux позволяют так легко установить текущие версии проприетарных графических драйверов. Чаще всего вам придется использовать инструмент установки драйверов (например, в Ubuntu) или даже следовать умеренно длинной и иногда сложной вики-странице, чтобы установить и запустить драйверы графического процессора с закрытым исходным кодом (например, в Arch Linux).

Новым пользователям это кажется болезненным. Я знаю, что некоторые люди будут утверждать, что «не так уж сложно заставить работать проприетарные», но простой факт заключается в том, что драйверы с открытым исходным кодом просто легче запустить. Это делает их лучше в этом отношении.

Большинство основных дистрибутивов Linux автоматически настраивают драйверы с открытым исходным кодом сразу во время установки. Это очень безболезненный процесс, который, возможно, является лучшим путем для обычных пользователей Linux.

Если единственное, что вы видите при установке Linux, это просмотр веб-страниц, просмотр видео и, возможно, игра в несколько игр здесь или там, но ничего действительно ресурсоемкого или продвинутого, тогда драйверы с открытым исходным кодом идеально подходят. хорошо.

Почему вам следует рассмотреть возможность использования проприетарных драйверов графического процессора

Несмотря на то, что видеодрайверы с открытым исходным кодом очень впечатляют, они никогда не помогут вам получить максимальную отдачу от вашего оборудования, как свежеиспеченный драйвер графического процессора от Nvidia или AMD. Для этого есть причина.

Как бы ни были полезны их бесплатные аналоги, версии с закрытым исходным кодом выигрывают по функциональности. Почему? Разработчики бесплатного программного обеспечения не имеют прямого доступа к графическим процессорам, в отличие от производителей, поэтому их драйверы по своей сути ограничены определенными возможностями.

Если вы геймер, нет никаких сомнений в том, какие драйверы лучше всего выбрать. С проприетарными драйверами графического процессора в вашей системе вы легко сможете играть в ресурсоемкие видеоигры.

Драйверы с закрытым исходным кодом — это не только хороший выбор для геймеров, но и в целом отличный способ использовать другие графически интенсивные вещи. Вы моделируете вещи в Blender? Вы видеоредактор? Вы любите два монитора? Если это так, то вы поступаете правильно, выбирая несвободные драйверы. Они будут работать намного лучше для того, что вы хотите сделать.

Однако, если вы не из тех пользователей, которые делают что-то интенсивное с визуальными эффектами и действительно не слишком заботятся о том, чтобы получить дополнительный импульс от вашей видеокарты, просто придерживайтесь драйверов с открытым исходным кодом. Это намного проще и дает примерно тот же результат.

Заключение

Я считаю, что как закрытые, так и открытые драйверы графических процессоров в Linux служат своим собственным уникальным целям. Проприетарные отлично подходят для тех, кто хочет получить максимальную отдачу от своих машин. Программы с открытым исходным кодом отлично подходят для случайных пользователей, которые, вероятно, никогда не будут делать что-то невероятно сложное в визуальном плане и просто хотят, чтобы все делалось как можно проще. В конце концов, у каждого из них есть свои недостатки и преимущества.

У меня пожилой ноутбук с графическим чипом GeForce 9300M. Я не играю на нем, но мне нужен плавный рабочий стол с Unity. В частности, в моей ситуации драйверы с открытым исходным кодом лучше, чем проприетарные драйверы Nvidia? Или единственная причина существования драйверов с открытым исходным кодом — это открытый исходный код? Я также пишу приложения OpenCL. Могу ли я использовать свои потоковые процессоры GeForce для OpenCL с драйверами с открытым исходным кодом?

Обновление: под улучшением я подразумеваю надежность, энергоэффективность и производительность на рабочем столе, при вычислениях на графическом процессоре, а также из любопытства в играх.

Это сложный вопрос, поскольку он требует мнений, а не прямых фактов. Я использую драйверы с открытым исходным кодом, хотя и не от Canonical, и считаю их вполне надежными. Я считаю, что проприетарные драйверы могут быть быстрее и эффективнее, но я видел несколько вопросов, связанных с тем, что проприетарные драйверы ломаются во время обновления.

Я обновил вопрос, чтобы он больше не воспринимался как вопрос мнения. Не стесняйтесь редактировать его, если считаете, что его можно улучшить.

Одно предостережение после прочтения нескольких ответов ниже. Перед установкой убедитесь, что вы знаете, как удалить проприетарные драйверы. Иногда они не работают на некоторых системах.

2 ответа 2

Большинство драйверов с открытым исходным кодом, которые вы найдете, могут обеспечивать лучший графический вывод, чем проприетарные. Иногда вы даже не заметите разницы. А иногда драйвер с открытым исходным кодом работает намного хуже, чем проприетарный. Я не буду давать общих рекомендаций по использованию, но вот некоторые случаи, в которых одни драйверы лучше других:

  • Если у вас есть карта nVidia с Optimus, вы должны установить драйвер с открытым исходным кодом из проекта Bumblebee.Это единственный драйвер, поддерживающий Optimus в Linux. вам следует либо установить драйвер с открытым исходным кодом из проекта Bumblebee, либо любой проприетарный драйвер nVidia, но не драйвер Xorg, так как в настоящее время он не поддерживает дискретную графику.< /li>
  • Если вы хотите использовать CUDA (материал nVidia для выполнения функций на графическом процессоре), вам следует использовать проприетарный драйвер.
  • Если вы хотите использовать OpenCL (что-то вроде CUDA, разработанного Khronos), вам необходимо использовать проприетарный драйвер.

Если ничего из перечисленного к вам не относится, вам решать, какой драйвер использовать. Если у вас нет проблем с текущим драйвером, я бы не стал его менять. Вы никогда не знаете, будет ли вообще работать другой. Однако, если вы хотите рискнуть, попробуйте драйверы, предложенные в разделе Программное обеспечение и обновленияДополнительные драйверы, и выясните, какой из них работает лучше всего.

Читайте также: