ALT Driver Manager

Материал из ALT Linux Wiki

< Soft

ALT Driver Manager
User-menu-alt-driver-manager.png
Разработчик(и) Петр А.
Первый выпуск 2025
Лицензия GNU GPL v3
Сайт altlinux.space
Репозиторий нет

ALT Driver Manager - утилита-попытка сделать графический центр установки и удаления драйверов для ALT Linux.

Что собой представляет

ALT Driver Manager-главное окно.png

Окно программы делится на три части:

  • раздел категорий
  • раздел с драйверами
  • панель поиска
  • панель описания

Вы выбираете слева категорию.

В строке поиска набираете производителя или модель - программа ищет по текущей категории по описанию и названию драйвера и отображает в "разделе с драйверами".

Вы можете отметить галочкой на установку несколько драйверов (сколько хотите) в разных категориях или на удаление, сняв галочки (они остаются у установленных). Потом нажимаете "применить" - и изменения применяются.

Как устроено

Каждый драйвер - специальный "модуль".

"Модули" лежат в папке /etc/alt-driver-manager/modules/.

Каждый модуль лежит в своей подпапке с уникальным именем.

В нем находятся следующие файлы:

  • icon.png
  • module
  • install.sh
  • remove.sh

Как понимается, первый - отображаемый значок, второй файл - описание модуля для программы, третий-четвертый - скрипты для установки и удаления.

Кнопкой "обновить все" - обновляются драйвера через Epm.

Файл модуля

Файл модуля выглядит так:

Name [ru]: Реализация VA-API, использующая NVDEC в качестве бэкэнда
Name [en]: VA-API implementation that uses NVDEC as a backend
Description [ru]:
Это реализация VA-API, использующая NVDEC в качестве бэкенда. Эта реализация специально разработана для использования Firefox для ускоренного декодирования веб-контента и может работать некорректно в других приложениях.

Для этой библиотеки требуется, чтобы модуль ядра nvidia_drm был настроен с параметром nvidia-drm.modeset=1.
Description [en]:
This is an VA-API implementation that uses NVDEC as a backend. This implementation is specifically designed to be used by Firefox for accelerated decode of web content, and may not operate correctly in other applications.

This library requires that the nvidia_drm kernel module is configured with the parameter nvidia-drm.modeset=1
Category: Video
Icon: icon.png
InstallScript: install.sh
RemoveScript: remove.sh
CheckPackage: nvidia-vaapi-driver
CheckFile:
CheckDirectory:
Name [ru]: Драйвер RTL8821CE
Name [en]: RTL8821CE Driver
Category: Network
Icon: icon.png
InstallScript: install.sh
RemoveScript: remove.sh
CheckPackage:
CheckFile:
CheckDirectory:
CheckKrnlModule: rtl8821ce.ko
  • Name - названия ru/en
  • Description - ru/en - описание, поддерживает абзацы
  • Category - категория - указывается на англицком, отображается на русском

Элемент кода:

"Видеокарты": "Video",
"Принтеры": "Printers",
"Сканеры": "Scanners",
"МФУ": "MFP",
"Сеть": "Network",
"Другое": "Others"
  • Icon - значок в папке с модулем, может иметь любое имя
  • InstallScript - файл скрипта для установки, все что мы в нем опишем, будет выполняться при установке install.sh\
#!/bin/bash
apt-get update
apt-get install nvidia-vaapi-driver -y

или

#!/bin/bash
apt-get update
apt-get install http://altrepo.ru/local-p10/x86_64/RPMS.local-p10/samsung-uld-standalone-1.0.39.1.17-alt3.x86_64.rpm -y

или

#!/bin/bash
epm play fplus-upd-ppd -y
  • RemoveScript - таким же образом описывается удаление
  • Далее следуют триггеры, по которым определяется, по чему программа определяет что драйвер установлен:
    • CheckPackage: nvidia-vaapi-driver - по пакету
    • CheckFile: - по файлу
    • CheckDirectory: - по каталогу
    • CheckKrnlModule: - по модулю ядра (например, rtl8821ce.ko)

Как сделать свои категории

Категории прописаны в коде: https://altlinux.space/petr-akhlamov/alt-driver-manager/src/commit/e04612160d70a77556aa6dc81fd27efcffa616d1/driver-manager/driver_module.py#L303

Так же там указан map EN-RU. В модулях используется категория EN.

Теоретически, прописав там любую категорию - Игры, видео, Аудио - можно сделать менеджер приложений.

Как устанавливать/удалять

По сути для установки вы ставите галочки у нужных драйверов, для удаления - убираете. Потом нажимаете Применить - и программа совершает изменения.

Вопрос по модулям

Модули из разных источников можно раскладывать в разные пакеты тем самым позволяя это делать разным вендорам независимо. Модульность.

Где попробовать?

Исходники:

Готовые пакеты (все в одной папке):