Page tree

Данная статья применима к:

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

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

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

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

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

Выпуск драйверов 22.11.2023

Применимо только для обновления БЮЛЛЕТЕНЬ № 2021-1126SE17 (оперативное обновление 1.7.1). Неприменимо для других обновлений.

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

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

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

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

Выпуск драйверов 02.11.2023

Заменен выпуском 22.11.2023.

Выпуск драйверов 07.06.2023

Применимо только для обновления БЮЛЛЕТЕНЬ № 2023-0426SE17 (оперативное обновление 1.7.4). Неприменимо для других обновлений.

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

  • 340.108;
  • 390.151;
  • 470.129;
  • 510.73.05;
  • 525.78.01.

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

  • 5.4.0:
    • linux-image-5.4.0-110-generic/linux-image-5.4.0-110-hardened;
  • 5.10: 
    • linux-image-5.10.176-1-generi/linux-image-5.10.176-1-hardened;
  • 5.15.0: 
    • linux-image-5.15.0-70-generic/linux-image-5.15.0-70-hardened/linux-image-5.15.0-70-lowlatency.

Выпуск драйверов 27.02.2023

Применимо только для обновления БЮЛЛЕТЕНЬ № 2022-1110SE17 (оперативное обновление 1.7.3). Неприменимо для других обновлений. 

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

  • 340.108;
  • 390.151;
  • 460.91.03;
  • 470.129.06
  • 510.73.05;

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

  • 5.4.0:
    • 5.4.0-110-generic / 5.4.0-110-hardened
  • 5.10.0:
    • 5.10.142-1-generic / 5.10.142-1-hardened

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

В архивах представлены как драйверы с DKMS, так и драйверы без DKMS. Порядок установки описан далее.

Версия 04.07.2023. Драйверы данной версии предназначены для установки исключительно с ядрами из состава обновления БЮЛЛЕТЕНЬ № 20221220SE16 (оперативное обновление 12) . Представленные версии драйверов:

  • 535.54.03
  • 525.78.01
  • 510.73.05
  • 470.129.06
  • 390.151

Версия: 06.09.2022. Представленные версии драйверов:

  • 340.108 (драйверы в репозитории 2.12.45 несовместимы с ядром 5.15.0-33, вместо них допускается использовать драйверы из репозитория 1.6);
  • 390.143 (драйверы в репозитории 2.12.45 несовместимы с ядром 5.15.0-33, вместо них допускается использовать драйверы из репозитория 1.6);
  • 460.84;
  • 470.57;
  • 495.44 (добавлены 03.12.21, обновлены 06.12.21, удалены 06.09.22);
  • 510.73 (добавлен 23.05.2022);
  • 515.65.01 (добавлен 06.09.22).

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

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


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

При работе в Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7) с установленным обновлением БЮЛЛЕТЕНЬ № 2022-0819SE17 (оперативное обновление 1.7.2) для переключения используемых графических драйверов можно использовать графический инструмент fly-admin-driver ("Пуск" - "Панель управления" - "Система" - "Управление драйверами".

  1. Если существует файл /etc/X11/xorg.conf, переименовать его (или просто удалить), например:

    sudo mv /etc/X11/xorg.conf /etc/X11/xorg.conf.`date +%s`

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

  1. Загрузить архив репозитория с пакетами. Для загрузки открыть указанные ниже ссылки с помощью web-браузера:
    1. Для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.7):
      1. Драйверы NVidia c DKMS находятся в расширенном репозитории. Для их установки требуется подключить расширенный репозиторий, соответствующий установленному оперативному обновлению. Скачивание архива при этом не требуется.
      2. Драйверы NVidia без DKMS доступны по ссылке:
        1. Для обновления БЮЛЛЕТЕНЬ № 2023-0426SE17 (оперативное обновление 1.7.4): https://nextcloud.astralinux.ru/s/BRk25PEmoj6XqCQ.
        2. Для обновления БЮЛЛЕТЕНЬ № 2022-1110SE17 (оперативное обновление 1.7.3): https://nextcloud.astralinux.ru/s/m5n4pewBAY5M2tM.
        3. Для обновления БЮЛЛЕТЕНЬ № 2021-1126SE17 (оперативное обновление 1.7.1): https://nextcloud.astralinux.ru/s/xqqT3DgZjMJg8Wx.
    2. Драйверы для Astra Linux Special Edition РУСБ.10015-01 (очередное обновление 1.6) с установленным обновлением БЮЛЛЕТЕНЬ № 20221220SE16 (оперативное обновление 12) доступны по ссылке: https://nextcloud.astralinux.ru/s/nbmPKskMkQG7Xrc. Драйверы применимы только при условии установки указанного обновления. 
    3. Драйверы для 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.

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

    sudo tar xf ALSE1?-NVidia-all-*.tar.gz -C /srv
    Если предполагается устанавливать драйверы на компьютеры не используя сетевой репозиторий, то распаковать архив можно сразу на съемный носитель, и далее установку выполнять с этого носителя.

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

      deb file:/srv/ALSE17-NVidia-all-230607 1.7_x86-64 non-free

      или 

      deb file:/srv/ALSE17-NVidia-all-230227 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:

      deb file:/srv/ALSE16-NVidia-all-220906 smolensk non-free

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

      deb file:///srv/ALSE17-NVidia-all-230227 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. После подключения репозитория обновить список пакетов:

    sudo apt update

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

    sudo apt install nvidia-detect-525
    в случае неработоспособности последней версии можно установить более старые версии:
    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

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

    nvidia-detect

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

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

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

        sudo apt install nvidia-no-dkms-340

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

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

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

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

        sudo apt install nvidia-340

  9. После установки новых драйверов перезагрузить компьютер:

    sudo reboot

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

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

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

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

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

  2. Удалить все пакеты драйверов 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

  3. Восстановить оригинальные версии 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

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

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

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

    # blacklist nouveau
    # options nouveau modeset=0

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

    nouveau modeset=1

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

    sudo update-initramfs -u -k all

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

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

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 привести к виду:

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 ноутбука: возможно там есть опция, отключающая один из чипов.

Также можно использовать следующее решение:с

  1. Установить драйвер Nvidia.

  2. Узнать адрес карты Nvidia. Чтобы узнать адрес выполнить команду:

    lspci | 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"
  3. Проприетарный драйвер не поддерживает динамическое переключение между картами, поэтому для включения карты Nvidia изменить или создать файл (если отсутствует) /etc/X11/xorg.conf со следующим содержимым:

    /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.

  4. Создать файл /usr/local/bin/nvidia_switch.sh :

    /usr/local/bin/nvidia_switch.sh
    xrandr --setprovideroutputsource modesetting NVIDIA-0
    xrandr --auto
    xrandr --dpi 96

    и сделать этот файл исполняемым:

    chmod +x /usr/local/bin/nvidia_switch.sh

  5. Добавить созданный файл в файл /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
  6. Перезагрузить компьютер.


Использование PRIME Render Offload

После установки драйверов NVIDIA версии 435.17 и более поздних версий становится доступной  возможность использовать PRIME Render Offload - официальный метод поддержки переключения графики Nvidia. При этом xf86-video-modesetting, xf86-video-amdgpu (450.57), и xf86-video-intel (455.38) официально поддерживаются как iGPU драйверы. Для запуска программы на видеокарте NVIDIA можно использовать следующую форму команды:

__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME="nvidia" __VK_LAYER_NV_optimus="NVIDIA_only" <имя_программы>