Установка драйверов NVIDIA в Arch Linux: Полный гайд

Установка драйверов видеокарты на Arch Linux требует внимательности, так как это дистрибутив с моделью rolling-release, где обновления ядра происходят постоянно. В отличие от других систем, здесь нет единого графического установщика, который сделает всё за вас в один клик, но существует несколько проверенных методов интеграции проприетарного ПО от Nvidia.

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

В зависимости от поколения вашей видеокарты Nvidia (серии 400, 500, 600 или новейших 40-й серии), вам потребуется выбрать между стандартным драйвером, его облегченной версией или открытым драйвером Nouveau, который по умолчанию установлен, но имеет серьезные ограничения в производительности.

Определение модели видеокарты и выбор типа драйвера

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

Для выявления модели используйте утилиту lspci. Введите команду в терминале, и система выдаст список всех подключенных устройств. Найдите строку, содержащую название Video controller или VGA compatible controller. Например, вы можете увидеть NVIDIA Corporation GP104 [GeForce GTX 1080].

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

  • 💻 Новые карты (серии 20, 30, 40): Используйте пакет nvidia для стандартных карт или nvidia-dkms, если вы планируете часто обновлять ядро вручную.
  • 👴 Старые карты (серии 900, 700): Требуется пакет nvidia-470xx, так как поддержка новых версий драйверов для них прекращена.
  • 🚀 Карты с открытым кодом (Geforce RTX 4090 и новее): Можно попробовать экспериментальные открытые драйверы nouveau или специальные сборки от сообщества.

Обратите внимание, что для карт серии MX в ноутбуках часто требуется дополнительная настройка переключения между интегрированной и дискретной графикой. Простая установка драйвера может не решить проблему, если не отключить режим Optimus в BIOS.

⚠️ Внимание: Если у вас ноутбук с гибридной графикой, установка драйвера NVIDIA без настройки переключения может привести к тому, что система будет пытаться использовать дискретную карту для вывода изображения на встроенный дисплей, что вызовет черный экран при загрузке.

Подготовка системы и отключение драйвера Nouveau

По умолчанию в Arch Linux загружается открытый драйвер Nouveau, который блокирует работу проприетарных драйверов. Перед установкой пакетов от Nvidia необходимо «чернить» модуль Nouveau, чтобы система не пыталась его загрузить при запуске. Это делается через конфигурацию загрузчика.

Откройте файл конфигурации modprobe.d с правами суперпользователя. Вам нужно создать новый файл или отредактировать существующий, добавив туда правила блокировки. Без этого шага установка драйвера завершится ошибкой или просто не сработает.

sudo nano /etc/modprobe.d/nvidia-blacklist.conf

В открывшемся редакторе впишите следующие строки, каждая с новой строки. Эти команды запрещают загрузку модулей nouveau и nvidiafb, освобождая место для proprietary driver.

blacklist nouveau

blacklist nvidiafb

options nouveau modeset=0

После сохранения файла необходимо обновить образ initramfs, чтобы изменения вступили в силу до загрузки ядра. Введите команду sudo mkinitcpio -P. Если вы используете systemd-boot или GRUB, этот шаг обязателен для корректной работы нового драйвера.

☑️ Подготовка системы

Выполнено: 0 / 4

Установка проприетарных драйверов и зависимостей

Теперь, когда система готова, можно переходить к установке самого драйвера. В репозитории Arch Linux находятся пакеты, которые автоматически подтягивают все необходимые зависимости. Вам не нужно скачивать установочные файлы с официального сайта NVIDIA вручную, это плохая практика для дистрибутивов с rolling-release моделью.

Выберите пакет, соответствующий вашему железу. Для большинства современных пользователей подойдет стандартный пакет nvidia. Если вы используете ядро из репозитория linux-zen или кастомное ядро, то необходим пакет nvidia-dkms, который будет компилировать модуль ядра при каждом обновлении системы.

Для установки драйвера и утилит управления введите следующую команду в терминале:

sudo pacman -S nvidia nvidia-utils

Параметр nvidia-utils содержит важные библиотеки, такие как OpenGL и инструменты настройки. Без него многие приложения, особенно игры и графические редакторы, не смогут использовать ускорение видеокарты. Также проверьте наличие пакетов libglvnd и egl-wayland при использовании Wayland.

📊 Каким способом вы планируете использовать систему?
Только работа и браузер
Стриминг и игры
Полная замена Windows
Разработка и рендеринг
Разница между пакетами nvidia и nvidia-dkms

Пакет nvidia содержит модуль, скомпилированный под стандартное ядро linux. Пакет nvidia-dkms использует систему DKMS для автоматической перекомпиляции модуля при обновлении ядра. Если вы не используете кастомные ядра, стандартный пакет работает стабильнее и быстрее обновляется через pacman.

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

⚠️ Внимание: Не пытайтесь устанавливать драйверы, скачанные в виде .run файлов с сайта NVIDIA. В среде Arch Linux это практически гарантированно приведет к поломке графического окружения при следующем обновлении ядра через pacman.

Настройка графического сервера X11 и Wayland

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

Для X11 создайте файл конфигурации в директории /etc/X11/xorg.conf.d/. Введите команду для создания файла, например, 20-nvidia.conf, и добавьте туда базовую секцию устройства. Это поможет системе понять, что видеовыход должен управляться драйвером Nvidia, а не встроенной графикой Intel.

sudo nano /etc/X11/xorg.conf.d/20-nvidia.conf

Внутри файла пропишите следующую структуру. Обратите внимание на секции Device и Screen, где указывается драйвер nvidia. Это гарантирует инициализацию карты при старте X-сервера.

Section "Device"

Identifier "Device0"

Driver "nvidia"

VendorName "NVIDIA Corporation"

EndSection

Section "Screen"

Identifier "Screen0"

Device "Device0"

EndSection

Если вы используете Wayland, процедура проще, так как современные драйверы поддерживают его нативно. Однако для старых версий или специфических окружений рабочего стола (например, KDE Plasma) может потребоваться включить поддержку Wayland в настройках дисплея. Убедитесь, что пакет nvidia-drm загружен с параметрами modeset=1.

Компонент Рекомендуемый пакет для X11 Рекомендуемый пакет для Wayland Примечание
Драйвер ядра nvidia nvidia Обязателен для обоих
Библиотеки nvidia-utils nvidia-utils Включает OpenGL/Vulkan
Модуль DRM nvidia-dkms (при кастомном ядре) nvidia-dkms (при кастомном ядре) Для поддержки modeset
Утилиты nvidia-settings nvidia-settings Графическая настройка

Не забудьте перезагрузить компьютер после всех манипуляций с конфигурационными файлами. Если после перезагрузки вы не видите графической оболочки, проверьте логи загрузчика и системные логи в /var/log/Xorg.0.log для поиска ошибок инициализации.

Особенности работы с гибридной графикой (Optimus)

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

Самый простой способ управления в Arch Linux — использование утилит nvidia-prime или bbswitch. Эти инструменты позволяют переключать задачи между картами. Для запуска конкретной игры или программы на мощной карте используется переменная окружения __NV_PRIME_RENDER_OFFLOAD=1.

Пакет prime-run делает этот процесс удобным для пользователя. Вы можете просто добавить переменные в командную строку перед запуском приложения. Например,

__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia glxgears
запустит тест с использованием дискретной карты.

Однако, существуют и более продвинутые решения, такие как optimus-manager или envycontrol, которые позволяют полностью переключать режимы работы системы (только Intel, только Nvidia или гибридный). Это полезно, если вы хотите максимально продлить время работы от батареи или, наоборот, получить максимальную производительность.

Устранение возможных проблем и конфликты версий

Поскольку Arch Linux обновляется ежедневно, иногда возникает ситуация, когда ядро обновилось, а драйвер еще не скомпилирован под новую версию. Это частая проблема в rolling-release дистрибутивах. Решение простое: никогда не пропускайте обновление системы, если оно затрагивает ядро или драйверы.

Если после обновления вы столкнулись с черным экраном, загрузитесь в режиме восстановления или с live-USB. Проверьте, установлены ли модули DKMS. Часто помогает команда sudo pacman -S nvidia-dkms, которая заставит систему перекомпилировать модуль под текущее ядро.

Еще одной распространенной проблемой является конфликт версий libgl. Убедитесь, что у вас не установлены одновременно старые библиотеки OpenGL и новые. Используйте команду pacman -Qs, чтобы проверить наличие дубликатов или конфликтующих пакетов.

⚠️ Внимание: Если вы видите ошибку "Module version mismatch" в логах ядра (dmesg), это означает, что версия драйвера не соответствует версии скомпилированного модуля ядра. Необходимо полностью удалить старый драйвер и установить заново.

Частые вопросы и ответы (FAQ)

Что делать, если экран стал черным после установки драйвера?

Скорее всего, проблема в конфигурации Xorg или неправильном выборе драйвера. Попробуйте загрузиться в терминале (TTY), удалить файл конфигурации /etc/X11/xorg.conf (если он создан вручную) и перезагрузиться. Также проверьте, что параметр nomodeset не установлен в конфигурации загрузчика.

Нужен ли мне драйвер nvidia-dkms для стандартного ядра?

Нет, для стандартного ядра linux достаточно пакета nvidia. Пакет nvidia-dkms нужен только если вы используете кастомные ядра (например, linux-zen, linux-lts или скомпилированные самостоятельно), так как он автоматически пересобирает модуль при обновлении ядра.

Как проверить, что драйвер работает корректно?

Введите команду nvidia-smi в терминале. Если вы видите таблицу с информацией о видеокарте, её температуре, потреблении энергии и версии драйвера, значит, всё установлено правильно. Если команда не найдена или выдает ошибку, драйвер не загружен.

Можно ли использовать драйверы NVIDIA в Wayland?

Да, начиная с драйверов версии 555 и новее, поддержка Wayland стала отличной. Для старых версий требовалось использовать флаги GLX_VENDOR_LIBRARY_NAME. Убедитесь, что ваш дисплейный сервер настроен на использование Wayland, так как X11 по умолчанию может не использовать все возможности новой карты.

Как удалить драйвер NVIDIA полностью?

Используйте команду sudo pacman -Rns nvidia nvidia-utils. После этого обязательно восстановите драйвер Nouveau, удалив файлы из /etc/modprobe.d/ и обновив initramfs, иначе система не запустит видеокарту вообще.