Проприетарный драйвер NVIDIA:
Установка (Смена Nouveau драйвера на проприетарный)
Способ 1. Через EPM
Подсказка
Если необходима наиболее простая установка, используйте этот способ.
Для упрощения процесса установки проприетарного драйвера для графических карт NVIDIA, можно использовать скрипт из EPM. Данный скрипт включает в себя наиболее полную первоначальную настройку, затрагивая активацию Wayland и решение проблемы с неизвестным монитором, но только для нового драйвера.
Выполните следующие команды в терминале:
su -
epm play switch-to-nvidia
Внимание
Для корректной установки во время выполнения скрипта следует внимательно читать появляющиеся сообщения и в точности следовать инструкциям. Возможно потребуется несколько перезагрузок, например, для автоматического обновления ядра.
После успешного завершения работы скрипта нужно перезагрузить операционную систему.
Способ 2. Вручную
Для перехода с Nouveau на NVIDIA рекомендуется сначала обновить ядро:
su -
update-kernel
Для дальнейшей установки проприетарного драйвера NVIDIA необходимо перезагрузить операционную систему.
Установка проприетарного драйвера и добавление Nouveau в чёрный список:
- Перейдите в режим root:
su -
- Установите
nvidia_glx_common
:
apt-get install nvidia_glx_common
epm -i nvidia_glx_common
:::
- Добавьте Nouveau в чёрный список:
echo "blacklist nouveau" > /etc/modprobe.d/blacklist-nvidia-x11.conf
- Запустите скрипт установки драйверов:
nvidia-install-driver
Осторожно
Не следует запускать фирменный инсталлятор драйвера NVIDIA из .run-файла!
Настройка драйвера
Существует 4 версии драйвера NVIDIA, устанавливающиеся в зависимости от поколения видеокарты.
Далее будет описана важная информация и настройка каждой из этих версий.
Подсказка
Чтобы узнать версию установленного драйвера, необходимо ввести:
inxi -G
Драйвер 550.54.14 или новее
При установке драйвера через EPM настройка под Wayland производится автоматически. Если использован этот способ, дальнейшая настройка под Wayland не требуется.
Если установка производилась вручную, следует выполнить дальнейшую настройку.
Сессия Wayland
Для работы Wayland необходимо настроить сохранение выделенных ресурсов видеопамяти
Внимание
У драйвера NVIDIA существуют известные проблемы и несовместимости, связанные с Wayland.
Работа заставки (plymouth)
Для работы заставки необходимо запустить модули драйвера как можно раньше, для этого необходимо положить их в initramfs
Также, если в параметрах ядра есть initcall_blacklist=simpledrm_platform_driver_init
, его необходимо удалить и использовать другой способ из решения проблем с «Неизвестным монитором»
Подсказка
Проверить, есть ли этот параметр, можно в файле /etc/sysconfig/grub2
в строке с параметром GRUB_CMDLINE_LINUX_DEFAULT
.
При установке через EPM и для пользователей Ximper
Этот параметр будет у Вас будет по умолчанию.
Драйвер 470.223.02
Информация
Драйвер до версии 495 имеет поддержку только одного buffer API — EGLStreams.
Он часто придавался критике и не взыскал популярности, но безальтернативная связка с NVIDIA "заставляла" некоторые крупные проекты работать с ним.
Начиная с 495, NVIDIA представила поддержку GBM, и с тех пор подавляющее большинство проектов отказалось от EGLStreams.
Проблема с Intel:
Драйвер версии 470.223.02 и старше, начиная с версии ядра Linux 5.18 может работать неправильно в системах с процессорами Intel 11-го поколения и новее из-за несовместимости с Indirect Branch Tracking (IBT).
Его можно отключить, добавив значение ibt=off
в параметр GRUB_CMDLINE_LINUX_DEFAULT
:
su -
mcedit /etc/sysconfig/grub2
grub-mkconfig -o /boot/grub/grub.cfg
Внимание
Эта функция безопасности отвечает за защиту от ряда методов эксплойта.
Сессия Wayland
Kwin удалила поддержку EGLStreams.
Сессия Wayland на данном драйвере не поддерживается.
Работа заставки (plymouth)
Для работы заставки необходимо запустить модули драйвера как можно раньше, для этого необходимо положить их в initramfs
Также, если у вас в параметрах ядра есть initcall_blacklist=simpledrm_platform_driver_init
, его необходимо удалить и использовать другой способ из решения проблем с «Неизвестным монитором»
Подсказка
Проверить, есть ли этот параметр можно в файле /etc/sysconfig/grub2
в строке с параметром GRUB_CMDLINE_LINUX_DEFAULT
.
При установке через EPM и для пользователей Ximper
Этот параметр будет у Вас будет по умолчанию.
Драйвер 390.157
Информация
Драйвер до версии 495 имеет поддержку только одного buffer API — EGLStreams.
Он часто придавался критике и не взыскал популярности, но безальтернативная связка с NVIDIA "заставляла" некоторые крупные проекты работать с ним.
Начиная с 495, NVIDIA представила поддержку GBM, и с тех пор подавляющее большинство проектов отказалось от EGLStreams.
Kwin удалила поддержку EGLStreams.
Драйверы NVIDIA до версии 470 не поддерживают аппаратное ускорение Xwayland.
Для драйвера до версии ~400 ускоренное декодирование видео NVDEC недоступен.
Сессия Wayland
Kwin удалила поддержку EGLStreams.
Сессия Wayland на данном драйвере не поддерживается.
Работа заставки (plymouth)
Для работы заставки необходимо запустить модули драйвера как можно раньше, для этого необходимо положить их в initramfs
Также, если у вас в параметрах ядра есть initcall_blacklist=simpledrm_platform_driver_init
, его необходимо удалить и использовать другой способ из решения проблем с «Неизвестным монитором»
Подсказка
Проверить, есть ли этот параметр можно в файле /etc/sysconfig/grub2
в строке с параметром GRUB_CMDLINE_LINUX_DEFAULT
.
При установке через EPM и для пользователей Ximper
Этот параметр будет у Вас будет по умолчанию.
Полезные программы:
Информация
При установке драйвера через EPM, многие программы, скорее всего, уже будут установлены.
Группа устанавливаемых пакетов, может постоянно меняться, поэтому для уточнения следует посмотреть EPM-скрипт
NVIDIA Settings
NVIDIA Settings — утилита для настройки и оптимизации графических параметров на компьютерах с видеокартами NVIDIA. Она позволяет пользователям настраивать качество изображения, разрешение экрана, а также различные параметры, связанные с производительностью видеокарты. С помощью NVIDIA Settings можно также включить или отключить определённые функции, такие как вертикальная синхронизация или сглаживание.
В зависимости от сессии (Xorg или Wayland) набор настроек в NVIDIA Settings может различаться. Например, в Wayland нельзя настроить вертикальную синхронизацию и тройную буферизацию, так как они работа по-другому в этом окружении. Также в Wayland нет поддержки G-Sync, так как эта технология работает только с NVIDIA и требует специального оборудования. В целом, основные функции NVIDIA Settings доступны в обоих окружениях, но некоторые дополнительные возможности могут быть ограничены.
su -
apt-get update
apt-get install nvidia-settings
epm -i nvidia-settings
NVIDIA System Management Interface
NVIDIA System Management Interface (NVSMI), или nvidia-smi — предоставляет возможности мониторинга и управления для NVIDIA Tesla, Quadro, GRID и GeForce, начиная с семейства Fermi.
su -
apt-get update
apt-get install nvidia-smi
epm -i nvidia-smi
switcheroo-control
switcheroo-control — утилита для выбора графического устройства при запуске приложения на устройствах с несколькими графическими процессорами
Информация
Для устройств, имеющих как встроенный, так и выделенный графический процессор, switcheroo-control по умолчанию использует встроенный графический процессор для экономии энергии.
su -
apt-get update
apt-get install switcheroo-control
systemctl enable --now switcheroo-control.service
epm -i switcheroo-control
systemctl enable --now switcheroo-control.service
После установки приложения switcheroo-control, в меню появится пункт «Запустить с помощью выделенной видеокарты»
EnvyControl
EnvyControl — CLI-утилита, которая позволяет выбирать режим работы гибридной графики:
Гибридный режим
- Позволяет драйверу самому решать, какой графический процессор использовать. Обычно используется интегрированная графика, а дискретная графика работает только если она нужна, например, в играх или программах для монтажа
- Позволяет использовать RTD3
- Работает только на видеокартах Turing и выше
- Возможны проблемы с HDMI
Интегрированный режим
- Использует только интегрированную графику (Intel или AMD) отключая NVIDIA
- Мониторы подключённые к NVIDIA работать не будут
Режим NVIDIA
- Используется исключительно видеокарта от NVIDIA
Примеры
Установить интегрированный режим:
su -
envycontrol -s integrated
Установить гибридный режим и включить RTD3 (если не указывать режим, то будет выбран второй):
su -
envycontrol -s hybrid --rtd3
Установить гибридный режим, включить ForceCompositionPipeline
, а так же установить coolbits
на 28, разрешая разгон видеокарты:
su -
envycontrol -s nvidia --force-comp --coolbits 28
su -
apt-get update
apt-get install envycontrol
epm -i envycontrol
После установки рекомендуется ввести команду envycontrol --help
, чтобы ознакомиться со всеми возможностями утилиты. Также доступен апплет для KDE plasma
Vulkan Information
Vulkan Information — отображает информацию о поддерживаемых возможностях Vulkan для пользователей графических устройств NVIDIA. Необходимо установить пакет vulkan-tools
:
su -
apt-get update
apt-get install vulkan-tools
epm -i vulkan-tools
Для вывода общей информации в терминале:
vulkaninfo --summary
nvidia-vaapi-driver
nvidia-vaapi-driver — реализация VA-API, использующая NVDEC в качестве бэкенда. Эта реализация специально разработана для использования в Firefox для ускоренного декодирования веб-содержимого и может работать некорректно в других приложениях. Дополнительную информацию можно посмотреть на странице проекта
su -
apt-get update
apt-get install nvidia-vaapi-driver
epm -i nvidia-vaapi-driver
nvidia-modprobe
nvidia-modprobe — используется компонентами драйвера NVIDIA в пользовательском пространстве для проверки загрузки модуля ядра NVIDIA и наличия файлов устройств NVIDIA. Эти возможности обычно предоставлялись системами конфигурации дистрибутива GNU/Linux, такими как udev
.
Подсказка
По возможности рекомендуется использовать встроенные механизмы вашего дистрибутива GNU/Linux для управления загрузкой модулей ядра и созданием файлов устройств. Эта утилита предоставляется в качестве запасного варианта для работы независимо от дистрибутива.
su -
apt-get update
apt-get install nvidia-modprobe
epm -i nvidia-modprobe
nvidia-cuda-toolkit
nvidia-cuda-toolkit — пакет, содержащий библиотеки и сопутствующие файлы, необходимые для запуска программ, использующих CUDA.
su -
apt-get update
apt-get install nvidia-cuda-toolkit
epm -i nvidia-cuda-toolkit
nvidia-xconfig
nvidia-xconfig — инструмент, предназначенный для обеспечения базового управления по параметрам конфигурации, доступным в драйвере NVIDIA X11.
su -
apt-get update
apt-get install nvidia-xconfig
epm -i nvidia-xconfig
Детальная настройка драйвера
Активация Kernel Mode Setting.
Необходимо прописать в параметр GRUB_CMDLINE_LINUX_DEFAULT
значение nvidia-drm.modeset=1
и сгенерировать новых grub.cfg
:
su -
mcedit /etc/sysconfig/grub2
grub-mkconfig -o /boot/grub/grub.cfg
Подсказка
Чтобы проверить, работает ли KMS, выполните:
su -
cat /sys/module/nvidia_drm/parameters/modeset
Если команда вернула Y
, то KMS работает. В ином случае можете попробовать включить его через параметры ядра
В драйверах 550.54.14 и выше настройка KMS не нужна
Начиная с октября 2023 года, в ручной активации KMS нет необходимости. Правильная опция будет прописана вместе с установкой драйвера и будет находиться в /etc/modprobe.d/nvidia_common.conf
.
Настройка сохранения выделенных ресурсов видеопамяти
Способ 1. Сохранение в безымянных временных файлах
Такой способ позволяет использовать глубокий уровень сна (S4
и S5
) и не требует дополнительной поддержки S0ix
.
Внимание
Существуют проблемы на некоторых устройствах с PRIME. Этот способ направлен в основном на настольные ПК
- Активируйте интерфейсы управления питания NVIDIA:
su -
systemctl enable nvidia-suspend.service nvidia-resume.service nvidia-hibernate.service
Подсказка
Эти интерфейсы заменяют стандартные sleep
, hibernate
и resume
, давая возможность записать ресурсы видеопамяти перед отключением питания у видеокарты.
Информация
Если вы устанавливали проприетарный драйвер NVIDIA при помощи epm, то данная команда уже была выполнена автоматически.
- В опциях драйвера NVIDIA измените способ сохранения ресурсов видеопамяти:
su -
cat << _EOF_ > /etc/modprobe.d/nvidia_videomemory_allocation.conf
options nvidia NVreg_PreserveVideoMemoryAllocations=1
options nvidia NVreg_TemporaryFilePath=/var/tmp
_EOF_
make-initrd
Информация
Для сохранения ресурсов видеопамяти важно, чтобы файловая система имела поддержку безымянных временных файлов и имела достаточный объём для сохранения видеопамяти. Объёма, равного сумме всей видеопамяти и 5% сверху, будет вполне достаточно для сохранения.
Узнать количество видеопамяти можно командой:
nvidia-smi -q -d MEMORY | grep 'FB Memory Usage' -A1
Также во избежание нехватки места, не следует указывать директории с tmpfs
(например, /tmp
или /run
) в опции NVreg_TemporaryFilePath
.
NVIDIA не даёт каких-то конкретных рекомендаций, какую директорию использовать, но на форумах зачастую рекомендуется /var/tmp
, что соответствует описанию раздела.
Способ 2. Режим сохранения питания S0ix
.
Этот способ позволяет не выгружать видеопамять. Режим S0ix
создан для переносных устройств.
- Проверьте, поддерживает ли система
s2idle
:
cat /sys/power/mem_sleep
Подсказка
Если в выводе есть s2idle
, значит он поддерживается. В ином случае используйте Способ 1.
- Проверьте, поддерживает ли видеочип
S0ix
:
grep 'Video Memory Self Refresh' /proc/driver/nvidia/gpus/<Domain>:<Bus>:<Device>.0/power
Информация
Посмотрите в директории после /proc/driver/nvidia/gpus
, у каждого устройства своё значение <Domain>
, <Bus>
и <Device>
Подсказка
Если ответ Video Memory Self Refresh: is supported
, значит S0ix
поддерживается и можно проверять систему дальше.
- Если система и видеочип поддерживают указанные режимы, добавьте параметр
NVreg_EnableS0ixPowerManagement=1
:
su -
modprobe nvidia NVreg_EnableS0ixPowerManagement=1
- Если при выводе
cat /sys/power/mem_sleep
,s2idle
не был в квадратных скобках ([s2idle]
), выполните:
su -
echo "s2idle" > /sys/power/mem_sleep
- После указания опции и режима переведите устройство в режим ожидания и проверьте, корректно ли всё загрузилось. Если всё хорошо, добавьте настройки для постоянной загрузки:
su -
cat << _EOF_ > /etc/modprobe.d/enable_S0ix_power_management.conf
options nvidia NVreg_EnableS0ixPowerManagement=1
_EOF_
make-initrd
- Если ранее приходилось указывать
s2idle
вручную, укажите в параметреGRUB_CMDLINE_LINUX_DEFAULT
значениеmem_sleep_default=s2idle
и сгенерируйте новыхgrub.cfg
:
su -
mcedit /etc/sysconfig/grub2
grub-mkconfig -o /boot/grub/grub.cfg
:: info
При переходе видеокарты в спящий режим S0ix
будет выполнятся один из 2-х сценариев:
- Если использование памяти было меньше определённого порога, видеопамять будет скопирована в системную память и полностью отключится вместе с графическим процессором
- Если использование памяти было больше определённого порога, видеопамять будет в режиме самообновления, в то время как остальная часть графического процессора будет отключена
По умолчанию порог — 256 МБ. Его можно изменить с помощью параметра NVreg_S0ixPowerManagementVideoMemoryThreshold
. Однако стоит учитывать, что чем выше порог, тем выше вероятность того, что часть видеопамяти не будет сохранена.
:::
Ранняя загрузка модулей NVIDIA
Для того, чтобы запустить модули NVIDIA на этапе initramfs
, необходимо добавить их в /etc/initrd.mk
и отключить Features, которые запрещают их загрузку.
- Добавьте в
/etc/initrd.mk
строкиMODULES_TRY_ADD +=nvidia nvidia-drm nvidia-modeset nvidia-uvm
иDISABLE_FEATURES += nvidia
и сгенерируйтеinitramfs
:
su -
cat << _EOF_ >> /etc/initrd.mk
# trying to load nvidia modules
MODULES_TRY_ADD += nvidia nvidia-drm nvidia-modeset nvidia-uvm
DISABLE_FEATURES += nvidia
_EOF_
make-initrd
Внимание
При добавлении модулей в initramfs
не будет работать способ Замены драйверов Nouveau / NVIDIA «на лету»
Управление питанием PCI-Express Runtime D3 (RTD3)
Драйвер NVIDIA имеет поддержку динамического управления питанием графического процессора NVIDIA — PCI-Express Runtime D3 (RTD3) Power Management.
В это управление входит регулирование тактовой частоты и напряжения на разных участках микросхемы, а также, в некоторых случаях, полное отключение тактовой частоты или питания элементов чипа.
И всё это не влияя на функциональность позволит работать графическому процессору с меньшей производительностью при меньшем потреблением энергии.
Для работы RTD3 необходимо следующее:
- Ноутбук
- Процессор из серия чипсетов Coffee Lake или новее
- Видеокарта архитектуры Turing или новее
- Ядро Linux версии 4.18 и новее, собранное с
CONFIG_PM
(CONFIG_PM=y
). Как правило, если система поддерживаетS3
(suspend-to-RAM
), то иCONFIG_PM
будет корректно определён
Информация
Для видеокарт Turing и старше нужна дальнейшая настройка
Для Ampere или более поздних версий видеокарт, RTD3 включено по умолчанию.
- Для автоматизации управления добавьте правила в
/lib/udev/rules.d
:
su -
cat << _EOF_ > /lib/udev/rules.d/80-nvidia-pm
# Enable runtime PM for NVIDIA VGA/3D controller devices on driver bind
ACTION=="bind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030000", TEST=="power/control", ATTR{power/control}="auto"
ACTION=="bind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030200", TEST=="power/control", ATTR{power/control}="auto"
# Disable runtime PM for NVIDIA VGA/3D controller devices on driver unbind
ACTION=="unbind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030000", TEST=="power/control", ATTR{power/control}="on"
ACTION=="unbind", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x030200", TEST=="power/control", ATTR{power/control}="on"
_EOF_
make-initrd
- Добавьте конфигурационный файл с параметром в
/etc/modprobe.d
:
su -
cat << _EOF_ > /etc/modprobe.d/nvidia_RTD3.conf
# This options activate RTD3
options nvidia "NVreg_DynamicPowerManagement=0x02"
_EOF_
make-initrd
Информация
Более подробное описание работы, а также решение возможных проблем можно посмотреть в документации NVIDIA.
PAT
PAT — более современная технология, чем MTRR, является более гибким атрибутом, добавляя новые возможности для организации памяти.
Драйвер NVIDIA позволяет сменить старый атрибут страничной организации памяти MTRR на PAT.
Чтобы её включить, добавьте конфигурационный файл с параметром в /etc/modprobe.d
:
su -
cat << _EOF_ > /etc/modprobe.d/nvidia_PAT.conf
# This options activate PAT
options nvidia NVreg_UsePageAttributeTable=1
_EOF_
make-initrd
Внимание
Удостоверьтесь, что ваша система поддерживает PAT, иначе у вас могут возникнуть проблемы с системой:
su -
cat /proc/cpuinfo | grep pat
GSP прошивка
Некоторые видеокарты имеют GPU System Processor (GSP), который может использоваться для разгрузки задач и управления графическим процессором. По умолчанию он включён для ограниченного числа видеокарт.
Начиная с архитектуры Turing, GSP присутствует во всех видеокартах и его можно принудительно включить:
su -
cat << _EOF_ > /etc/modprobe.d/nvidia_GSP_firmware.conf
# This options force unlock GPU firmware
options nvidia NVreg_EnableGpuFirmware=1
_EOF_
make-initrd
Фреймбуфер от NVIDIA
Осторожно
Это экспериментальная функция и она работает нестабильно.
Начиная с драйвера версии 545.29, можно включить фреймбуфер, предусмотренный nvidia-drm
. Он заменяет стандартные фреймбуферы, такие как efifb
или vesafb
.
Внимание
Для работы необходимо, чтобы работал KMS
su -
cat << _EOF_ > /etc/modprobe.d/nvidia-framebuffer.conf
# This options unlock experimental nvidia framebuffer
options nvidia_drm fbdev=1
_EOF_
Решение известных проблем
«Неизвестный монитор» в настройках дисплеев в сессии Wayland
Информация
Данная проблема может привести к некорректному поведению устройств ввода. Особенно часто данные проблемы проявляются в играх.
На данный момент существует 3 способа устранения фантомного неизвестного монитора:
Способ 1. Использование собственного фреймбуфера от NVIDIA:
Смотрите раздел Фреймбуфер от NVIDIA
Способ 2. Отключение загрузки simpledrm:
Информация
При использовании epm данный способ будет применён автоматически.
- Внесите изменение в конфигурацию GRUB:
su -
mcedit /etc/sysconfig/grub2
Добавьте в параметр
GRUB_CMDLINE_LINUX_DEFAULT
значениеinitcall_blacklist=simpledrm_platform_driver_init
Сгенерируйте
grub.cfg
:
su -
grub-mkconfig -o /boot/grub/grub.cfg
Внимание
Данное решение приводит к невозможности входа в tty
, отсутствию вывода логов во время загрузки (если не включён Plymouth) и чёрному экрану, если система по какой-то причине не запустилась вовсе.
Если после загрузки возник чёрный экран, необходимо проинспектировать запуск: уберите это значение из параметров ядра на этапе загрузки GRUB.
Также для решения проблем, может быть полезным удаление параметров quiet
(для вывода более подробных логов) и splash
(для отключения заставки во время вывода логов).
Способ 3. Отключение монитора через настройки
Откройте приложение "Параметры системы KDE5", перейдите во вкладку "Экран", в опции "Настройка экранов" выберите экран "Unknown" в параметре "Устройство" и отключите его, убрав галочку с параметра "Включен".
В сессии Wayland панель задач "зависает" (Plasma 5.7):
Необходимо отключить "миниатюры окон" в настройках панели задач (Plasma/Tasks) Для этого необходимо снять галочку с Показывать миниатюру окна при наведении указателя мыши на элемент в панели задач.
Для этого щёлкните правой кнопкой мыши и выберите "настроить виджет «Панель задач»" -> "Внешний вид" -> "Показывать миниатюру окна при наведении указателя мыши на элемент в панели задач"
Информация
Проблема наблюдается только на Plasma 5.x и затрагивает также владельцев AMD. Подробнее об ошибке: https://bugs.kde.org/show_bug.cgi?id=469016
P.S: В KDE Plasma 6 данную проблему уже решили.
Не работает KMS
Если при загрузке KDE plasma возникает чёрный экран или при выполнении cat /sys/module/nvidia_drm/parameters/modeset
возвращается N
, можно попробовать включить KMS через командную строку ядра.
Чёрный экран при выборе сессии X11 или ошибка в инициализации CUDA
Драйвер NVIDIA для Linux по умолчанию использует Message Signaled Interrupts (MSI), это обеспечивает лучшую совместимость и масштабируемость, из-за избегания совместного использования IRQ. Было замечено, что некоторые системы имели проблемы с поддержкой MSI.
Все известные ошибки были исправлены, но если наблюдаете данные проблемы, попробуйте отключить MSI:
su -
cat << _EOF_ > /etc/modprobe.d/nvidia_MSI.conf
# This options deactivate MSI
options nvidia NVreg_EnableMSI=0
_EOF_
make-initrd
Если при установке или первом запуске чёрный экран, артефакты или другие проблемы
Если при первом включении или установке появляются проблемы с отображением картинки, можно попробовать сменить режим вывода графики, чтобы в дальнейшем иметь возможность взаимодействовать с системой и выяснить причины проблем с видеодрайверами.
Для этого необходимо на этапе выбора вариантов загрузки в GRUB нажмите кнопку e, найдите первую строку с linux /boot/vmlinuz
и допишите в эту строку один из следующих параметров (параметр должен быть отделён от других пробелом; очерёдность параметров не важна):
nomodeset
— не загружать видеодрайверы для видеокарты до момента, пока не будет загружен X-сервер. В результате система загружается в текстовом виде, можно видеть сообщения процесса загрузки, проблема «чёрного экрана загрузки» устраняется;xdriver
— графический установщик предпринимает попытку автоматического подбора драйвера видеокарты, но иногда это ему не удаётся. Данным параметром можно отключить автоматический выбор и явно указать нужный вариант драйвера;instdebug
— перед запуском и после завершения работы графического установщика будет запущена командная оболочка (shell). Это очень полезное средство для обнаружения ошибок графической программы установки. Последовательность работы внутренних сценариев следующая:install2
->xinit
->alterator-install2
->alterator-wizard
. При необходимости можно вручную загрузить Xorg (командаxinit
) и в открывшемся окне терминала запуститьalterator-install2
(илиalterator-wizard
) вручную. Лог-файлы инсталлятора сохраняются в/tmp
.xdriver
— отключает автоопределение и принудительно загружает указанный драйвер; можно указать любой драйвер, поддерживаемый Xorg. Например,i915
,nvidia
,radeon
,fglrx
и т.д.Существуют универсальные видеодрайверы:
vesa
— минимальный драйвер. Работает так же, как и любой другой, но ожидает не конкретной видеокарты, а пытается следовать стандартам VESA (многие видеокарты его поддерживают). Этот драйвер умеет только выводить изображение, без «излишеств». Работает довольно медленно.fbdev
— ещё более простой драйвер. Передаёт команду связаться с ядром и пытается рисовать картинку через него. Под ним может быть несколько разных драйверов со стороны ядра, но чаще всего это ядерная версияvesa
. Это работает ещё медленнее, но практически всегда работает.
Информация
Всё описание взято отсюда: ALT Linux Wiki: Первая помощь - Проблемы с драйвером видеокарты
Прочие решения известных проблем
Также другие проблемы и возможные их решения, можно найти в главе 8 документации NVIDIA
Прочие известные нерешённые проблемы
В главе 9 документации NVIDIA можно ознакомиться с известными нерешёнными проблемами у драйвера NVIDIA
Проблемы c протоколом Wayland
У NVIDIA c Wayland существуют нерешённые проблемы. Вы можете ознакомиться с ними в приложении L документации NVIDIA
Способы управления частотами/лимитами видеокарты
Осторожно
Все цифры указаны для примера, все решения и риски лежат на вас.
Установить порога TDP:
su -
nvidia-smi -pl 160.30
Вывести в терминале поддерживаемые частоты:
su -
nvidia-smi -q -d SUPPORTED_CLOCKS
Установить пороги частоты GPU:
su -
nvidia-smi --lock-gpu-clocks=0,1695 --mode=1
Установить пороги частоты видеопамяти:
su -
nvidia-smi --lock-memory-clocks=0,5001
Для детальной настройки смотрите его man-страницу
Подсказка
Описание примеров применения управления лимитами через nvidia-smi можно посмотреть тут и тут
Внимание
Изменение параметров не сохраняется при перезагрузке. Для сохранения параметров используйте bashrc
, udev
(пример) или systemd
(пример).
Coolbits (только для X11)
Для сессии X11 (через X Config Options) существует возможность активировать не поддерживаемые функции NVIDIA через расширение NV-CONTROL X. Активация функций происходит через указание битовой макси:
Осторожно
Для работы необходима сессия под X11 и отключённый режим nvidia_drm_modeset=0
, поэтому данная возможность является устаревшей.
Также для разных версий драйвера в документации заявлено разное количество функций. К примеру, в документации для версии 364.19 их описано 6, а в версии 550.54.14 их уже 2.
Бит | Описание |
---|---|
1 | Если установлено значение 1 (бит 1), позволяет разгонять старые ядра (до Fermi) на странице Тактовые частоты в разделе Настройки NVIDIA . |
2 | Если установлено значение 2 (бит 1), драйвер NVIDIA попытается инициализировать SLI при использовании графических процессоров с разным объёмом видеопамяти. |
4 | Если установлено значение 4 (бит 2), на странице Настройки термомонитора будет доступна регулировка скорости вращения вентилятора графического процессора на графических платах с программируемыми возможностями вентилятора. |
8 | Если установлено значение 8 (бит 3), на странице PowerMizer в панели управления отобразится таблица, которая позволяет устанавливать смещение для каждого тактового домена и уровня производительности для применения к тактовым значениям. Это разрешено на некоторых графических процессорах GeForce. Не все тактовые диапазоны или уровни производительности могут быть изменены. (для Fermi и выше) |
16 | Если установлено значение 16 (бит 4), интерфейс командной строки nvidia-settings позволит настроить перенапряжение графического процессора. Это разрешено на некоторых графических процессорах GeForce. (для Fermi и выше) |
0 | Если установлено значение 0 (бит 0), все неподдерживаемые функции будут отключены. |
Установить битовую маску можно либо вручную в конфигурационном файле xorg.conf
в разделе Device
, либо через такие программы, как nvidia-xconfig и EnvyControl
Пример работы с nvidia-xconfig:
nvidia-xconfig --cool-bits=2
Пример ручной записи в xorg.conf
:
su -
cat << _EOF_ > /etc/X11/xorg.conf.d/22-cool_bits.conf
Section "Device"
Identifier "NVIDIA GeForce"
Driver "nvidia"
Option "Coolbits" "24"
EndSection
_EOF_
PowerMizer
PowerMizer — технология, созданная NVIDIA и предназначенная для экономии энергии.
Внимание
Начиная с драйвера версии 530.xx, данная технология была отключена и рекомендуется использовать nvidia-smi. На старых драйверах данная технология работает в штатном режиме.
Информация
Поскольку мир сталкивается с постоянно растущей потребностью в своих ресурсах, любая возможность устранить растрату энергии может помочь. Технология NVIDIA® PowerMizer® — это интеллектуальное решение для управления питанием, доступное на всех графических процессорах (GPU) NVIDIA, которое может эффективно продлить срок службы батареи и сократить потери энергии — и всё это при обеспечении производительности по требованию даже при подключении к сети.
PowerMizer разрешает изменить политику работы энергосбережения видеокарты.
Изменение политики складывается из включения/выключения технологии, стратегии и режима производительности для каждого типа работы питания (от сети и от батареи).
1. Включение PowerMizer
Включение/выключение технологии происходит через указание в параметре PowerMizerEnable
значений 0x0
(выключен) и 0x1
(включён):
PowerMizerEnable=0x1
2. Стратегии
Они позволяют выбирать логику подбора частот.
Существуют следующие стратегии:
Стратегия | Описание |
---|---|
22 | Стратегия с фиксированной тактовой частотой — карта работает с фиксированной частотой вне зависимости от использования графического процессора |
33 | Адаптивная стратегия тактовой частоты — карта работает на максимальном уровне энергосбережения, пока приложения не начинают интенсивно использовать ресурсы карты. Проверяет необходимость смены режима производительности каждые 15 секунд |
Указываются они для каждого типа работы питания следующим образом:
PerfLevelSrc=0x[стратегия для работы от батареи][стратегия для работы от сети]
PerfLevelSrc=0x2233
3. Режимы производительности
Режимы производительности применяются только при стратегии с фиксированной частотой (22
). Для адаптивной стратегии 33
указание режима не требуется.
Существует 3 режима производительности:
Режим | Описание |
---|---|
0x1 | Максимальная производительность — уровень с самым высоким уровнем производительности |
0x2 | Сбалансированный — один из средних уровней производительности |
0x3 | Максимальное энергосбережение — минимальный уровень производительности |
Значения указываются в параметрах PowerMizerDefault
и PowerMizerDefaultAC
.
PowerMizerDefaultAC=0x3; PowerMizerDefault=0x1
Параметр | Описание |
---|---|
PowerMizerDefault | Содержит значение режима PowerMizer, которое будет использоваться для режима питания от батареи |
PowerMizerDefaultAC | Содержит значение режима PowerMizer, которое будет использоваться для режима питания от сети |
Если доступен только один тип работы питания (обычно от сети - AC, проверьте текущий параметр GPUPowerSource
), используйте только тот параметр, который определяется в системе.
Есть 2 способа записи настроек
Информация
В примере использован вариант, когда для работы от сети и от батареи выбран режим с фиксированной частотой (PerfLevelSrc=0x2222
); для питания от батареи выбрано максимальное энергосбережение (PowerMizerDefaultAC=0x3
), а для питания от сети — максимальная производительность (PowerMizerDefaultAC=0x3
)
Способ 1. Запись в /etc/modprobe.conf
:
su -
cat << _EOF_ > /etc/modprobe.d/nvidia_PowerMizer.conf
options nvidia NVreg_RegistryDwords="PowerMizerEnable=0x1;PerfLevelSrc=0x2222;PowerMizerDefault=0x1PowerMizerDefaultAC=0x3"
_EOF_
make-initrd
Способ 2. Запись в /etc/X11/xorg.conf
(только для X11):
su -
cat << _EOF_ > /etc/X11/xorg.conf.d/21-PowerMizer.conf
Section "Device"
Identifier "NVIDIA GeForce"
Driver "nvidia"
Option "RegistryDwords" "PowerMizerEnable=0x1;PerfLevelSrc=0x2222;PowerMizerDefault=0x1PowerMizerDefaultAC=0x3"
EndSection
_EOF_
Подсказка
Для вступления настроек в силу необходима перезагрузка.
Данные об оборудовании и ПО пользователей за 2024 год.