Данная статья применима к:
- Astra Linux Special Edition РУСБ.10015-01 и РУСБ.10015-01 (очередное обновление 1.7)
- Astra Linux Special Edition РУСБ.10015-37 (очередное обновление 7.7)
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
- Astra Linux Special Edition РУСБ.10015-16 исп. 1
- Astra Linux Common Edition (допускается использование драйверов 1.6)
Описанные далее действия по установке и удалению драйверов 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, переименовать его (или просто удалить), например:
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после чего выполнить команду
update-initramfs -u -k allВышеуказанные действия можно выполнить следующим сценарием от имени суперпользователя с высоким уровнем целостности: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 доступны по ссылке: https://nextcloud.astralinux.ru/s/m5n4pewBAY5M2tM;
- Драйверы для 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:
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-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 и установка пакетов);
После подключения репозитория обновить список пакетов:
sudo apt updateПо необходимости установить пакет nvidia-detect и выполнить проверку оборудования. При этом независимо от используемого оборудования рекомендуется использовать пакет самой последней версии (версия 510):
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После установки пакета проверка оборудования выполняется командой:
nvidia-detect- После подключения репозитория установка драйверов выполняется командами:
- Драйверы без использования DKMS:
Для версий 390 и выше:
sudo apt install nvidia-driver-no-dkms-<номер_версии>Для версии 340
sudo apt install nvidia-no-dkms-340
Драйверы с использованием DKMS:
Для версий 390 и выше:
sudo apt install nvidia-driver-<номер_версии>Для версии 340:
sudo apt install nvidia-340
- Драйверы без использования DKMS:
После установки новых драйверов перезагрузить компьютер:
sudo reboot
Удаление драйверов Nvidia
Для удаления драйверов Nvidia и восстановления работы драйверов Nouveau следует выполнить следующие действия:
Очистить и обновить файл /etc/X11/xorg.conf;
sudo rm /etc/X11/xorg.conf
sudo dpkg-reconfigure xserver-xorgУдалить все пакеты драйверов Nvidia:
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 и символических ссылок:
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:
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и выполнить команду
sudo update-initramfs -u -k allПерезагрузить машину.
Пакет 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:
Устранение проблемы запуска расширений OpenGL на мандатных уровнях, отличных от нулевого с проприетарными драйверами Nvidia
Для устранения проблемы файл /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 ноутбука, возможно в BIOS есть опция, отключающая один из чипов. Либо используйте следующее решение.
Установите драйвер Nvidia. Проприетарный драйвер не поддерживает динамического переключения между картами, поэтому для включения карты Nvidia измените или создайте файл (если отсутствует) /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. Чтобы узнать адрес, введите команду:
01:00.0 3D controller [0302]: NVIDIA Corporation Device [10de:139b] (rev a2)
BusID "PCI:1:0:0"
Затем создайте файл /usr/local/bin/nvidia_switch.sh :
xrandr --setprovideroutputsource modesetting NVIDIA-0 xrandr --auto xrandr --dpi 96
Необходимо сделать файл исполняемым:
chmod +x /usr/local/bin/nvidia_switch.sh
#! /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
Перезагрузить компьютер.
1 Comment
Андрей Куприянов