LINUX.ORG.RU

Настройка видеокарт


0

1

Есть материнская плата, на ней стоит 2 дискретные видеокатры: 1. NVidia 9600 GT 2. Radeon 4850

К NVidia 9600GT подключены 2 монитора, к Radeon 4850 еще один. Мне нужно заставить их работать вместе, т.е. что бы 3 монитора образовывали один рабочий стол. В Windows 7 работало так без проблем, а в Linux работает либо один моник, либо 2 что подключены к второй видяхе. Помогите найти решение.

Здесь http://gentoo.ru/node/28053 я писал ответ по поводу Gentoo, но в целом это будет справедливо для любого дистрибутива Linux, если вы пытаетесь использовать в вашей ситуации проприетарный драйвер от производителя видео карты, а не открытые видео драйверы, вот почитайте:

Не получится одновременно использовать два проприетарных драйвера.

Библиотеки проприетарного драйвера NVIDIA устанавливаются в /usr/lib/opengl/nvidia/, примерно так:

/usr/lib/opengl/nvidia/lib/
/usr/lib/opengl/nvidia/lib/libGLESv2.so.334.21
/usr/lib/opengl/nvidia/lib/libGL.so.334.21
/usr/lib/opengl/nvidia/lib/libGL.so.1
/usr/lib/opengl/nvidia/lib/libEGL.so.334.21
/usr/lib/opengl/nvidia/lib/libGLESv1_CM.so
/usr/lib/opengl/nvidia/lib/libGLESv1_CM.so.334.21
/usr/lib/opengl/nvidia/lib/libGLESv1_CM.so.1
/usr/lib/opengl/nvidia/lib/libEGL.so
/usr/lib/opengl/nvidia/lib/libEGL.so.1
/usr/lib/opengl/nvidia/lib/libGLESv2.so.2
/usr/lib/opengl/nvidia/lib/libGLESv2.so
/usr/lib/opengl/nvidia/lib/libGL.so
а библиотеки mesa (открытых драйверов) устанавливаются в /usr/lib/opengl/xorg-x11/, примерно так:
/usr/lib/opengl/xorg-x11/lib/
/usr/lib/opengl/xorg-x11/lib/libEGL.so
/usr/lib/opengl/xorg-x11/lib/libEGL.so.1
/usr/lib/opengl/xorg-x11/lib/libEGL.so.1.0.0
/usr/lib/opengl/xorg-x11/lib/libGL.so
/usr/lib/opengl/xorg-x11/lib/libGL.so.1
/usr/lib/opengl/xorg-x11/lib/libGL.so.1.2.0
/usr/lib/opengl/xorg-x11/lib/libGLESv2.so
/usr/lib/opengl/xorg-x11/lib/libGLESv2.so.2
/usr/lib/opengl/xorg-x11/lib/libGLESv2.so.2.0.0
Посредством вызова 'eselect opengl set' устанавливается ссылки на выбранную реализацию opengl, в случае nvidia имеем примерно следующее:
/usr/lib/libGLESv1_CM.so -> opengl/nvidia/lib/libGLESv1_CM.so.334.21
/usr/lib/libGLESv1_CM.so.1 -> opengl/nvidia/lib/libGLESv1_CM.so.334.21
/usr/lib/libGLESv2.so -> opengl/nvidia/lib/libGLESv2.so.334.21
/usr/lib/libGLESv2.so.2 -> opengl/nvidia/lib/libGLESv2.so.334.21
/usr/lib/libGL.so -> opengl/nvidia/lib/libGL.so.334.21
/usr/lib/libGL.so.1 -> opengl/nvidia/lib/libGL.so.334.21
С проприетарным драйвером AMD ситуация примерно такая же.

Из-за того, что в проприетарных драйверах используются свои реализации библиотек libGL и прочих одновременно их использовать на одном xorg-server`е не получится.

Но вы можете «завести» обе карты на открытых видео драйверах Nouveau и Radeon на одном xorg-server`е либо на двух разных xorg-server`ах, с двумя разными файлами xorg.conf, указывая в них путь до директории с модулями:

Section «Files»
   ModulePath /usr/lib/opengl/nvidia,/usr/lib/xorg/modules
EndSection
http://gentoo.ru/node/28053

В общем, подытожу:
- либо используете две видео карты одного производителя, с условием, что установленная версия видео драйвера поддерживает обе эти видео карты;
- либо используете открытые видео драйверы, xf86-video-ati (radeon) и xf86-video-nouveau (nouveua).

Удачи.

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

Немного продвинулся

Сейчас работают 2 видеокарты, я написал конфиг для иксов, но изображение только на одном монике, а еще 2 показывают только логотип который был при загрузке ОС. Я что то забыл указать в конфиге или неправильно его сделал?

Section "Device" 
  Identifier "ATI Radeon HD4850 0" 
  Driver     "radeon" 
  BusID      "PCI:1:0:0" 
  Screen      0
EndSection

Section "Device" 
  Identifier "NVIDIA GeForce 9600GT 1" 
  Driver     "nouveau" 
  BusID      "PCI:4:0:0" 
  Screen      1
EndSection

Section "Device" 
  Identifier "NVIDIA GeForce 9600GT 2" 
  Driver     "nouveau" 
  BusID      "PCI:4:0:0" 
  Screen      2
EndSection

Section "Monitor" 
        Identifier      "LG Flatron 0" 
        Option          "DPMS" 
        HorizSync       28-80
        VertRefresh     43-60
EndSection

Section "Monitor" 
        Identifier      "Samsung 940N 1" 
        Option          "DPMS" 
        HorizSync       28-80
        VertRefresh     43-60
EndSection

Section "Monitor" 
        Identifier      "Samsung 940N 2" 
        Option          "DPMS" 
        HorizSync       28-80
        VertRefresh     43-60
EndSection

Section "Screen" 
        Identifier      "Screen LG Flatron 0" 
        Device          "ATI Radeon HD4850 0" 
        Monitor         "LG Flatron 0" 
        DefaultDepth    24

        # Subsections for other display depths not shown...
        SubSection "Display" 
                Depth           24
                Modes           "1600x1050" 
        EndSubSection
EndSection

Section "Screen" 
        Identifier      "Screen Samsung 940N 1" 
        Device          "NVIDIA GeForce 9600GT 1" 
        Monitor         "Samsung 940N 1" 
        DefaultDepth    24

        # Subsections for other display depths not shown...
        SubSection "Display" 
                Depth           24
                Modes           "1280x1024" 
        EndSubSection
EndSection

Section "Screen" 
        Identifier      "Screen Samsung 940N 2" 
        Device          "NVIDIA GeForce 9600GT 2" 
        Monitor         "Samsung 940N 2" 
        DefaultDepth    24

        # Subsections for other display depths not shown...
        SubSection "Display" 
                Depth           24
                Modes           "1280x1024" 
        EndSubSection
EndSection

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

Screen 1,2,3 убрал. Вывод xrandr:

~ $ xrandr
Screen 0: minimum 320 x 200, current 1680 x 1050, maximum 8192 x 8192
DVI-1 disconnected (normal left inverted right x axis y axis)
DIN disconnected (normal left inverted right x axis y axis)
DVI-2 connected 1680x1050+0+0 (normal left inverted right x axis y axis) 434mm x 270mm
   1680x1050      59.9*+   60.0  
   1280x1024      75.0     60.0  
   1440x900       75.0     59.9  
   1280x960       60.0  
   1152x864       75.0  
   1024x768       75.1     60.0  
   832x624        74.6  
   800x600        75.0     60.3     56.2  
   640x480        75.0     60.0  
   720x400        70.1  

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

А что у вас в секции ServerLayout? типа такого что-то есть?

Section "ServerLayout"
    Identifier     "DualSreen"
    Screen       0 "Screen0"
    Screen       1 "Screen1" RightOf "Screen0" #Screen1 at the right of Screen0
    Option         "Xinerama" "1" #To move windows between screens
EndSection
irton ★★★★★
()
Ответ на: комментарий от SystemX86

Добавил секцию ServerLayout. После этого иксы перестали запускаться вообще. Полный текст xorg.conf приведен ниже:

Section "ServerLayout"
    Identifier     "ThirdSreen"
    Screen       0 "Screen LG Flatron 0"
    Screen       1 "Screen Samsung 940N 1" RightOf "Screen LG Flatron 0" #Screen1 at the right of Screen0
    Screen       2 "Screen Samsung 940N 2" RightOf "Screen Samsung 940N 1" #Screen1 at the right of Screen0
    Option         "Xinerama" "1" #To move windows between screens
EndSection

Section "Device" 
  Identifier "ATI Radeon HD4850 0" 
  Driver     "radeon" 
  BusID      "PCI:1:0:0" 
  Screen      0
EndSection

Section "Device" 
  Identifier "NVIDIA GeForce 9600GT 1" 
  Driver     "nouveau" 
  BusID      "PCI:4:0:0" 
  Screen      1
EndSection

Section "Device" 
  Identifier "NVIDIA GeForce 9600GT 2" 
  Driver     "nouveau" 
  BusID      "PCI:4:0:0" 
  Screen      2
EndSection

Section "Monitor" 
        Identifier      "LG Flatron 0" 
        Option          "DPMS" 
        HorizSync       28-80
        VertRefresh     43-60
EndSection

Section "Monitor" 
        Identifier      "Samsung 940N 1" 
        Option          "DPMS" 
        HorizSync       28-80
        VertRefresh     43-60
EndSection

Section "Monitor" 
        Identifier      "Samsung 940N 2" 
        Option          "DPMS" 
        HorizSync       28-80
        VertRefresh     43-60
EndSection

Section "Screen" 
        Identifier      "Screen LG Flatron 0" 
        Device          "ATI Radeon HD4850 0" 
        Monitor         "LG Flatron 0" 
        DefaultDepth    24

        # Subsections for other display depths not shown...
        SubSection "Display" 
                Depth           24
                Modes           "1600x1050" 
        EndSubSection
EndSection

Section "Screen" 
        Identifier      "Screen Samsung 940N 1" 
        Device          "NVIDIA GeForce 9600GT 1" 
        Monitor         "Samsung 940N 1" 
        DefaultDepth    24

        # Subsections for other display depths not shown...
        SubSection "Display" 
                Depth           24
                Modes           "1280x1024" 
        EndSubSection
EndSection

Section "Screen" 
        Identifier      "Screen Samsung 940N 2" 
        Device          "NVIDIA GeForce 9600GT 2" 
        Monitor         "Samsung 940N 2" 
        DefaultDepth    24

        # Subsections for other display depths not shown...
        SubSection "Display" 
                Depth           24
                Modes           "1280x1024" 
        EndSubSection
EndSection
SystemX86
() автор топика
Ответ на: комментарий от irton

Сейчас ситуация такова: на двух мониторах которые работают от одной видяхи изображение есть, а еще один, который подключен к другой видяхе не работает, запускается только когда заходишь в терминал через Ctrl+Alt+F1. После выхода из терминала выключается опять.

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

Может кто то может помочь с написание конфига? основа для него есть выше, я приводил полный текст. может еще что то дополнительно нужно сделать? я просто поставил ОС, попытался написать конфиг, но ничего не вышло...

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

ну ладно как хочешь, мож кто и подскажет.

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

Что к чему подключено показано на рисунку: схемка

Вот конфиг и лог: xorg.conf xorg.0.log С таким конфигом, иксы не хотят запускаться.

Как это правильно настроить что бы рабочий чтол отображался на всех 3 мониторах, т.е. 1 раб. стол для всех моников? Помогите пожалуйста...

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

Опция screen в секции Device означает номер «головы» видеокарты, нумеруется с 0 для каждой видеокарты (см. man xorg.conf)

Я бы на твоем месте подключил два монитора к radeon, настроил, а потом добавил монитор на нвидии.

Запусти сначала вообще без xorg.conf, покажи xrandr и Xorg.0.log

arson ★★★★★
()

Чем не устраивает nvidia-settings?

ritsufag ★★★★★
()

Настроил. Работают все моники. Теперь возникла еще одна загвоздка: все визуальные эффекты тормозят, например окна разворачиваются не гладко, а притормаживают. ощущение что 3D ускорение не работает.как побороть?)

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

Все притормаживает, а вот что показывает glxinfo:

glxinfo | grep rendering
direct rendering: Yes
systemx86@SystemX86:~$ glxgears
641 frames in 5.0 seconds = 128.187 FPS
588 frames in 5.0 seconds = 117.461 FPS
595 frames in 5.0 seconds = 118.943 FPS
610 frames in 5.0 seconds = 121.796 FPS

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

Ну какой стал окончательный xorg.conf? выложи на будущее, пригодится.

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