LINUX.ORG.RU

Две видеокарты, два драйвера, два фю^W X-сервера

 , ,


0

1

Настраиваю мультисит. Есть две видеокарты Nvidia: GT240 и 6600.

Проблема первая: последний блоб не может 6600, а nouveau при попытке подхватить 240 намертво вешает систему. В принципе, меня полностью устраивает вариант использовать 240 с проприетарным и 6600 с nouveau, но пока что у меня получается их загрузить описанным образом только вручную: nouveau в блэклист, запустить Х-сервер, чтоб проприетарный занял 240-ю, потом загрузить nouveau - он подхватывает оставшуюся 6600. Надо сделать так, чтобы это происходило автоматически на стадии загрузки модулей удевом - каким-то образом скрыть от каждого из двух модулей «чужую» видеокарту.

Проблема вторая: не знаю, как в других дистрибутивах, а в генте утилитой eselect opengl выбирается общесистемная реализация OpenGL. У меня сейчас выбрана nvidia - которая для проприетарного драйвера, при этом eselect создала, например, такие симлинки:

/usr/lib/libGL.so -> opengl/nvidia/lib/libGL.so.310.14
/usr/lib/xorg/modules/extensions/libglx.so -> ../../../opengl/nvidia/extensions/libglx.so.310.14
Соответственно, при запуске второго Х-сервера с nouveau происходит такое:
(II) LoadModule: "glx"
(II) Loading /usr/lib64/xorg/modules/extensions/libglx.so
(II) Module glx: vendor="NVIDIA Corporation"
   compiled for 4.0.2, module version = 1.0.0
   Module class: X.Org Server Extension
(II) NVIDIA GLX Module  310.14  Tue Oct  9 12:14:30 PDT 2012
Loading extension GLX
...
(EE) Failed to initialize GLX extension (Compatible NVIDIA X driver not found)
Разумеется, ничто, использующее OpenGL, под ним не работает. Надо сделать так, чтобы два Х-сервера использовали разные реализации.

★★

Последнее исправление: shatsky (всего исправлений: 3)

Надо сделать так, чтобы два Х-сервера использовали разные реализации.

А вариант «отрепортить фриз с nouveau» совсем не рассматривается? Ещё должно быть можно обе видеокарты с проприетарным 304-м драйвером использовать.

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

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

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

shatsky ★★
() автор топика

В доках генты написано что в одной системе можно только один опенжэил драйвер использовать.

Но можешь проделать такой хак, один X поставить в /usr/local и что ему необходимо тоже, включая опенжл, а в системе оставить другой опенжл.... Потом запускать два разных Х с /usr/bin & /usr/local/bin они будут использовать разные опенжл.

Проблема в установке и обновлении такой системы... Пиши скрипт. Можно разрешить эту проблему написав ebuild и установив ещё один X в другой слот и модифицировать эселект опенжл чтобы оно это понимало.

multihead
()

Мне очень важен ваш опыт с Nvidia в свете этих двух тем:

Многоголовая система на одной видяхе ! ?

multiseat на hd3450 c двумя головами

Возможно ли на одной видеокарте Nvidia реализовать с помощью Option «ZaphodHeads» разделение двух Х серверов. Попробуйте и напишите результат.

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

Возможно ли на одной видеокарте Nvidia реализовать с помощью Option «ZaphodHeads» разделение двух Х серверов.

Нет. Так можно только запустить один сервер с двумя независимыми экранами (:0.0 и :0.1). Для нескольких серверов и мультисита нужно, чтобы карта выглядела в системе как несколько устройств. Есть попытка реализовать именно это - DRM render-nodes, недавно вроде приняли в апстрим: http://www.phoronix.com/scan.php?page=news_item&px=MTI1NjM

shatsky ★★
() автор топика
Последнее исправление: shatsky (всего исправлений: 1)
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.