No description
Find a file
Your Name e4892ccff7
Some checks failed
Run CI/CD... / main (push) Failing after 1m45s
Add .gitignore and .gitea/workflows/ci.yml
2025-01-31 18:40:27 +00:00
.gitea/workflows Add .gitignore and .gitea/workflows/ci.yml 2025-01-31 18:40:27 +00:00
.gitignore Add .gitignore and .gitea/workflows/ci.yml 2025-01-31 18:40:27 +00:00
auto-krokodil-rpmlint.conf fix rmplint config 2022-10-18 23:07:22 +03:00
auto-krokodil.spec Suggest to rerun from root when needed 2022-10-27 23:39:18 +03:00
kroko-cli.sh shellcheck (rm not used variable and silent odd warnings) 2022-10-27 23:41:01 +03:00
kroko-gui.sh add rpmlint policy to avoid odd warnings 2022-10-17 13:49:37 +03:00
krokodil-legacy-converter.php implement generation of JSONs for older drivers 2021-10-04 02:59:43 +03:00
krokodil-rpm-provides.php implement generation of JSONs for older drivers 2021-10-04 02:59:43 +03:00
krokodilnvidia.attr Init (rpm generator only for now) 2021-10-04 00:32:48 +03:00
LICENSE.nvidia-json Init (rpm generator only for now) 2021-10-04 00:32:48 +03:00
macros.krokodil Fix dependencies of %%post 2022-10-18 23:16:44 +03:00
macros.spec.in Make different builds of nvidia modules packages not conflict by files 2022-09-14 12:24:00 +03:00
README.md Add README 2022-11-02 20:26:33 +03:00
test.kroko-cli.sh Suggest to rerun from root when needed 2022-10-27 23:39:18 +03:00
test.nvidia470.json Init (rpm generator only for now) 2021-10-04 00:32:48 +03:00
test.spec.in Init (rpm generator only for now) 2021-10-04 00:32:48 +03:00

auto-krokodil

Система автоматической установки драйверов NVIDIA на Linux / Automatic installation of NVIDIA drivers on Linux

For English see comments in code or translate this text using translate.yandex.com.

Назначение

Комплект программ auto-krokodil предназначен для:

  • добавления Provides в RPM на основе поставляемых NVIDIA в JSON списков поддерживаемых драйвером видеокарт
  • унификации и автоматизации упаковки бинарных модулей NVIDIA в RPM-пакеты (для поставки драйверов в виде уже собранных модулей ядра)
  • автоматизации подбора и установки подходящего под железо проприетарного драйвера NVIDIA

Схема работы следующая:

  • при сборке пакета с драйверами в его Provides добавляются идентификаторы поддерживаемых им видеокарт
  • kroko-cli ищет имеющиеся в системе видеокарты NVIDIA
  • в Provides RPM-пакетов из репозитория ищется, какие драйверы поддерживают видеокарту
  • выбирается наиболее новый драйвер
  • если имеется несколько видеокарты, выбирается наиболее новый драйвер, подходящий под все видеокарты

Файлы исходного кода

  • LICENSE.nvidia-json — лицензия на JSON-файлы от NVIDIA
  • auto-krokodil.spec — RPM-spec для сборки RPM-пакетов
  • auto-krokodil-rpmlint.conf — дополнительный конфиг для rpmlint, чтобы не было ложных срабатываний на упакованные с помощью крокодиломакросов модули ядра
  • krokodilnvidia.attr — по каким путям искать JSON-файлы для генерации провайдов RPM
  • krokodil-legacy-converter.php — в старых версиях драйверов NVIDIA (340, 390) нет JSON-файлов, однако в новых версиях есть информация о поддерживаемых старыми версиями драйверов видеокартах, а этот скрипт извлекает ее
  • krokodil-rpm-provides.php — создание Provides для RPM на основе JSON
  • kroko-cli.sh — консольная утилита для автоматической установки драйверов (ищет видеокарты NVIDIA и смотрит, в каких пакетах в Provides записана информация об их поддержке)
  • kroko-gui.sh — графический интерфейс (пока еще не дописан)
  • macros.krokodil — макросы RPM для сборки бинарных модулей ядра
  • test.*, *.in — различные файлы для автотестов

Патчи и баги

О проблемах в работе сообщайте в багзиллу.

Патчи отправляйте пулл-реквестами или на почту m.novosyolov@rosalinux.ru