Versions Compared

Key

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

Оглавление


Информация
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.
Информация

Драйверы 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.

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

Предупреждение

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

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

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

  • 340.108;
  • 390.143;
  • 460.84;
  • 470.57.
  • 495.44 (обновлены 06.12.21, добавлены 03.12.21);

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

  • 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;


Информация

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


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

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

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


  2. Запретить запуск драйверов 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


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

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

  1. В 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:
    1. Скачать общий архив с помощью WEB-браузера по ссылке:
      1. для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7): https://nas01.astralinux.ru/sharing/zNSozJIww;
      2. для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6): https://nas01.astralinux.ru/sharing/riWBIbGbF;

    2. Распаковать полученный архив. Далее предполагается, что архив загружен в текущий каталог и распаковывается в каталог /srv:

      Command

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

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

    3. Полученный в результате распаковки архива каталог /srv/ALSE16-NVidia-all-211203 подключить в качестве репозитория в соответствии с принятыми правилами использования репозиториев (см. Подключение репозиториев с пакетами в ОС Astra Linux и установка пакетов). Для архива, распакованного в локальный каталог строка описания репозитория выглядит так:

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

        Блок кода
        deb file:/srv/ALSE17-NVidia-all-211227 1.7_x86-64 non-free


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

        Блок кода
        deb file:/srv/ALSE16-NVidia-all-220113 smolensk non-free


    4. Для установки драйверов в Astra Linux Special Edition на время установки драйверов изменить приоритет репозитория, например, закомментировав содержимое файла /etc/apt/preferences.d/orel (см. Подключение репозиториев с пакетами в ОС Astra Linux и установка пакетов);

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

      Command
      sudo apt update


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

    Command
    sudo apt install nvidia-detect-495

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

    Command
    sudo apt install nvidia-detect-470
    sudo apt install nvidia-detect-460
    sudo apt install nvidia-detect-390
    sudo apt install nvidia-detect-340


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

    Command
    nvidia-detect


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

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


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

        Command
        sudo apt install nvidia-no-dkms-340


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

      1. Для версий 390, 460, 470:

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


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

        Command
        sudo apt install nvidia-340


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

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

    Информация

    # blacklist nouveau
    # options nouveau modeset=0


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

    Информация
    nouveau modeset=1

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

    Command
    update-initramfs -u -k all


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

Информация
Для удаления драйверов Nvidia можно воспользоваться утилитой деинсталляции драйверов Nvidia из пакета astra-nvidia, доступного по ссылке.

Пакет настроек Nvidia

Пакет настроек Nvidia: утилита для настройки параметров карт, xServer-а, экрана. Пакет подписан на ключах ООО "РусБИТех-Астра" и обеспечивает функционирование в режиме замкнутой программной среды.

Ссылка для скачивания: Скачать

Известные проблемы

Устранение ошибки  "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 привести к виду:

Блок кода
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 со следующим содержимым:

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

Блок кода
BusID "PCI:1:0:0"

Затем создайте файл /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

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