[devel] nVidia_legacy

Sergey Vlasov =?iso-8859-1?q?vsu_=CE=C1_altlinux=2Eru?=
Пт Июн 15 23:38:06 MSD 2007


On Fri, Jun 15, 2007 at 10:41:15PM +0400, Хихин Руслан wrote:
> 1 Первое, что пришло в голову - положить модули в разные папки.
> depmode -a
> Посмотрел в modules.dep - в файл попадает первый найденный ядром модуль.
> Так дело не пойдёт :)

Да, такая ситуация недопустима.

> 2 Дал модулям разные имена, положив их в одной папке.
> nvidia_71xx.ko и nvidia_96_xx.ko
> 
> depmode -a
> В modules.dep попали все модули.
> Любой модуль можно загрузить по имени.

Однако в этом случае возникает несоответствие имени файла модуля
реальному имени модуля (которое прописано внутри файла).  И при
отсутствии nvidia.ko не будет работать выгрузка модуля через команду
modprobe -r nvidia.

> 3 Создал символьную ссылку c именем nvidia.
> depmode -a
> И символическая ссылка тоже в modules dep.

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

> Перезагружаю компьютер с ссылкой, указывющей на nvidia_71xx.ko.
> Оп! - в dmesg вижу, что почему-то загрузился nvidia_96xx.ko. Хотя и 
> в ./.versions/nvidia и символическая ссылка указывет на 71xx - видно 
> где-то умная автоматика выбирает наибольшую из имеющихся версий  - 
> глюк. 

Проблема может быть в том, что в модулях nvidia есть таблица PCI ID
поддерживаемых карт, по информации из которой udevd может загружать
модули автоматически.  Для модуля nvidia это по умолчанию запрещено
(через blacklist nvidia в /etc/modprobe.d/blacklist), но в случае
переименования модуля этот запрет не срабатывает.
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: Digital signature
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20070615/a6e27ff3/attachment-0001.bin>


Подробная информация о списке рассылки Devel