Почему мне приходится переустанавливать видеодрайверы при обновлении ядра?

Почему мне приходится переустанавливать видеодрайверы при обновлении ядра?

Я понимаю, что драйверы скомпилированы в ядро, но почему API так тесно связан с ядром?

Можно ли установить драйверы таким образом, чтобы мне не приходилось переустанавливать их каждый раз при обновлении?

Тот факт, что я могу снова использовать драйвер и скомпилировать его, означает, что драйвер действителен. Тогда зачем мне делать это вручную?

Связьк драйверу, который я использую

Драйвер дисплея AMD Catalyst™ 13.1 для Linux x86

AMD Radeon HD серии 7700

В настоящее время работает

Linux 3.5.0-25-generic #39-Ubuntu SMP  x86_64 x86_64 x86_64 GNU/Linux

решение1

Любые драйверы, не являющиеся частью основного дерева ядра (которое, конечно, включает в себя проприетарные драйверы), должны быть перестроены для новых версий ядра, поскольку внутренние интерфейсы ядра могли измениться. Драйверы тесно связаны с ядром, поскольку они работают в пространстве ядра и используют внутренние интерфейсы ядра. Приложения — это другая игра в мяч, и они используют интерфейс syscall, который является интерфейсом пользовательского пространства к ядру, и этот интерфейс чрезвычайно стабилен.

Грег Кроа-Хартман опубликовал замечательную статью на эту темуздесь.

решение2

Основываясь на личном опыте, новое ядро ​​помещает совершенно новый каталог драйверов/модулей и не пытается выяснить, какие драйверы/модули можно скопировать из старых каталогов в новые.

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

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

И это не редкость, поскольку писать сценарии установки/обновления для каждой комбинации операционной системы и видеодрайвера и тестировать их — это утомительно.

Связанный контент