Данная статья применима к:
- Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6)
Действия перед установкой драйверов 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
- Скачать общий архив с помощью WEB-браузера по ссылке: https://nas01.astralinux.ru/sharing/QkVy8hL9X ;
Распаковать полученный архив. Далее предполагается, что архив загружен в текущий каталог и распаковывается в каталог /srv:
sudo tar xf ALSE16-NVidia-all-211206.tar.gz -C /srvЕсли предполагается устанавливать драйверы на компьютеры не используя сетевой репозиторий, то распаковать архив можно сразу на съемный носитель, и далее установку выполнять с этого носителя.Полученный в результате распаковки архива каталог /srv/ALSE16-NVidia-all-211203 подключить в качестве репозитория в соответствии с принятыми правилами использования репозиториев (см. Подключение репозиториев с пакетами в ОС Astra Linux и установка пакетов). Для архива, распакованного в локальный каталог строка описания репозитория выглядит так:
deb file:/srv/ALSE16-NVidia-all-211206 smolensk non-free
После подключения репозитория обновить список пакетов:
sudo apt updateПо необходимости установить пакет nvidia-detect и выполнить проверку оборудования. При этом независимо от используемого оборудования рекомендуется использовать пакет самой последней версии (версия 470):
sudo apt install nvidia-detect-470в случае неработоспособности последней версии можно установить более старые версии:sudo apt install nvidia-detect-460После установки пакета проверка оборудования выполняется командой:
sudo apt install nvidia-detect-390
sudo apt install nvidia-detect-340nvidia-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-а, экрана. Пакет подписан на ключах ООО "РусБИТех-Астра" и обеспечивает функционирование в режиме замкнутой программной среды.
Ссылка для скачивания: Скачать
Известные проблемы
Устранение проблемы запуска расширений 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
Перезагрузить компьютер.