Данная статья применима к:
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.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
Очистить и обновить файл /etc/X11/xorg.conf:
rm /etc/X11/xorg.conf
dpkg-reconfigure xserver-xorgЗапретить запуск драйверов 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
- В Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7) драйверы NVidia c DKMS находятся в расширенном репозитории, и для их установки требуется подключить расширенный репозиторий, а скачивание архива не требуется.
Для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6), Astra Linux Special Edition РУСБ.10015-16 исп. 1 и Astra Linux Common Edition:- Скачать общий архив с помощью WEB-браузера по ссылке:
- для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7): https://nas01.astralinux.ru/sharing/zNSozJIww;
- для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6): https://nas01.astralinux.ru/sharing/riWBIbGbF;
Распаковать полученный архив. Далее предполагается, что архив загружен в текущий каталог и распаковывается в каталог /srv:
sudo tar xf ALSE1?-NVidia-all-*.tar.gz -C /srvЕсли предполагается устанавливать драйверы на компьютеры не используя сетевой репозиторий, то распаковать архив можно сразу на съемный носитель, и далее установку выполнять с этого носителя;Полученный в результате распаковки архива каталог /srv/ALSE16-NVidia-all-211203 подключить в качестве репозитория в соответствии с принятыми правилами использования репозиториев (см. Подключение репозиториев с пакетами в ОС Astra Linux и установка пакетов). Для архива, распакованного в локальный каталог строка описания репозитория выглядит так:
Для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7):
deb file:/srv/ALSE17-NVidia-all-211227 1.7_x86-64 non-free
Для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6):
deb file:/srv/ALSE16-NVidia-all-220113 smolensk non-free
- Для установки драйверов в Astra Linux Special Edition на время установки драйверов изменить приоритет репозитория, например, закомментировав содержимое файла /etc/apt/preferences.d/orel (см. Подключение репозиториев с пакетами в ОС Astra Linux и установка пакетов);
После подключения репозитория обновить список пакетов:
sudo apt update
- Скачать общий архив с помощью WEB-браузера по ссылке:
По необходимости установить пакет nvidia-detect и выполнить проверку оборудования. При этом независимо от используемого оборудования рекомендуется использовать пакет самой последней версии (версия 495):
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, 460, 470:
sudo apt install nvidia-driver-no-dkms-<номер_версии>Для версии 340
sudo apt install nvidia-no-dkms-340
Драйверы с использованием DKMS:
Для версий 390, 460, 470:
sudo apt install nvidia-driver-<номер_версии>Для версии 340:
sudo apt install nvidia-340
- Драйверы без использования DKMS:
Удаление драйверов Nvidia
Для удаления драйверов Nvidia и восстановления работы драйверов Nouveau следует выполнить следующие действия:
Очистить и обновить файл /etc/X11/xorg.conf;
rm /etc/X11/xorg.conf
dpkg-reconfigure xserver-xorgУдалить все пакеты драйверов Nvidia:
apt remove --purge --yes --force-yes nvidia*
apt remove --purge --yes --force-yes libnvidia*
apt remove --purge --yes --force-yes xserver-xorg-video-n*
for nvdeb in `dpkg -l | grep nvidia`; do
apt remove --purge --yes --force-yes $nvdeb
doneВосстановить оригинальные версии GL библиотек mesa и символических ссылок:
apt install --reinstall --yes --force-yes xserver-xorg-core libgl1 libgl1-mesa-dri libgl1-mesa-glx libglapi-mesa libgles2 libgles2-mesa libglew2.0 libglewmx1.13 libglu1-mesa libglvnd0 libglx-mesa0 libglx0Удалить модули ядра Nvidia:
for nvdriver in `find /lib/modules -type f -name "nvidia*"`; do
echo "$nvdriver"
mv -f $nvdriver ${nvdriver}-$$-backup
done
depmod -aУдалить (или закомментировать) строки в файле /etc/modprobe.d/blacklist.conf, запрещающие запуск драйверов Nouveau:
# blacklist nouveau
# options nouveau modeset=0Раскомментировать в файле /etc/initramfs-tools/modules строку
nouveau modeset=1и выполнить команду
update-initramfs -u -k allПерезагрузить машину.
Пакет настроек Nvidia
Пакет настроек Nvidia: утилита для настройки параметров карт, xServer-а, экрана. Пакет подписан на ключах ООО "РусБИТех-Астра" и обеспечивает функционирование в режиме замкнутой программной среды.
Ссылка для скачивания: Скачать
Известные проблемы
Устранение проблемы запуска 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
Перезагрузить компьютер.