Оглавление |
---|
Информация | ||
---|---|---|
| ||
|
Информация |
---|
Описанные далее действия по установке и удалению драйверов NVidia применимы ко всем обновлениям Astra Linux на платформе x86-64. Отличаются загружаемые архивы с драйверами, иные отличия описаны в тексте. |
Действия перед установкой драйверов NVidia
Информация |
---|
При работе в Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7) с установленным обновлением БЮЛЛЕТЕНЬ № 2022-0819SE17 (оперативное обновление 1.7.2) для переключения используемых графических драйверов можно использовать графический инструмент fly-admin-driver ("Пуск" - "Панель управления" - "Система" - "Управление драйверами". |
Если существует файл /etc/X11/xorg.conf, переименовать его (или просто удалить), например:
Command sudo mv /etc/X11/xorg.conf /etc/X11/xorg.conf.`date +%s` Запретить запуск драйверов Nouveau, добавив в файл /etc/modprobe.d/blacklist.conf строчки
Информация blacklist nouveau
options nouveau modeset=0и закомментировать в файле /etc/initramfs-tools/modules строчку nouveau modeset=1
Информация #nouveau modeset=1 после чего выполнить команду
Command update-initramfs -u -k all Вышеуказанные действия можно выполнить следующим сценарием от имени суперпользователя с высоким уровнем целостности:
Command echo blacklist nouveau >> /etc/modprobe.d/blacklist.conf
echo options nouveau modeset=0 >> /etc/modprobe.d/blacklist.conf
sed -i -e "s/^[[:space:]]*nouveau[[:space:]]\+modeset[[:space:]]*=[[:space:]]*1/#nouveau modeset=1/" /etc/initramfs-tools/modules
update-initramfs -u -k all
Порядок установки драйверов NVidia
- Загрузить архив репозитория с пакетами. Для загрузки открыть указанные ниже ссылки с помощью web-браузера:
- Для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7):
- драйверы NVidia c DKMS находятся в расширенном репозитории, и для их установки требуется подключить расширенный репозиторий, а скачивание архива не требуется;
- драйверы NVidia без DKMS доступны по ссылке:
- Для обновления БЮЛЛЕТЕНЬ № 2023-0426SE17 (оперативное обновление 1.7.4): https://nextcloud.astralinux.ru/s/BRk25PEmoj6XqCQ;
- Для более ранних обновлений: https://nextcloud.astralinux.ru/s/m5n4pewBAY5M2tM;
- Драйверы для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6) с установленным обновлением БЮЛЛЕТЕНЬ № 20221220SE16 (оперативное обновление 12) доступны по ссылке:
https://nextcloud.astralinux.ru/s/MNfrZemCWxzrCXA. Драйверы применимы только при условии установки указанного обновления;
- Драйверы для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6), Astra Linux Special Edition РУСБ.10015-16 исп. 1 и Astra Linux Common Edition доступны по ссылке:
https://nextcloud.astralinux.ru/s/PCqFtS5MeY5MDM4;
- Для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7):
Распаковать полученный архив. Далее предполагается, что архив загружен в текущий каталог и распаковывается в каталог /srv:
Command sudo tar xf ALSE1?-NVidia-all-*.tar.gz -C /srv
Если предполагается устанавливать драйверы на компьютеры не используя сетевой репозиторий, то распаковать архив можно сразу на съемный носитель, и далее установку выполнять с этого носителя;
- Полученный в результате распаковки архива каталог подключить в качестве репозитория в соответствии с принятыми правилами использования репозиториев (см. Подключение репозиториев с пакетами в ОС Astra Linux и установка пакетов). Для архива, распакованного в локальный каталог строка описания репозитория выглядит так:
Для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7):
Блок кода deb file:/srv/ALSE17-NVidia-all-2300607230607 1.7_x86-64 non-free
или
Блок кода deb file:/srv/ALSE17-NVidia-all-230227 1.7_x86-64 non-free
Для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6), Astra Linux Special Edition РУСБ.10015-16 исп. 1 и Astra Linux Common Edition:
Блок кода deb file:/srv/ALSE16-NVidia-all-220906 smolensk non-free
Информация Допустима также форма указания репозиториев с использованием "тройной косой черты", например:
Блок кода deb file:///srv/ALSE17-NVidia-all-230227 1.7_x86-64 non-free
Помимо подключения репозитория с драйверами для установки драйверов:
- В Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7) должна быть подключена актуальная версия расширенного репозитория (см. Репозитории Astra Linux Special Edition x.7: структура, особенности подключения и использования);
В Astra Linux Common Edition на время установки драйверов изменить приоритет репозитория, например, закомментировав содержимое файла /etc/apt/preferences.d/orel (см. Подключение репозиториев с пакетами в ОС Astra Linux и установка пакетов);
После подключения репозитория обновить список пакетов:
Command sudo apt update По необходимости установить пакет nvidia-detect и выполнить проверку оборудования. При этом независимо от используемого оборудования рекомендуется использовать пакет самой последней версии (версия 525 доступна в расширенном репозитории 1.7.4.ext1):
Command sudo apt install nvidia-detect-525 в случае неработоспособности последней версии можно установить более старые версии:
Command sudo apt install nvidia-detect-510
sudo apt install nvidia-detect-495
sudo apt install nvidia-detect-470
sudo apt install nvidia-detect-460
sudo apt install nvidia-detect-390
sudo apt install nvidia-detect-340После установки пакета проверка оборудования выполняется командой:
Command nvidia-detect - После подключения репозитория установка драйверов выполняется командами:
- Драйверы без использования DKMS:
Для версий 390 и выше:
Command sudo apt install nvidia-driver-no-dkms-<номер_версии> Для версии 340
Command sudo apt install nvidia-no-dkms-340
Драйверы с использованием DKMS:
Для версий 390 и выше:
Command sudo apt install nvidia-driver-<номер_версии> Для версии 340:
Command sudo apt install nvidia-340
- Драйверы без использования DKMS:
После установки новых драйверов перезагрузить компьютер:
Command sudo reboot
Удаление драйверов Nvidia
Предупреждение |
---|
Перед удалением драйверов Nvidia во избежание утери доступа к машине рекомендуется переключить в BIOS вывод графики на интегрированную видеокарту. |
Для удаления драйверов Nvidia и восстановления работы драйверов Nouveau следует выполнить следующие действия:
Очистить и обновить файл /etc/X11/xorg.conf;
Command sudo rm /etc/X11/xorg.conf
sudo dpkg-reconfigure xserver-xorgУдалить все пакеты драйверов Nvidia:
Command sudo apt remove --purge --yes --force-yes nvidia*
sudo apt remove --purge --yes --force-yes libnvidia*
sudo apt remove --purge --yes --force-yes xserver-xorg-video-n*
for nvdeb in `dpkg -l | grep nvidia`; do
sudo apt remove --purge --yes --force-yes $nvdeb
doneВосстановить оригинальные версии GL библиотек mesa и символических ссылок:
Command sudo apt install --reinstall --yes --force-yes xserver-xorg-core libgl1 libgl1-mesa-dri libgl1-mesa-glx libglapi-mesa libgles2 libgles2-mesa libglew2.? libglewmx1.13 libglu1-mesa libglvnd0 libglx-mesa0 libglx0 Удалить модули ядра Nvidia:
Command for nvdriver in `find /lib/modules -type f -name "nvidia*"`; do
echo "$nvdriver"
sudo mv -f $nvdriver ${nvdriver}-$$-backup
done
sudo depmod -aУдалить (или закомментировать) строки в файле /etc/modprobe.d/blacklist.conf, запрещающие запуск драйверов Nouveau:
Информация # blacklist nouveau
# options nouveau modeset=0Раскомментировать в файле /etc/initramfs-tools/modules строку
Информация nouveau modeset=1 и выполнить команду
Command sudo update-initramfs -u -k all Перезагрузить машину.
Информация |
---|
Для удаления драйверов Nvidia можно воспользоваться утилитой деинсталляции драйверов Nvidia из пакета astra-nvidia, доступного по ссылке. |
Пакет nvidia-settings для настройки параметров драйверов Nvidia
- Для Astra Linux Special Edition РУСБ.10015-01 1.7, Astra Linux Special Edition РУСБ.10015-01 1.6 и Astra Linux Common Edition архив репозитория с подписанным пакетом nvidia-settings версии 470.57.01 доступен по ссылке: nvidia-settings-signed-220720.tar.gz и может быть загружен с помощью web-браузера. Порядок подключения дополнительных репозиториев см. Подключение репозиториев с пакетами в ОС Astra Linux и установка пакетов;
- Для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7) пакет nvidia-settings для настройки параметров драйверов Nvidia доступен в расширенном репозитории;
- Для Astra Linux Common Edition пакет nvidia-settings доступен в репозитории.
Известные проблемы
Устранение проблемы запуска CAD под Wine (ошибка "libGL error: failed to load driver: swrast")
После установки драйверов Nvidia при запуске некоторых систем CAD под Wine (см. Установка wine на Astra Linux) может возникать ошибка "libGL error: failed to load driver: swrast". Для устранения этой ошибки удалить входящий в состав драйверов Nvidia файл /usr/lib/i386-linux-gnu/libGL.so.1:
Command |
---|
sudo rm /usr/lib/i386-linux-gnu/libGL.so.1 |
Устранение проблемы запуска расширений OpenGL на мандатных уровнях, отличных от нулевого с проприетарными драйверами Nvidia
Информация |
---|
Данная проблема может проявляться в ОС Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.4/1.5). При работе с ОС Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6) проблем с расширениями OpenGL не наблюдается, и никакие действия не требуются. |
Для устранения проблемы файл /etc/X11/fly-dm/Xsetup привести к виду:
Блок кода | ||||
---|---|---|---|---|
| ||||
#! /bin/sh # Xsetup - run as root before the login dialog appears #xconsole -geometry 480x130-0-0 -notify -verbose -fn fixed -exitOnFail -file /dev/xconsole & if [ -x /usr/sbin/pdp-flbl ]; then find /dev/dri -type c -exec /usr/sbin/pdp-flbl :::ehole {} \; find /dev -name nvidia* -type c -exec /usr/sbin/pdp-flbl :::ehole {} \; /usr/sbin/pdp-flbl -R :::ehole /proc/driver/nvidia \; fi /usr/bin/fly-dm-set-dpi.sh |
Включение дискретной карты Nvidia на ноутбуках с гибридной графикой
Если требуется использовать только один видеоадаптер, то в первую очередь следует проверить настройки в BIOS ноутбука: возможно там есть опция, отключающая один из чипов.
Также можно использовать следующее решение:с
Установить драйвер Nvidia.
Узнать адрес карты Nvidia. Чтобы узнать адрес выполнить команду:
Command Title lspci | grep -E "VGA|3D" 01:00.0 3D controller [0302]: NVIDIA Corporation Device [10de:139b] (rev a2)
PCI адрес находится в начале строки, в примере выше это "01:00.0". В выводе команды lspci в качестве разделителя используется точка, в файле - двоеточие. Кроме того, в файле лидирующие нули не указываются. Т.е. соответствующая адресу "01:00.0" строка в файле будет выглядеть так:
Блок кода BusID "PCI:1:0:0"
Проприетарный драйвер не поддерживает динамическое переключение между картами, поэтому для включения карты Nvidia изменить или создать файл (если отсутствует) /etc/X11/xorg.conf со следующим содержимым:
Блок кода title /etc/X11/xorg.conf Section "Module" Load "modesetting" EndSection Section "Device" Identifier "nvidia" Driver "nvidia" BusID "PCI:X:Y:Z" Option "AllowEmptyInitialConfiguration" EndSection
где строчка BusID "PCI:X:Y:Z" - полученный ранее PCI адрес карты Nvidia.
Создать файл /usr/local/bin/nvidia_switch.sh :
Блок кода title /usr/local/bin/nvidia_switch.sh xrandr --setprovideroutputsource modesetting NVIDIA-0 xrandr --auto xrandr --dpi 96
и сделать этот файл исполняемым:
Command chmod +x /usr/local/bin/nvidia_switch.sh
Добавить созданный файл в файл /etc/X11/fly-dm/Xsetup :
Блок кода #! /bin/sh # Xsetup - run as root before the login dialog appears #xconsole -geometry 480x130-0-0 -notify -verbose -fn fixed -exitOnFail -file /dev/xconsole & /usr/local/bin/nvidia_switch.sh if [ -x /usr/sbin/pdp-flbl ]; then find /dev/dri -type c -exec /usr/sbin/pdp-flbl :::ehole {} \;; fi /usr/bin/fly-dm-set-dpi.sh
Перезагрузить компьютер.
Использование PRIME Render Offload
После установки драйверов NVIDIA версии 435.17 и более поздних версий становится доступной возможность использовать PRIME Render Offload - официальный метод поддержки переключения графики Nvidia. При этом xf86-video-modesetting, xf86-video-amdgpu (450.57), и xf86-video-intel (455.38) официально поддерживаются как iGPU драйверы. Для запуска программы на видеокарте NVIDIA можно использовать следующую форму команды:
Command |
---|
__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME="nvidia" __VK_LAYER_NV_optimus="NVIDIA_only" <имя_программы> |