Автор Тема: xorg.conf и dual monitors  (Прочетена 2669 пъти)

toti84

  • Напреднали
  • *****
  • Публикации: 115
    • Профил
xorg.conf и dual monitors
« -: Mar 16, 2011, 13:43 »
Здравейте колеги,
от няколко дни се боря със следната задача - на един компютър, с една вдиекарата (GeForce 7300 GT) , две клавиятури, мишки монитора да работят два потребителя независими един от друг. ОС федора 14
Какво направих досега:
1. Инсталирах драйвера kmod-nvidia.
2. С помоща на nvidia-settings зададох следнита настройка Separate X screen и се генерира следния xorg.conf:

Код
GeSHi (Bash):
  1. # nvidia-settings: X configuration file generated by nvidia-settings
  2. # nvidia-settings:  version 260.19.29  (mockbuild@hephaestus.wilsonet.com)  Thu Dec 16 04:52:07 EST 2010
  3.  
  4. Section "ServerLayout"
  5.    Identifier     "Layout0"
  6.    Screen      0  "Screen0" 0 0
  7.    Screen      1  "Screen1" 1280 0
  8.    InputDevice    "Keyboard0" "CoreKeyboard"
  9.    InputDevice    "Mouse0" "CorePointer"
  10.    Option         "Xinerama" "0"
  11. EndSection
  12.  
  13. Section "Files"
  14.    FontPath        "/usr/share/fonts/default/Type1"
  15. EndSection
  16.  
  17. Section "InputDevice"
  18.    # generated from default
  19.    Identifier     "Mouse0"
  20.    Driver         "mouse"
  21.    Option         "Protocol" "auto"
  22.    Option         "Device" "/dev/input/mice"
  23.    Option         "Emulate3Buttons" "no"
  24.    Option         "ZAxisMapping" "4 5"
  25. EndSection
  26.  
  27. Section "InputDevice"
  28.    # generated from data in "/etc/sysconfig/keyboard"
  29.    Identifier     "Keyboard0"
  30.    Driver         "keyboard"
  31.    Option         "XkbLayout" "us"
  32.    Option         "XkbModel" "pc105"
  33. EndSection
  34.  
  35. Section "Monitor"
  36.    # HorizSync source: edid, VertRefresh source: edid
  37.    Identifier     "Monitor1"
  38.    VendorName     "Unknown"
  39.    ModelName      "Philips 170S"
  40.    HorizSync       30.0 - 83.0
  41.    VertRefresh     56.0 - 76.0
  42.    Option         "DPMS"
  43. EndSection
  44.  
  45. Section "Monitor"
  46.    # HorizSync source: edid, VertRefresh source: edid
  47.    Identifier     "Monitor0"
  48.    VendorName     "Unknown"
  49.    ModelName      "Philips 170S"
  50.    HorizSync       30.0 - 83.0
  51.    VertRefresh     56.0 - 76.0
  52.    Option         "DPMS"
  53. EndSection
  54.  
  55. Section "Device"
  56.    Identifier     "Device1"
  57.    Driver         "nvidia"
  58.    VendorName     "NVIDIA Corporation"
  59.    BoardName      "GeForce 7300 GT"
  60.    BusID          "PCI:2:0:0"
  61.    Screen          1
  62. EndSection
  63.  
  64. Section "Device"
  65.    Identifier     "Device0"
  66.    Driver         "nvidia"
  67.    VendorName     "NVIDIA Corporation"
  68.    BoardName      "GeForce 7300 GT"
  69.    BusID          "PCI:2:0:0"
  70.    Screen          0
  71. EndSection
  72.  
  73. Section "Screen"
  74.    Identifier     "Screen1"
  75.    Device         "Device1"
  76.    Monitor        "Monitor1"
  77.    DefaultDepth    24
  78.    Option         "TwinView" "0"
  79.    Option         "metamodes" "CRT-1: nvidia-auto-select +0+0"
  80.    SubSection     "Display"
  81.        Depth       24
  82.    EndSubSection
  83. EndSection
  84.  
  85. Section "Screen"
  86.    Identifier     "Screen0"
  87.    Device         "Device0"
  88.    Monitor        "Monitor0"
  89.    DefaultDepth    24
  90.    Option         "TwinView" "0"
  91.    Option         "TwinViewXineramaInfoOrder" "CRT-0"
  92.    Option         "metamodes" "CRT-0: nvidia-auto-select +0+0"
  93.    SubSection     "Display"
  94.        Depth       24
  95.    EndSubSection
  96. EndSection
  97.  
  98.  

Резултата от горния xorg.conf e следния като се влезне в даден потребител през gdm  и на двата монитора се появяват отделни десктопи(по едно стармен, панел), прозорците не се прехвърлят от единия на другия десктоп до тук добре, като единствения проблем, е че незнам как да напрява едната мишка да оперира само на единя десктоп, а другата на другия, в момента двете мишки работят като една и могат да се прехвърлят измежду десктопите.





Пробвах и друг вариянт но тогава работи само единя монитор:

Код
GeSHi (Bash):
  1. # nvidia-settings: X configuration file generated by nvidia-settings
  2. # nvidia-settings:  version 260.19.29  (mockbuild@hephaestus.wilsonet.com)  Thu Dec 16 04:52:07 EST 2010
  3.  
  4. #Section "ServerLayout"
  5. #    Identifier     "Layout0"
  6. #    Screen      0  "Screen0" 0 0
  7. #    Screen      1  "Screen1" 1280 0
  8. #    InputDevice    "Keyboard0" "CoreKeyboard"
  9. #    InputDevice    "Mouse0" "CorePointer"
  10. #    Option         "Xinerama" "0"
  11. #EndSection
  12.  
  13. Section "ServerLayout"
  14.    Identifier     "Layout0"
  15.    Screen      0  "Screen0" 0 0
  16.    InputDevice    "Keyboard0" "CoreKeyboard"
  17.    InputDevice    "Mouse0" "CorePointer"
  18.    Option         "Xinerama" "0"
  19. EndSection
  20.  
  21.  
  22. Section "ServerLayout"
  23.    Identifier     "Layout1"
  24.    Screen      0  "Screen1" 0 0
  25.    InputDevice    "Keyboard0" "CoreKeyboard"
  26.    InputDevice    "Mouse1" "CorePointer"
  27.    Option         "Xinerama" "0"
  28. EndSection
  29.  
  30.  
  31.  
  32.  
  33. Section "Files"
  34.    FontPath        "/usr/share/fonts/default/Type1"
  35. EndSection
  36.  
  37. Section "InputDevice"
  38.    # generated from default
  39.    Identifier     "Mouse0"
  40.    Driver         "mouse"
  41.    Option         "Protocol" "auto"
  42.    Option         "Device" "/dev/input/mouse0"
  43.    Option         "Emulate3Buttons" "no"
  44.    Option         "ZAxisMapping" "4 5"
  45. EndSection
  46.  
  47.  
  48.  
  49. # добавено от мен #####################
  50. Section "InputDevice"
  51.    # generated from default
  52.    Identifier     "Mouse1"
  53.    Driver         "mouse"
  54.    Option         "Protocol" "auto"
  55.    Option         "Device" "/dev/input/mouse1"
  56.    Option         "Emulate3Buttons" "no"
  57.    Option         "ZAxisMapping" "4 5"
  58. EndSection
  59. #################################
  60.  
  61.  
  62.  
  63.  
  64. Section "InputDevice"
  65.    # generated from data in "/etc/sysconfig/keyboard"
  66.    Identifier     "Keyboard0"
  67.    Driver         "keyboard"
  68.    Option         "XkbLayout" "us"
  69.    Option         "XkbModel" "pc105"
  70. EndSection
  71.  
  72. Section "Monitor"
  73.    # HorizSync source: edid, VertRefresh source: edid
  74.    Identifier     "Monitor1"
  75.    VendorName     "Unknown"
  76.    ModelName      "Philips 170S"
  77.    HorizSync       30.0 - 83.0
  78.    VertRefresh     56.0 - 76.0
  79.    Option         "DPMS"
  80. EndSection
  81.  
  82. Section "Monitor"
  83.    # HorizSync source: edid, VertRefresh source: edid
  84.    Identifier     "Monitor0"
  85.    VendorName     "Unknown"
  86.    ModelName      "Philips 170S"
  87.    HorizSync       30.0 - 83.0
  88.    VertRefresh     56.0 - 76.0
  89.    Option         "DPMS"
  90. EndSection
  91.  
  92. Section "Device"
  93.    Identifier     "Device1"
  94.    Driver         "nvidia"
  95.    VendorName     "NVIDIA Corporation"
  96.    BoardName      "GeForce 7300 GT"
  97.    BusID          "PCI:2:0:0"
  98. #   Screen          1
  99. EndSection
  100.  
  101. Section "Device"
  102.    Identifier     "Device0"
  103.    Driver         "nvidia"
  104.    VendorName     "NVIDIA Corporation"
  105.    BoardName      "GeForce 7300 GT"
  106.    BusID          "PCI:2:0:0"
  107. #   Screen          0
  108. EndSection
  109.  
  110. Section "Screen"
  111.    Identifier     "Screen1"
  112.    Device         "Device1"
  113.    Monitor        "Monitor1"
  114.    DefaultDepth    24
  115. #    Option         "TwinView" "0"
  116. #    Option         "metamodes" "CRT-1: nvidia-auto-select +0+0"
  117.    SubSection     "Display"
  118.        Depth       24
  119.    EndSubSection
  120. EndSection
  121.  
  122. Section "Screen"
  123.    Identifier     "Screen0"
  124.    Device         "Device0"
  125.    Monitor        "Monitor0"
  126.    DefaultDepth    24
  127. #    Option         "TwinView" "0"
  128. #    Option         "TwinViewXineramaInfoOrder" "CRT-0"
  129. #    Option         "metamodes" "CRT-0: nvidia-auto-select +0+0"
  130.    SubSection     "Display"
  131.        Depth       24
  132.    EndSubSection
  133. EndSection
  134.  
  135.  
Код
GeSHi (Bash):
  1. cat /etc/gdm/custom.conf
  2. # GDM configuration storage
  3.  
  4. [daemon]
  5.  
  6. [security]
  7.  
  8. [xdmcp]
  9.  
  10. [greeter]
  11.  
  12. [chooser]
  13.  
  14. [debug]
  15.  
  16. [servers]
  17.  
  18. 0=Standard0
  19. 1=Standard1
  20.  
  21. [server-Standard0]
  22. name=Standard server1 #0
  23. command=/usr/bin/X -br -audit 0 -nolisten tcp -novtswitch -sharevts -layout Layout0
  24. flexible=true
  25.  
  26. [server-Standard1]
  27. name=Standard server #1
  28. command=/usr/bin/X -br -audit 0 -nolisten tcp -novtswitch -sharevts -layout Layout1
  29. flexible=true
  30.  

Ако е нужна още информация пишете...

Код
GeSHi (Bash):
  1. uname -a;lspci
  2. Linux gore 2.6.35.11-83.fc14.i686 #1 SMP Mon Feb 7 07:04:18 UTC 2011 i686 i686 i386 GNU/Linux
  3. 00:00.0 RAM memory: nVidia Corporation MCP61 Memory Controller (rev a1)
  4. 00:01.0 ISA bridge: nVidia Corporation MCP61 LPC Bridge (rev a2)
  5. 00:01.1 SMBus: nVidia Corporation MCP61 SMBus (rev a2)
  6. 00:01.2 RAM memory: nVidia Corporation MCP61 Memory Controller (rev a2)
  7. 00:02.0 USB Controller: nVidia Corporation MCP61 USB Controller (rev a3)
  8. 00:02.1 USB Controller: nVidia Corporation MCP61 USB Controller (rev a3)
  9. 00:04.0 PCI bridge: nVidia Corporation MCP61 PCI bridge (rev a1)
  10. 00:05.0 Audio device: nVidia Corporation MCP61 High Definition Audio (rev a2)
  11. 00:06.0 IDE interface: nVidia Corporation MCP61 IDE (rev a2)
  12. 00:07.0 Bridge: nVidia Corporation MCP61 Ethernet (rev a2)
  13. 00:08.0 IDE interface: nVidia Corporation MCP61 SATA Controller (rev a2)
  14. 00:08.1 IDE interface: nVidia Corporation MCP61 SATA Controller (rev a2)
  15. 00:09.0 PCI bridge: nVidia Corporation MCP61 PCI Express bridge (rev a2)
  16. 00:0b.0 PCI bridge: nVidia Corporation MCP61 PCI Express bridge (rev a2)
  17. 00:0c.0 PCI bridge: nVidia Corporation MCP61 PCI Express bridge (rev a2)
  18. 00:18.0 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] HyperTransport Technology Configuration
  19. 00:18.1 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Address Map
  20. 00:18.2 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] DRAM Controller
  21. 00:18.3 Host bridge: Advanced Micro Devices [AMD] K8 [Athlon64/Opteron] Miscellaneous Control
  22. 02:00.0 VGA compatible controller: nVidia Corporation G73 [GeForce 7300 GT] (rev a1)
  23.  
  24.  
Активен

toti84

  • Напреднали
  • *****
  • Публикации: 115
    • Профил
Re: xorg.conf и dual monitors
« Отговор #1 -: Mar 17, 2011, 10:57 »
Здравейте отново,
виждам, че имам големи затруднения по описания по горе начин, искам да попитам  дали е взъможно следното: на същия компютър имам и вградена карта, от БИОС-а направих първо да зарежда от вградената, по този начин може ли да работят и двете PCI-E and Onboard картите lspci ми ги дава и двете, но nvidia-settings i nvidia-xconfig  разпознава само вградента.

Код
GeSHi (Bash):
  1. lspci -v
  2. .............
  3. 00:0d.0 VGA compatible controller: nVidia Corporation C61 [GeForce 6150SE nForce 430] (rev a2) (prog-if 00 [VGA controller])
  4. Subsystem: ASRock Incorporation Device 03d0
  5. Flags: bus master, 66MHz, fast devsel, latency 0, IRQ 22
  6. Memory at dc000000 (32-bit, non-prefetchable) [size=16M]
  7. Memory at b0000000 (64-bit, prefetchable) [size=256M]
  8. Memory at db000000 (64-bit, non-prefetchable) [size=16M]
  9. Expansion ROM at ddec0000 [disabled] [size=128K]
  10. Capabilities: [48] Power Management version 2
  11. Capabilities: [50] MSI: Enable- Count=1/1 Maskable- 64bit+
  12. Kernel driver in use: nvidia
  13. Kernel modules: nvidia, nouveau, nvidiafb
  14. ...........
  15.  
  16. 02:00.0 VGA compatible controller: nVidia Corporation G73 [GeForce 7300 GT] (rev a1) (prog-if 00 [VGA controller])
  17. Subsystem: ASUSTeK Computer Inc. Device 820e
  18. Flags: bus master, fast devsel, latency 0, IRQ 19
  19. Memory at df000000 (32-bit, non-prefetchable) [size=16M]
  20. Memory at c0000000 (64-bit, prefetchable) [size=256M]
  21. Memory at de000000 (64-bit, non-prefetchable) [size=16M]
  22. I/O ports at ec00 [size=128]
  23. [virtual] Expansion ROM at ddfe0000 [disabled] [size=128K]
  24. Capabilities: [60] Power Management version 2
  25. Capabilities: [68] MSI: Enable- Count=1/1 Maskable- 64bit+
  26. Capabilities: [78] Express Endpoint, MSI 00
  27. Capabilities: [100] Virtual Channel
  28. Capabilities: [128] Power Budgeting <?>
  29. Kernel driver in use: nvidia
  30. Kernel modules: nvidia, nouveau, nvidiafb
  31. ....................
  32.  
Активен

kalinik

  • Напреднали
  • *****
  • Публикации: 539
  • Distribution: LMDE x64 2012/ LM 14 x64
  • Window Manager: Mate / KDE
  • ID user #521433
    • Профил
Re: xorg.conf и dual monitors
« Отговор #2 -: Mar 17, 2011, 14:42 »
Прочети инфото на nvidia-settings (или nvidia-config) какво казва за вградените (стари вече, може би ???) карти и дали не си пречат драйвърите.
Нямам почти никакъв опит с nvidia, но пък навсякъде тръбят, че под линукс се представят по-добре от AMD ... та би трябвало да работи  ??? Още повече, че с два карти не трябва да имаш грижи.

Ако имаш AMD/Ati - твоят сценарии се прави доста бързо и лесно, а логиката би трябвало да е следната:
Цитат
Section "Screen"
         Identifier   "Screen0"
         Device       "Videocard0"   <--- при 1 видеокарта
         Monitor      "Monitor0(1)"     <----- описваме Монитор 1 и Монитор 2 (0 и 1)
         DefaultDepth 24
         SubSection "Display"
           Viewport   0 0
           Depth      24
           Modes      "1920x1200" "1680x1050" "1024x768"
         EndSubSection
 EndSection

или нещо такова, за да определим броя на екраните/изходите и устройствата/мониторите
определяме 2 видеокарти :

Section "Device"
        Identifier      "Device[0]"                        <---карта 1
        Driver          "името на драйвъра"
        Screen          0
        VendorName      "НЯКОЙ"
        BusID           "PCI:0:0:1"
        Option          "RenderAccel"   "true"
        Option          "UseEdid"  "true"

EndSection


Section "Device"
        Identifier      "Device[1]"                         <---- карта 2
        Driver          "името на драйвъра"
        Screen          1
        VendorName      "НЯКОЙ"
        BusID           "PCI:0:1:0"
        Option          "RenderAccel"   "true"
        Option          "UseEdid"  "true"

EndSection

- добавяме и 2 монитора :
Цитат
Section "Monitor"
        Identifier      "Monitor 2"
        Option          "DPMS"
        VerticalRefresh     43-60
EndSection

Section "Monitor"
        Identifier      "Monitor 1"
        Option          "DPMS"
        VerticalRefresh     43-60
EndSection

Section "Screen"
        Identifier      "Default Screen[0]"
        Device          "Device[0]"
        Monitor         "Monitor 1"
        DefaultDepth    24
        SubSection "Display"
                Depth           24
                Modes           "1680x1050" "1280x1024"
        EndSubSection

Section "Screen"
        Identifier      "Default Screen[1]"
        Device          "Device[1]"
        Monitor         "Monitor 2"
        DefaultDepth    24
        SubSection "Display"
                Depth           24
                Modes            "1920x1200"
        EndSubSection
EndSection

Поне така мисля, че би следвало да е логиката. И НЕ трябва да пускаш Xinerama !!!
Синтаксисът е примерен и може да има грешки, но се надявам че сващаш идеята  :)
« Последна редакция: Mar 17, 2011, 15:26 от kalinik »
Активен

trosho

  • Напреднали
  • *****
  • Публикации: 321
    • Профил
Re: xorg.conf и dual monitors
« Отговор #3 -: Mar 17, 2011, 17:37 »
Мога да помогна само с няколко линка от една стара тема, в друг форум, за Multiseat конфигурация. Тогава и на мен ми щукна такава идея, след като прочетох тази статия - цък.

Тук (цък, цък) има информация за Ubuntu, а тук (цък) има за Debian (превод на тази статия има в Home Linux, Брой 8/2008 - цък).
Лошото е, че написаното се отнася за стари версии на Xorg. Сега, с новите версии на Xorg, с KernelModesetting и разни други нови неща, май е по-трудно да се пусне такова нещо.

За нещата във Fedora не съм толкова запознат, но ето какво пише в документацията на Ubuntu (цък):
Цитат
... GDM 2.30 and ConsoleKit 0.4.1 do not have native Multiseat support, nor will GDM lauch two static X sessions like it used to in 2.20.
Значи, освен настройките в xorg.conf, трябва да се съобразят и възможностите на дисплей мениджъра, който се използва.
Активен

kalinik

  • Напреднали
  • *****
  • Публикации: 539
  • Distribution: LMDE x64 2012/ LM 14 x64
  • Window Manager: Mate / KDE
  • ID user #521433
    • Профил
Re: xorg.conf и dual monitors
« Отговор #4 -: Mar 17, 2011, 18:22 »
Благодаря на trosho за линковете  [_]3

Явно трябва да се пипа по мениджъра.
Иначе xorg.conf съм го докарал до подобна конфигурация  ;D
Но все си мисля, не е ли по лесно да се подкара на multi-view (1 карта с multi-head) с няколко десктопа и да се добавят само панелите  ???
Аз горе-долу така съм направил вкъщи : ползвам си плазмата за корекция на снимки, че има еба..и и черния цвят... сменям си работния плот с две кликчета  ^-^
 aticonfig --enable-monitor=dfps0,dvi0 --effective=now
и
 aticonfig --swap-monitor --effective=now
 [_]3

Някой ако се сеща по-добър вариант - ще съм му много благодарен !
Активен

trosho

  • Напреднали
  • *****
  • Публикации: 321
    • Профил
Re: xorg.conf и dual monitors
« Отговор #5 -: Mar 18, 2011, 04:22 »
Това, което описваш, ми прилича на Dual Monitor (или Dual Head) настройка. При ATI не знам как е, но при NVidia има възможност да се направи с TwinView или Separate X Screen.
Обаче при нито една от тези настройки не се работи с няколко клавиатури и мишки, както е при Multiseat конфигурацията.
Доколкото аз схващам, всичко в xorg.conf трябва да е x2 (включително и два "ServerLayout"). После следва решаване на проблемите с дисплей мениджъра, а след това може би ще трябва да се мисли и за аудиото.
Активен

kalinik

  • Напреднали
  • *****
  • Публикации: 539
  • Distribution: LMDE x64 2012/ LM 14 x64
  • Window Manager: Mate / KDE
  • ID user #521433
    • Профил
Re: xorg.conf и dual monitors
« Отговор #6 -: Mar 18, 2011, 11:57 »
Да.
Dual-Head + Dual Monitor (даже 3 монитора) + 1 Virtual Desktop. Обаче ползвам вграденото видео за отделен изход. Прилича на multi-seat , но не точно :)
Само трябва да се превключва активния десктоп с горната команда защото не може (аз поне не знам как) да се подкарат 2 независими десктопа на multi-view от едната карта само.
Аудиото не е проблем - с две карти съм.
Имам 2 мишки с 1 клавиатура и засега този вариант ме устройва, че иначе може и да не се докопам до компютъра.  :D :D :D
Ще пробвам довечера да изключа multi-view и ще ползвам само по 1 изход за всяка карта  - да видим какво ще стане .
Активен

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
Проблем с Xorg.conf
Настройка на хардуер
pe6ohh 6 3346 Последна публикация Sep 29, 2004, 08:54
от pe6ohh
Съвместимост на xorg.conf?
Настройка на програми
abscent 0 1690 Последна публикация Jan 17, 2005, 15:49
от abscent
xorg.conf Редактиране
Настройка на хардуер
3viltux 8 4957 Последна публикация May 22, 2006, 04:26
от
xorg.conf
Настройка на програми
lamby 5 2687 Последна публикация Jun 25, 2005, 11:54
от lamby
xorg.conf
Настройка на хардуер
avri78 5 3542 Последна публикация Dec 11, 2005, 23:49
от avri78