LINUX.ORG.RU

Совместная работа nouveau и Nvidia proprietary driver в multiseat системе

 , , ,


0

1

Добрый день!

В связи с тем, что уважаемые разработчики проприетарного драйвера Nvidia в новых версиях (310.+) отказались от поддержки старых видеокарт, интегрированная 6150se отказалась заводиться после очередного обновления драйвера. Не долго печалясь, в xorg.conf драйвер для этой карточки был заменён на nouveau. Не тут то было. Иксы упорно не стартовали, ругаясь строчками

[124078.013] (EE) [drm] failed to open device
[124078.013] (EE) No devices detected.

C vesa драйвером загрузка происходила, но, вправду, не сидеть же на vesa при наличии рабочего драйвера для видеокарты. X -configure, переписывание xorg.conf с нуля, его полное удаление - ничего не помогало. Удаление xorg.conf загружало vesa+какой-то фреймбуфер драйвер как два рядом стоящих экрана, и перемещение по ним происходило при достижении мышкой физического края монитора. При этом смена картинки происходила только под курсором мыши, а полное её обновление достигалось первым кликом мыши по «новому» экрану.

Следующей идеей, посетившей неопытную голову после прочтения в недрах debian wiki строчки про то, что скорее всего nouveau не будет работать вместе с установленным nvidia-proprietary драйвером, стала идея о том, что неплохо бы убрать загруженный модуль nvidia, и попытаться загрузить иксы без него.

rmmod nvidia
modprobe nouveau
startx
...
(EE) [drm] failed to open device
(EE) No devices detected.

Удаление проприетарного драйвера не рассматривалось совсем, на втором рабочем месте без нареканий трудится GeForce GT 440, со своим отдельным xorg.conf.

Удаление из файла /etc/modprobe.d/nvidia-kernel-common.conf строки nouveau так же не возымело должного результата. Второе рабочее место не запускалось с nouveau ни под каким предлогом.

Пришлось выставить vesa драйвер, в котором никоим образом не хотело меняться разрешение, хотя пенять тут остаётся лишь на кривые руки. Благо, на том рабочем месте не требовалось 2d-3d ускорение, и оно оставалось вполне работоспособным, в то время, как я искал пути решения проблемы.

В жизни иногда происходят последовательности событий, которые помогают выйти из, казалось бы, сложной ситуации не очевидным способом. Такую последовательность принято называть «случаем».

Такой случай, ошибка с настраиванием lightdm.conf, привёл к тому, что переход в виртуальную консоль оказался невозможным. Загрузившись в single-user mode и поправив конфигурационные файлы ( убрав из lightdm.conf -novtswitch -sharevts и ссылку на конфигурационный xorg файл для первого рабочего места), не перезагружая компьютер вышел из sum. И, о чудо! Первое рабочее место корректно загрузилось со стандартным xorg.conf, в котором ему назначен драйвер nouveau. Разрешение экрана, герцовка монитора, 2-d ускорение... Но, счастье длилось недолго - до первой перезагрузки. И снова «No devices detected».

Приходится запускать систему через строку single-user mode в grub, вводить root-пароль и сразу после этого # exit, что-бы продолжить загрузку.

Подскажите пожалуйста, в чём принципиальное отличие обычной загрузки системы от загрузки в режим восстановления с последующим выходом из него, и как можно привить правильное поведение обычной загрузке?

$ cat /etc/default/grub | pastebinit 
http://paste.debian.net/203680/

$ cat /boot/grub/grub.cfg | pastebinit 
http://paste.debian.net/203683/

$ cat /etc/X11/xorg.conf | pastebinit # Конфигурационный файл для первого рабочего места
http://paste.debian.net/203686/

$ cat /etc/X11/xorg.config | pastebinit # Конфигурационный файл для второго рабочего места
http://paste.debian.net/203687/

$ cat ~/Документы/Xorg.log | pastebinit # Пример удачного лога загрузки первого рабочего места через вход-выход из режима восстановления
http://paste.debian.net/203688/

$ cat /var/log/Xorg.1.log | pastebinit # Пример неудачного лога загрузки первого рабочего места после загрузки в обычном режиме
http://paste.debian.net/203690/

nvidia-kernel-310.14
xserver-xorg-video-nouveau v.1:1.0.1-3
uname -a : Linux GNUmd 3.2.0-3-686-pae #1 SMP Mon Jul 23 03:50:34 UTC 2012 i686 GNU/Linux
X.Org X Server 1.12.4

пхе... все просто. запусти гуевую тулзу и выбери не карент, а стейбл драйвер )
Или оно там карент и карент-апдейтед называется, уже не помню.

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

Если это относится к nvidia-kernel, то слишком просто. Драйвер-писатели поддерживают вторую видео карту, надеюсь будут исправлять ошибки, добавлять функционал, в общем будут работать в поте лица. Ставить для достаточно современной карты драйвер, совместимый с интегрированной картой - временная мера, выйдет в новом драйвере какая-то интересная фича - и проблема всплывёт заново.

Ударив же, по проблеме, кулаком открытого драйвера - интегрированная карта будет работать не хуже, от неё много не требуется, а дискретная карточка будет тянуть игры и другие 3D программы, имея актуальный по времени драйвер.

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

Спасибо, но не подходит. Такой пакет есть в репозиторях Ubuntu. Для Debian aptitude install nvidia-kernel-dkms -t sid, но это не подходит по вышеприведённому аргументу.

bkarm ()

добрый день, школьник
т.к. ты не читаешь свежие темы, а может и не читаешь елементарные комменты в ходе установкт

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

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

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

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

еще раз, для тупых. в убунте есть утилита графическая установки проиприетарных драйверов. Она дает выбрать 2 драйвера - последний и релизный. релизный обычно немного старее чем последний. просто выбери в качестве драйвера резидный(он без суфикса updated)...

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

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

Jetty ★★★★★ ()

Они не будут работать вместе, хотя бы даже потому, что проприетарный драйвер подменяет /usr/lib/xorg/modules/extensions/libglx.so и /usr/lib/libGL.so.*

no-dashi ★★★★★ ()

Совместная работа nouveau и Nvidia proprietary driver в multiseat системе

…принципиально невозможна. Выбирайте что-то одно.

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

У меня сейчас загружена система. На первом рабочем месте

cat /var/log/Xorg.0.log | grep nvidia
[   285.698] (II) LoadModule: "nvidia"
[   285.863] (II) Loading /usr/lib/xorg/modules/drivers/nvidia_drv.so
[   286.068] (II) Module nvidia: vendor="NVIDIA Corporation"
[   286.304] (**) NVIDIA(0): Option "MetaModes" "nvidia-auto-select +0+0"
[   287.291] (II) NVIDIA(0):     "nvidia-auto-select+0+0"
[   287.296] (II) NVIDIA(0): Setting mode "nvidia-auto-select+0+0"
[   287.429] (II) NVIDIA(0): [DRI2]   VDPAU driver: nvidia
[  3783.904] (II) NVIDIA(0): Setting mode "nvidia-auto-select+0+0"
[  3790.501] (II) NVIDIA(0): Setting mode "nvidia-auto-select+0+0"
[  4406.609] (II) NVIDIA(0): Setting mode "nvidia-auto-select+0+0"
[  4554.576] (II) NVIDIA(0): Setting mode "nvidia-auto-select+0+0"
[ 15347.601] (II) NVIDIA(0): Setting mode "nvidia-auto-select+0+0"

на втором рабочем месте

cat /var/log/Xorg.1.log | grep nvidia
[   473.250] (II) LoadModule: "nouveau"
[   473.250] (II) Loading /usr/lib/xorg/modules/drivers/nouveau_drv.so
[   473.255] (II) Module nouveau: vendor="X.Org Foundation"
[   474.126] (II) [drm] nouveau interface version: 1.0.0
[   474.458] (II) NOUVEAU(0): [DRI2]   DRI driver: nouveau
[   474.458] (II) NOUVEAU(0): [DRI2]   VDPAU driver: nouveau

Xorg файлы в первом посте, dmesg - http://paste.debian.net/203792/ , /var/log/Xorg.0.log - http://paste.debian.net/203793/ , /var/log/Xorg.1.log http://paste.debian.net/203794/

Загружался через режим восстановления с мгновенным выходом из однопользовательского режима

Вот и гадаю, в чём шутка. При обычной загрузке nouveau просто не находит видеокарту в /dev/dri

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

на втором рабочем месте

cat /var/log/Xorg.1.log | grep nouveau

конечно же

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

точно не могу ответить но попробуй в конфигурации Xorg полностью прописать видеокарточку(положение на шине, видеодрайвер и т.д.)

Atlant ★★★★★ ()
Ответ на: комментарий от no-dashi

Показательно, что всё работает. Если nouveau настолько совместим с проприетарными библиотеками - это свидетельство качества его разработки!

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

Да, я прописал BusID для карточек

Section "Device"
	Identifier  "Card0"
	Driver      "nouveau"
	BusID       "PCI:0:13:0"
EndSection

Есть ли что ещё прописать про карточку кроме этого? Смущает что vesa работает, а нуво только с костылём...

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

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

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

кстати смотрел

https://wiki.archlinux.org/index.php/Xorg_multiseat и http://wiki.gentoo.org/wiki/Multiseat ?

рекомендуют ставить опцию

Section "Device"
        Identifier      "nvidia0"
        Driver          "nvidia"
        Option          "NoLogo"                "1"  # Remove nvidia branding at startup
        BusId           "PCI:1:0:0"
-->>>>        Option          "ProbeAllGpus"          "false"  # Only required for nvidia
EndSection
Section "ServerFlags"
-->>>>        Option "AutoAddGPU" "FALSE"
EndSection

Atlant ★★★★★ ()
Последнее исправление: Atlant (всего исправлений: 2)
Ответ на: комментарий от Atlant

Большое спасибо за помощь!

Поставил параметры и флаги как в указано выше, но это вначале не помогло. Начал перечитывать про драйвера, и решение, лежавшее на поверхности так и бросилось в глаза. В параметрах загрузки ядра нужно убрать nomodeset, но не убирать nouveau из блэклиста в modprobe.d/

Тогда первое рабочее место с параметрами

Option          "ProbeAllGpus"          "false" 
...
Option          "AutoAddGPU"            "false"
не трогает встроенную видео карту совсем, и nouveau её подхватывает, как и случалось в single user mode

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