Как настроить видеокарту на Linux: от драйверов до разгона

Настройка видеокарты в Linux — задача, которая пугает многих пользователей, переходящих с Windows. Действительно, здесь нет универсального "Центра управления NVIDIA" или "Adrenalin Edition" от AMD, но гибкость Linux-систем компенсирует это с лихвой. Главное — понимать, что 90% проблем с видеокартами в Linux решаются правильными драйверами, а не "волшебными" твиками в конфигурационных файлах.

В этой статье мы разберём весь процесс: от определения модели GPU до тонкой настройки производительности для игр, рендеринга или майнинга. Особое внимание уделим NVIDIA, AMD и Intel Arc — трём основным игрокам на рынке дискретных видеокарт. Вы узнаете, как избежать распространённых ошибок (например, "чёрного экрана" после установки проприетарных драйверов), какие инструменты использовать для мониторинга температуры и как безопасно разогнать GPU без риска сжечь его.

Важно: если вы используете ноутбук с гибридной графикой (например, NVIDIA Optimus), часть инструкций потребует адаптации. Для таких случаев мы выделили отдельный раздел с нюансами настройки.

1. Определение модели видеокарты и текущих драйверов

Прежде чем что-то настраивать, нужно понять, с каким "железом" вы работаете. В Linux это делается через терминал — никаких дополнительных утилит устанавливать не нужно.

Откройте терминал (Ctrl+Alt+T) и выполните команду:

lspci -k | grep -A 3 -E "(VGA|3D)"

В выводе вы увидите:

  • 🔹 Модель GPU (например, NVIDIA GA104 [GeForce RTX 3070] или AMD Radeon RX 6800 XT)
  • 🔹 Текущий драйвер (модуль ядра, например nouveau, amdgpu или nvidia)
  • 🔹 Версию ядра (если в выводе есть строка с Kernel driver in use)

Если команда не показала драйвер, попробуйте альтернативный вариант:

glxinfo | grep "OpenGL renderer"

Эта команда выведет текущий рендерер OpenGL, что поможет понять, какой драйвер активен (например, llvmpipe означает, что используется программный рендеринг — это плохо!).

⚠️ Внимание: Если в выводе lspci вы видите Kernel modules: nvidiafb, nouveau, это значит, что проприетарный драйвер NVIDIA конфликтует с открытым nouveau. Перед установкой нового драйвера обязательно добавьте nouveau в чёрный список (инструкция ниже).
📊 Какую видеокарту вы используете в Linux?
NVIDIA
AMD
Intel Arc
Встроенная графика Intel/AMD
Не знаю

2. Установка драйверов: проприетарные vs. открытые

В Linux у вас всегда есть выбор: использовать открытые драйверы (разрабатываются сообществом, интегрированы в ядро) или проприетарные (официальные драйверы от производителя). Давайте разберём плюсы и минусы каждого варианта.

Тип драйвера NVIDIA AMD Intel Arc
Открытые (nouveau, amdgpu, i915) ❌ Нет поддержки CUDA, плохая производительность в 3D ✅ Полная поддержка Vulkan, хорошая производительность ✅ Стабильная работа, но ограниченный функционал
Проприетарные (nvidia, amdgpu-pro) ✅ CUDA, лучшая производительность, поддержка Wayland ⚠️ Минимальные преимущества перед открытыми ❌ Пока нет стабильных проприетарных драйверов
Рекомендация Проприетарные (обязательно для игр и CUDA) Открытые (amdgpu) Открытые (i915)

Теперь перейдём к установке. Инструкции отличаются в зависимости от дистрибутива.

2.1. Установка драйверов NVIDIA

Для Ubuntu/Debian и производных (Mint, Pop!_OS):

sudo ubuntu-drivers autoinstall

sudo reboot

Для Arch Linux:

sudo pacman -S nvidia nvidia-utils nvidia-settings

sudo mkinitcpio -P

Для Fedora:

sudo dnf install akmod-nvidia

sudo dnf install xorg-x11-drv-nvidia-cuda

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

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

И добавьте строки:

blacklist nouveau

options nouveau modeset=0

Затем обновите initramfs:

sudo update-initramfs -u

Сделать резервную копию важных данных|

Добавить nouveau в чёрный список|

Установить пакеты linux-headers для вашего ядра|

Отключить Secure Boot в BIOS (если используется)|

Подготовиться к возможной перезагрузке в текстовом режиме-->

2.2. Установка драйверов AMD

Для современных карт AMD Radeon (серии RX 4000/5000/6000/7000) открытые драйверы amdgpu уже включены в ядро Linux (версия 5.4+). Вам нужно только установить дополнительные пакеты для Vulkan и OpenGL:

На Ubuntu/Debian:

sudo apt install mesa-vulkan-drivers libgl1-mesa-dri vulkan-tools

На Arch Linux:

sudo pacman -S vulkan-radeon lib32-vulkan-radeon mesa vulkan-icd-loader

Для Fedora:

sudo dnf install mesa-vulkan-drivers

Проприетарные драйверы amdgpu-pro нужны только для профессиональных задач (например, ROCm для вычислений). Для игр и обычного использования они не дают преимуществ.

2.3. Установка драйверов Intel Arc

Видеокарты Intel Arc (серии A380, A750, A770) поддерживаются открытыми драйверами i915, но для полноценной работы нужны фирменные пакеты от Intel. Установите их так:

На Ubuntu 22.04+:

sudo add-apt-repository ppa:intel/intel-arc-gpu

sudo apt update

sudo apt install intel-opencl-icd intel-level-zero-gpu level-zero intel-media-va-driver-non-free libmfx1 libmfxgen1 libvpl2 libegl-mesa0 libegl1-mesa libegl1-mesa-dev libgbm1 libgl1-mesa-dev libgl1-mesa-dri libglapi-mesa libgles2-mesa-dev libglx-mesa0 libigdgmm12 libxatracker2 mesa-va-drivers mesa-vdpau-drivers mesa-vulkan-drivers va-driver-all vulkan-tools

На Arch Linux:

sudo pacman -S intel-compute-runtime intel-media-driver libva-intel-driver vulkan-intel

3. Настройка гибридной графики (NVIDIA Optimus / AMD + Intel)

Если у вас ноутбук с двумя видеокартами (например, Intel UHD Graphics + NVIDIA GeForce или AMD Radeon + AMD Radeon Vega), вам понадобится специальная настройка для переключения между GPU. В Linux это реализуется через PRIME (для AMD/Intel) или NVIDIA Prime (для NVIDIA + Intel).

Для проверки доступных GPU выполните:

prime-select query

Если команда не найдена, установите пакет nvidia-prime (для NVIDIA) или prime-indicator (для AMD).

3.1. Переключение между GPU вручную

Для NVIDIA Optimus:

# Переключиться на NVIDIA

sudo prime-select nvidia

Переключиться на Intel

sudo prime-select intel

После переключения обязательно перезагрузитесь!

Для AMD + Intel:

# Переключиться на AMD (высокая производительность)

DRI_PRIME=1 glxinfo | grep "OpenGL renderer"

Запустить приложение на AMD GPU

DRI_PRIME=1 %command%

3.2. Автоматическое переключение (для NVIDIA)

Чтобы приложения автоматически использовали дискретную видеокарту, установите nvidia-prime и отредактируйте конфигурацию:

sudo nano /etc/prime/prime-switch

Найдите строку PRIME_SYNC=0 и измените на PRIME_SYNC=1 для синхронизации кадров (уменьшает задержки в играх).

Для запуска конкретного приложения на NVIDIA GPU используйте:

__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia %command%
Как проверить, какой GPU используется в игре?

Запустите игру через терминал с переменной DRI_PRIME=1 (для AMD) или __NV_PRIME_RENDER_OFFLOAD=1 (для NVIDIA) и одновременно откройте ещё один терминал. Выполните команду:

watch -n 1 "cat /sys/class/drm/card*/device/power/runtime_status"

Если рядом с дискретной картой (card1) появляется active, значит она используется.

4. Оптимизация производительности для игр и рендеринга

Даже с правильными драйверами производительность в Linux может уступать Windows на 5–15%. Это связано с особенностями реализации DirectX через VKD3D-Proton или DXVK. Однако есть способы сократить этот разрыв.

4.1. Настройка ядра и планировщика

Для игр рекомендуется использовать ядро с низкой задержкой (low-latency) или XanMod (оптимизированное для десктопов). Установите его так:

На Ubuntu:

sudo apt install linux-lowlatency

На Arch Linux (XanMod):

yay -S linux-xanmod

Также измените планировщик ввода-вывода на kyber или bfq для SSD:

echo "kyber" | sudo tee /sys/block/nvme0n1/queue/scheduler

(Замените nvme0n1 на ваш диск, проверьте через lsblk.)

4.2. Оптимизация для Vulkan и OpenGL

Добавьте следующие переменные окружения в ~/.profile или ~/.bashrc:

export MESA_GL_VERSION_OVERRIDE=4.6

export MESA_GLSL_VERSION_OVERRIDE=460

export __GL_THREADED_OPTIMIZATIONS=1

export __GL_SHADER_DISK_CACHE=1

export __GL_SHADER_DISK_CACHE_PATH="$HOME/.cache/mesa_shader_cache"

Для NVIDIA также полезно добавить:

export __GL_YIELD="USLEEP"

export __GL_MaxFramesAllowed=1

После применения изменений перезагрузитесь.

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

GameMode — утилита, которая временно оптимизирует систему для игр (отключает фоновые процессы, меняет приоритеты CPU/GPU). Установите её:

sudo apt install gamemode  # Ubuntu/Debian

sudo pacman -S gamemode # Arch

sudo dnf install gamemode # Fedora

Запускайте игры с префиксом:

gamemoderun %command%

Для Steam добавьте в параметры запуска:

gamemoderun %command%

5. Разгон и андервольтинг видеокарты

Разгон в Linux возможен, но инструменты менее удобны, чем MSI Afterburner в Windows. Тем не менее, для NVIDIA и AMD есть рабочие решения.

5.1. Разгон NVIDIA с помощью nvidia-settings и coolbits

По умолчанию nvidia-settings не показывает опции разгона. Чтобы их разблокировать, нужно включить Coolbits:

sudo nvidia-xconfig --cool-bits=28

Затем откройте nvidia-settings и перейдите в раздел PowerMizer. Здесь вы сможете:

  • 🔹 Изменить лимиты мощности (Power Limit)
  • 🔹 Настроить кривую вольт-амперной характеристики (для андервольтинга)
  • 🔹 Увеличить частоту GPU/памяти (если поддерживается)

Для применения изменений на постоянной основе добавьте их в /etc/X11/xorg.conf:

Section "Device"

Identifier "Device0"

Driver "nvidia"

Option "Coolbits" "28"

Option "RegistryDwords" "PowerMizerEnable=0x1; PerfLevelSrc=0x3322; PowerMizerLevel=0x3; PowerMizerDefault=0x3; PowerMizerDefaultAC=0x3"

EndSection

5.2. Разгон AMD с помощью radeontop и pp-perf

Для видеокарт AMD используйте утилиту radeontop для мониторинга и pp-perf для разгона:

sudo apt install radeontop  # Ubuntu/Debian

sudo pacman -S radeontop # Arch

Установите pp-perf (требуется компиляция из исходников):

git clone https://github.com/dogecoin-int/pp-perf.git

cd pp-perf

make

sudo make install

Основные команды для разгона:

# Увеличить частоту GPU на 50 МГц

sudo pp-perf sclk +50

Увеличить частоту памяти на 100 МГц

sudo pp-perf mclk +100

Применить андервольтинг (уменьшить напряжение на 50 мВ)

sudo pp-perf vddc -50

⚠️ Внимание: Разгон в Linux не имеет защиты от сбоев, как в MSI Afterburner. Если вы установите слишком высокие частоты, система может зависнуть без возможности восстановления через софт. Всегда тестируйте стабильность с помощью glmark2 или Unigine Heaven и следите за температурами через sensors.

5.3. Мониторинг температуры и стабильности

Для контроля температуры и частот используйте:

# Для NVIDIA

nvidia-smi -l 1

Для AMD/Intel

watch -n 1 sensors

Для тестирования стабильности запустите:

glmark2 --fullscreen

Или более тяжёлый тест

vulkaninfo | grep GPU

6. Решение распространённых проблем

Даже после правильной настройки могут возникать ошибки. Разберём самые частые.

6.1. Чёрный экран после установки драйверов NVIDIA

Причины:

  • 🔹 Конфликт с nouveau (не добавлен в чёрный список)
  • 🔹 Несовместимость с Wayland (попробуйте войти через Xorg)
  • 🔹 Отсутствие linux-headers для текущего ядра

Решение:

  1. Перезагрузитесь в режим восстановления (в GRUB выберите Advanced options → Recovery mode).
  2. Удалите проприетарные драйверы:
sudo apt purge nvidia-*  # Ubuntu

sudo pacman -Rns nvidia # Arch

  1. Добавьте nouveau в чёрный список (см. раздел 2.1).
  2. Установите драйверы заново и перезагрузитесь.

6.2. Низкий FPS в играх под Proton

Проблемы с производительностью в Steam Proton часто связаны с:

  • 🔹 Отсутствием DXVK/VKD3D-Proton
  • 🔹 Неправильной версией Proton
  • 🔹 Конфликтами с GameMode или MangoHud

Решение:

  1. Установите последние версии DXVK:
sudo apt install dxvk
  1. В настройках Steam выберите Proton Experimental или Proton-GE (от GloriousEggroll).
  2. Добавьте в параметры запуска:
PROTON_USE_WINED3D=1 PROTON_NO_ESYNC=1 PROTON_NO_FSYNC=1 gamemoderun %command%

6.3. Артефакты или зависания при разгоне

Если после разгона появляются:

  • 🔹 Артефакты (цветные точки, полосы) — снизьте частоту памяти на 50–100 МГц.
  • 🔹 Зависания — уменьшите частоту GPU или увеличьте напряжение (если делали андервольтинг).
  • 🔹 Перегрев (температура выше 90°C) — проверьте охлаждение и снизьте лимит мощности.

Для сброса настроек разгона (если система не грузится):

  1. Загрузитесь в single-user mode (в GRUB добавьте systemd.unit=rescue.target к параметрам ядра).
  2. Удалите конфигурационные файлы:
sudo rm /etc/X11/xorg.conf
  1. Для NVIDIA сбросьте настройки через:
sudo nvidia-settings --load-config-only
Как войти в single-user mode, если система не грузится?

1. При загрузке удерживайте Shift (для GRUB) или Esc (для systemd-boot).

2. Выберите ваше ядро и нажмите e для редактирования.

3. Найдите строку, начинающуюся с linux, и в конце добавьте systemd.unit=rescue.target.

4. Нажмите Ctrl+X или F10 для загрузки.

5. Введите пароль root (или вашего пользователя, если разрешён sudo без пароля).

7. Полезные утилиты для мониторинга и настройки

Вот список инструментов, которые пригодятся для диагностики и тонкой настройки:

Утилита Назначение Команда установки (Ubuntu)
nvidia-smi Мониторинг загрузки GPU, температуры, частот (только NVIDIA) Устанавливается с драйверами
radeontop Мониторинг загрузки GPU AMD (аналог nvidia-smi) sudo apt install radeontop
glmark2 Тест производительности OpenGL (бенчмарк) sudo apt install glmark2
vulkaninfo Проверка поддержки Vulkan и информации о GPU sudo apt install vulkan-tools
mangohud Оверлей с информацией о FPS, загрузке CPU/GPU, температуре sudo apt install mangohud

Пример запуска игры с MangoHud (показывает FPS и загрузку системы):

mangohud %command%

Для Steam добавьте в параметры запуска:

mangohud %command%

Чтобы настроить отображаемые метрики, отредактируйте конфиг:

nano ~/.config/MangoHud/MangoHud.conf

FAQ: Частые вопросы по настройке видеокарт в Linux

Можно ли использовать CUDA на AMD или Intel Arc?

Нет, CUDA — это проприетарная технология NVIDIA, и она не работает на видеокартах других производителей. Для AMD есть альтернатива — ROCm (Radeon Open Compute), но она поддерживает не все модели GPU и требует настройки. Для Intel Arc пока нет полноценной замены CUDA, но есть поддержка OpenCL и SYCL через intel-compute-runtime.

Почему в Linux игры работают медленнее, чем в Windows?

Основные причины:

  1. Драйверы: В Windows используются проприетарные драйверы с оптимизациями под DirectX, а в Linux — часто открытые драйверы или проприетарные с меньшей поддержкой.
  2. API: Игры под Windows пишутся под DirectX 11/12, которые переводятся в Vulkan через DXVK/VKD3D-Proton. Это добавляет накладные расходы.
  3. Планировщик: Ядро Linux по умолчанию оптимизировано для серверных нагрузок, а не для низких задержек в играх.

Решения:

  • 🔹 Используйте GameMode и ядро с низкой задержкой (например, XanMod).
  • 🔹 Установите последние версии DXVK и VKD3D-Proton.
  • 🔹 Для NVIDIA включите __GL_THREADED_OPTIMIZATIONS=1.
Как включить Ray Tracing на AMD в Linux?

Поддержка Ray Tracing на видеокартах AMD RDNA 2 (RX 6000) и RDNA 3 (RX 7000) в Linux реализована через Vulkan RT. Для её активации:

  1. Обновите драйверы amdgpu и mesa до последних версий.
  2. Убедитесь, что игра поддерживает Vulkan RT (например, Quake II RTX, Wolfenstein: Cyberpilot).
  3. Запускайте игру с переменной:
RADV_PERFTEST=rt %command%

Для проверки поддержки выполните:

vulkaninfo | grep rayQuery

Если вывод пустой, ваша видеокарта или драйвер не поддерживают Ray Tracing.

Как настроить несколько мониторов с разными GPU (NVIDIA + Intel)?

Для настройки многомониторной системы с гибридной графикой:

  1. Подключите мониторы к нужным портам (например, один к Intel, другой к NVIDIA).
  2. Установите arandr для графического управления:
sudo apt install arandr
  1. Запустите arandr и настройте расположение мониторов.
  2. Для привязки монитора к конкретному GPU используйте xrandr:
# Привязать монитор HDMI-1 к NVIDIA GPU

__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia xrandr --setprovideroutputsource modesetting NVIDIA-0

__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia xrandr --auto

Если монитор не определяется, проверьте подключение и обновлённость драйверов.

Можно ли майнить