LINUX.ORG.RU

Автоматический выбор графического драйвера

 ,


0

1

Приветствую.

Помогите раскурить вопрос.

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

Но после установки блоба (тут это обязательный аспект), на интеловой машине больше нельзя загрузиться в графику, ибо иксы усердно грузят модуль нвидии, хотя ничего такого я нигде не нашел, кроме секции в /usr/share/X11/xorg.conf.d/, вида:

Section "OutputClass"
    Identifier     "nvidia"
    MatchDriver    "nvidia-drm"
    Driver         "nvidia"
EndSection
Комментирование которого, в прочем, результатов не даёт.

С текста выше можно понять что в этой теме я не очень, потому объясните, пожалуйста, медленно и как для глупого: как таки сделать так, что бы дрова грузились в зависимости от карты на машине? Ну или в какую сторону копать. Заранее спасибо.


это делается тривиальным скриптом и не понятно, почему так не делает ни один дистрибутив (наверное потому, что кокок блоб). для швабодных дров недавно для этого запилили modeset ddx. ещё в блоб недавно добавили поддержку ядерного drm, возможно это может помочь

anonymous
()
Ответ на: комментарий от anonymous

это делается тривиальным скриптом

Скрипт написать не проблема. Что писать и куда ложить\вписывать? :)

ещё в блоб недавно добавили поддержку ядерного drm

Да, читал что их модуль с 3.9 ядра должен якобы проверять всё. Но как это проверить я не знаю, и способов не нашел.

iu0v1
() автор топика
Ответ на: комментарий от iu0v1

Что писать и куда ложить\вписывать? :)

lspci | grep GeForce

дальше сам додумаешь

anonymous
()
Ответ на: комментарий от iu0v1

тебе понадобится засунуть скрипт на как можно более первые места в очереди загрузки, в systemd это делается элементарно

скрипт, видимо, должен принудительно выгружать модуль nvidia (rmmod) и подсовывать иксам нужный конфиг

anonymous
()
Ответ на: комментарий от iu0v1

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

Section "Device"
Identifier "device1"
Driver "nvidia"
EndSection
для другого драйвера его имя вместо nvidia. можно грепать lspci для автоматического, или /proc/cmdline для ручного выбора

anonymous
()

Проблема не только с конфигом. Драйвер nvidia ещё подменяет несколько библиотек, в том числе, libGL.so. Их тоже нужно переключать.

Black_Shadow ★★★★★
()

занимался подобным вопросом, но вроде осилил частично. Даже тему тут создавал.

Хотел делать через правило udev, передавать параметр driver «intel» или driver «nvidia» непосредственно через переменные udev. На манер как это делают для клавиатуры.

Еще есть возможность управлять выбором загружаемого модуля ядра через параметры загрузки т.е. придется сделать два пункта в меню загрузчика с разными параметрами.

irton ★★★★★
()
Ответ на: комментарий от anonymous

В целом ясно, будем плясать. Спасибо за наводки.

iu0v1
() автор топика
Ответ на: комментарий от iu0v1

если разработчики дистрибутива не реализовали такой простой и полезный механизм — это простой факт, не больше и не меньше

anonymous
()
Ответ на: комментарий от irton

занимался подобным вопросом, но вроде осилил частично. Даже тему тут создавал.

Посмотрел тему. Мрачно немного. Думал решение будет как-то более прямым. Казалось бы, не такая и редкая задача.

Еще есть возможность управлять выбором загружаемого модуля ядра через параметры загрузки т.е. придется сделать два пункта в меню загрузчика с разными параметрами.

Думал над этим. Но лично мне не очень подходит, ибо нужно всюду иметь клавиатуры.

Так или иначе - спасибо.

iu0v1
() автор топика
Ответ на: комментарий от iu0v1

ну я считаю что самое прямое решение - это через udev, потому как можно точно задать действия в зависимости от того что определило ядро.

т.к. параметры в xorg передавать не получилось (а может уже и починили?) можно через правило udev запускать скрипт, который переименует конфиг в /etc/xorg/xorg.conf.d/ чтобы он не обрабатывался

irton ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.