Page tree

Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents


Info
titleДанная статья применима к:
  • 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 Special Edition, при этом:

  • комплекты драйверов для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6) представлены в двух вариантах:
    • требующие использования DKMS;
    • не требующие использования DKMS.
  • комплекты драйверов для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7) представлены в одном варианте:
    • не требующие использования DKMS.
Info

Драйверы NVidia для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7), требующие использования DKMS, доступны в составе расширенного репозитория Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7).

Драйверы NVidia для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6), требующие использования DKMS, могут использоваться в Astra Linux Common Edition.

Все драйверы без DKMS подписаны на ключах ООО "РусБИТех-Астра" и обеспечивают функционирование в режиме замкнутой программной среды.

Warning

При использовании драйверов без DKMS при установке нового ядра ОС необходимо переустановить драйверы:

Command
sudo apt install --reinstall <название_драйвера>


Драйверы для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7)

Последнее обновление: 27.12.2021. Представленные версии драйверов:

  • 340.108;
  • 390.143;
  • 460.84;
  • 470.57.
  • 495.44;

Поддерживаемые ядра:

  • 5.4.0:
    • linux-image-5.4.0-54-generic / linux-image-5.4.0-54-hardened;
    • linux-image-5.4.0-81-generic / linux-image-5.4.0-81-hardened;
  • 5.10.0:
    • linux-image-5.10.0-1045-generic / linux-image-5.10.0-1045-hardened;

Драйверы для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6) и Astra Linux Common Edition

Последнее обновление: 23.05.2022. Представленные версии драйверов:

  • 340.108 (несовместимы с ядром 5.15.0-33);
  • 390.143 (несовместимы с ядром 5.15.0-33);
  • 460.84;
  • 470.57.
  • 495.44 (добавлены 03.12.21, обновлены 06.12.21);
  • 510.73 (добавлен 23.05.2022);

Поддерживаемые ядра:

  • 4.15.3:
    • linux-image-4.15.3-1-generic / linux-image-4.15.3-1-hardened;

    • inux-image-4.15.3-2-generic / linux-image-4.15.3-2-hardened

    • linux-image-4.15.3-141-generic / linux-image-4.15.3-141-hardened;

    • linux-image-4.15.3-154-generic / linux-image-4.15.3-154-hardened;

  • 5.4.0:
    • linux-image-5.4.0-34-generic / linux-image-5.4.0-34-hardened;

    • linux-image-5.4.0-71-generic / linux-image-5.4.0-71-hardened;

    • linux-image-5.4.0-81-generic / linux-image-5.4.0-81-hardened;

  • 5.10.0:
    • linux-image-5.10.0-1038.40-generic / linux-image-5.10.0-1038.40-hardened

    • linux-image-5.10.0-1045-generic / linux-image-5.10.0-1045-hardened;

  • 5.15.0:
    • linux-image-5.15.0-33-generic / linux-image-5.15.0-33-hardened (кроме драйверов 340 и 390).


Info

Описанные далее действия по установке и удалению драйверов NVidia применимы ко всем обновлениям Astra Linux на платформе x86-64. Отличаются загружаемые архивы с драйверами, иные отличия описаны в тексте.


Действия перед установкой драйверов NVidia

  1. Очистить и обновить Если существует файл /etc/X11/xorg.conf, то удалить его:

    Command
    rm /etc/X11/xorg.conf


  2. Выполнить команду:

    Command
    dpkg-reconfigure xserver-xorg


  3. Запретить запуск драйверов Nouveau, добавив в файл /etc/modprobe.d/blacklist.conf строчки

    Info
    blacklist nouveau
    options nouveau modeset=0

    и закомментировать в файле /etc/initramfs-tools/modules строчку nouveau modeset=1

    Info
    #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


  4. Перезагрузить компьютер.

Порядок установки драйверов NVidia

  1. Загрузить архив репозитория с пакетами:
    1. Для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7):
      1. драйверы NVidia c DKMS находятся в расширенном репозитории, и для их установки требуется подключить расширенный репозиторий, а скачивание архива не требуется;
      2. драйверы NVidia без DKMS доступны по ссылке: https://nas01.astralinux.ru/sharing/ZZryVolK7;

    2. Для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6), Astra Linux Special Edition РУСБ.10015-16 исп. 1 и Astra Linux Common Edition скачать общий архив с репозиторием драйверов с DKMS и без DKMS с помощью WEB-браузера по ссылке: 
      https://nas01.astralinux.ru/sharing/Ds9kEyYiE;
  2. Распаковать полученный архив. Далее предполагается, что архив загружен в текущий каталог и распаковывается в каталог /srv:

    Command

    sudo tar xf ALSE1?-NVidia-all-*.tar.gz -C /srv

    Если предполагается устанавливать драйверы на компьютеры не используя сетевой репозиторий, то распаковать архив можно сразу на съемный носитель, и далее установку выполнять с этого носителя;

  3. Полученный в результате распаковки архива каталог подключить в качестве репозитория в соответствии с принятыми правилами использования репозиториев (см. Подключение репозиториев с пакетами в ОС Astra Linux и установка пакетов). Для архива, распакованного в локальный каталог строка описания репозитория выглядит так:
    1. Для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7):

      Code Block
      deb file:/srv/ALSE17-NVidia-all-220315 1.7_x86-64 non-free


    2. Для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6), Astra Linux Special Edition РУСБ.10015-16 исп. 1 и Astra Linux Common Edition:

      Code Block
      deb file:/srv/20220520 smolensk non-free

      Допустима также форма указания репозиториев с использованием "тройной косой черты":

      Code Block
      deb file:///srv/ALSE17-NVidia-all-220315 1.7_x86-64 non-free


  4. Помимо подключения репозитория с драйверами для установки драйверов:

    1. В Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7) должна быть подключена актуальная версия расширенного репозитория (см. Репозитории Astra Linux Special Edition x.7: структура, особенности подключения и использования);
    2. В Astra Linux Common Edition на время установки драйверов изменить приоритет репозитория, например, закомментировав содержимое файла /etc/apt/preferences.d/orel (см. Подключение репозиториев с пакетами в ОС Astra Linux и установка пакетов);

  5. После подключения репозитория обновить список пакетов:

    Command
    sudo apt update


  6. По необходимости установить пакет nvidia-detect и выполнить проверку оборудования. При этом независимо от используемого оборудования рекомендуется использовать пакет самой последней версии (версия 510):

    Command
    sudo apt install nvidia-detect-510

    в случае неработоспособности последней версии можно установить более старые версии:

    Command
    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


  7. После установки пакета проверка оборудования выполняется командой:

    Command
    nvidia-detect


  8. После подключения репозитория установка драйверов выполняется командами:
    1. Драйверы без использования DKMS: 
      1. Для версий 390 и выше:

        Command
        sudo apt install nvidia-driver-no-dkms-<номер_версии>


      2. Для версии 340

        Command
        sudo apt install nvidia-no-dkms-340


    2. Драйверы с использованием DKMS:

      1. Для версий 390 и выше:

        Command
        sudo apt install nvidia-driver-<номер_версии>


      2. Для версии 340:

        Command
        sudo apt install nvidia-340


Удаление драйверов Nvidia

Warning
Перед удалением драйверов Nvidia во избежание утери доступа к машине рекомендуется переключить в BIOS вывод графики на интегрированную видеокарту.

Для удаления драйверов Nvidia и восстановления работы драйверов Nouveau следует выполнить следующие действия:

  1. Очистить и обновить файл /etc/X11/xorg.conf;

    Command

    rm /etc/X11/xorg.conf
    dpkg-reconfigure xserver-xorg


  2. Удалить все пакеты драйверов Nvidia:

    Command
    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


  3. Восстановить оригинальные версии GL библиотек mesa и символических ссылок:

    Command
    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


  4. Удалить модули ядра Nvidia:

    Command
    for nvdriver in `find /lib/modules -type f -name "nvidia*"`; do
        echo "$nvdriver"
        mv -f $nvdriver ${nvdriver}-$$-backup
    done
    depmod -a


  5. Удалить (или закомментировать) строки в файле /etc/modprobe.d/blacklist.conf, запрещающие запуск драйверов Nouveau:

    Info

    # blacklist nouveau
    # options nouveau modeset=0


  6. Раскомментировать в файле /etc/initramfs-tools/modules строку

    Info
    nouveau modeset=1

    и выполнить команду

    Command
    update-initramfs -u -k all


  7. Перезагрузить машину.

Info
Для удаления драйверов 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

Info
Данная проблема может проявляться в ОС Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.4/1.5). При работе с ОС Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6) проблем с расширениями OpenGL не наблюдается, и никакие действия не требуются.

Для устранения проблемы файл /etc/X11/fly-dm/Xsetup привести к виду:

Code Block
languagebash
titleXsetup
#! /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 со следующим содержимым:

Code Block
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. Чтобы узнать адрес, введите команду:

Command
Titlelspci | 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" строка в файле будет выглядеть так: 

Code Block
BusID "PCI:1:0:0"

Затем создайте файл /usr/local/bin/nvidia_switch.sh :

Code Block
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 :

Code Block
#! /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

Перезагрузить компьютер.