X11/DualSeat

Материал из ALT Linux Wiki

(Различия между версиями)
Перейти к: навигация, поиск
м (xorg.conf)
Строка 76: Строка 76:
=== xorg.conf ===
=== xorg.conf ===
-
<pre>Section "ServerFlags"
+
<source lang="xorg_conf">
 +
Section "ServerFlags"
#    Option "DefaultServerLayout"  "head0"
#    Option "DefaultServerLayout"  "head0"
#    Option "DefaultServerLayout"  "xinerama"
#    Option "DefaultServerLayout"  "xinerama"
Строка 326: Строка 327:
         Modes      "1680x1050"  
         Modes      "1680x1050"  
     EndSubSection
     EndSubSection
-
EndSection</pre>
+
EndSection
 +
</source>
=== Полезные ссылки ===
=== Полезные ссылки ===
  [http://linux.org.ua/cgi-bin/yabb/YaBB.pl?num=1216232698 http://linux.org.ua/cgi-bin/yabb/YaBB.pl?num=1216232698]
  [http://linux.org.ua/cgi-bin/yabb/YaBB.pl?num=1216232698 http://linux.org.ua/cgi-bin/yabb/YaBB.pl?num=1216232698]
  [http://www.automation.dn.ua/linux/3d-multiseat.html http://www.automation.dn.ua/linux/3d-multiseat.html]
  [http://www.automation.dn.ua/linux/3d-multiseat.html http://www.automation.dn.ua/linux/3d-multiseat.html]

Версия 18:15, 24 января 2009


Stub.png
Данная страница находится в разработке.
Эта страница ещё не закончена. Информация, представленная здесь, может оказаться неполной или неверной.


Содержание

Настройка мультистанции (DualSeat) на паре видеокарт.

В этой статье рассказывается как настроить DualSeat на паре видеокарт (встроенная+внешняя). Если у вас встроенная видеокарта безальтернативно отключается при наличии внешней, или есть только внешняя двухголовая видеокарта, то вам сюда: /AltLinux/Dokumentacija/Multistation.

Внимание!.

По сообщению Vitaly Ostanin <vyt@>, у него на достаточно похожей конфигурации второй X server намертво вешал систему. Так что крайне не советую покупать оборудование исключительно в расчете на этот Dual Seat, оно может просто не заработать :(


Оборудование

мама Gigabyte GA-M55plus-S3G со встроенной nvidia 6150LE (Низкий поклон Саше (led@) за совет) внешняя nvidia 8400GS 2 монитора 2 мыши Logitech (ps/2+usb) ps/2 клавиатура usb клавиатура A4tech-KIP800

Софт

архитектура x86_64 xorg-x11-server-1.4.0.90-alt8 xorg-x11-drv-evdev-1.2.0-alt3 пакеты установлены в branch 4.0 из Сизифа 200801xx. пришлось еще дополнительно обновить ряд пакетов и обновить все пакеты шрифтов (важно). (в бранче 4.0 xorg-x11-drv-evdev сломан для клавиатур, да и xorg-x11-server лучше брать 1.4.0).

Бонусы

1) Два полностью независимых рабочих места со своим пользователем, монитором, мышью и клавиатурой.

2) 3D ускорение на каждом рабочем месте.

Грабли

есть.

1) В указанной конфигурации нельзя инициализировать 2 X сервера одновременно (повиснет). IsolateDevice с PCIe не работает :( Приходится при загрузке запускать 1 сервер, а потом с консоли запускать второй. После того, как оба первый раз запустились (и выполнили какую-то инициализацию железа, -probeonly недостаточно), уже можно оба X сервера останавливать и запускать одновременно.

2) первый X сервер надо пускать без -sharevts. Иначе gpm получит доступ к видеопамяти и станет ее портить. (Артефакты на экране при движении мышью).

3) evdev не нашел устройства через Option "Name" "string" Option "Phys" "string" пришлось использовать Option "Device" "string" хотя use of this option is strongly discouraged.

4) /dev/psaux в 2.6 ядрах работает как /dev/input/mice. Поэтому не получится его использовать для разделения мышей. См. историю в http://www.informatik.uni-freiburg.de/~danlee/fun/psaux/ Пришлось опять-таки явно указать

Option "Device" "/dev/input/mouse0"

5. TODO

Настройки.

cat /etc/X11/wdm/Xservers

:0 local /usr/bin/X :0 -layout head0 -nolisten tcp 
#:1 local /usr/bin/X :1 -novtswitch -sharevts -layout head1 -nolisten tcp
$ cat ~/bin/X2 
startx -- :1 -layout head1 -novtswitch -sharevts vt8 -nolisten tcp

xorg.conf

Section "ServerFlags"
#    Option "DefaultServerLayout"  "head0"
#    Option "DefaultServerLayout"  "xinerama"
    Option "DefaultServerLayout"  "dualhead"
#    Option "Xinerama" "true"
    Option "AllowEmptyInput" "true"
#    Option "AutoAddDevices" "false"
#    Option "AutoEnableDevices" "false"
EndSection
 
Section "ServerLayout"
    Identifier     "default"
    Screen         "Screen0" 0 0
#    InputDevice    "mouse0" "CorePointer"
    InputDevice    "mice" "SendCoreEvents"
    InputDevice    "KeyMouseCOM1" "CorePointer"
    InputDevice    "Keyboards" "CoreKeyboard"
EndSection
 
Section "ServerLayout"
    Identifier     "dualhead"
    InputDevice    "Keyboards" "CoreKeyboard"
    InputDevice    "mice" "CorePointer"
    Screen    0    "Screen0" 0 0
    Screen    1    "Screen1" RightOf "Screen0"
EndSection
 
Section "ServerLayout"
    Identifier     "xinerama"
    InputDevice    "Keyboards" "CoreKeyboard"
    InputDevice    "mice" "CorePointer"
    Screen    0    "Screen0" 0 0
    Screen    1    "Screen1" RightOf "Screen0"
    Option         "Xinerama" "on"
EndSection
 
Section "ServerLayout"
    Identifier     "head0"
    InputDevice    "Keyboard0e" "CoreKeyboard"
    InputDevice    "PS2mouse" "CorePointer"
    Screen    0    "Screen0" 0 0
# the same as IsolateDevice, but use bus id from "device" section
# note: only make things worse
#	Option "SingleCard" "true"
EndSection
 
Section "ServerLayout"
    Identifier     "head1"
# this usb keyboard has separate core and multimedia parts
    InputDevice    "Keyboard1e.0" "CoreKeyboard"
    InputDevice    "Keyboard1e.1" "SendCoreEvents"
#    InputDevice    "VoidKeyboard" "CoreKeyboard"
    InputDevice    "usbmouse" "CorePointer"
    Screen    0    "Screen1" 0 0
#	Option "SingleCard" "true"
EndSection
 
Section "Files"
#    FontPath        "unix/:-1"
EndSection
 
Section "Module"
    Load           "dbe"
    Load           "glx"
    Load           "extmod"
    Load           "freetype"
    SubSection     "extmod"
        Option         "omit xfree86-dga"
    EndSubSection
EndSection
 
Section "InputDevice"
    Identifier     "Keyboards"
    Driver         "kbd"
    Option         "AutoRepeat" "250 30"
    # Specify which keyboard LEDs can be user-controlled (eg, with xset(1))
    #Option      "XkbModel" "pc105"
    Option      "XkbModel" "a4techKBS8"
    Option      "XkbLayout" "us,ru,ua"
    Option      "XkbVariant" ",winkeys,winkeys"
    Option      "XkbOptions" "grp:menu_toggle,grp_led:scroll"
EndSection
 
Section "InputDevice"
    Identifier     "Keyboard0e"
    #Driver         "kbd"
    Driver		"evdev"
    Option		"Device" "/dev/input/event0"
#    Option		"Phys"	"isa0060/serio0/input0"
#    Option 	"Name" "AT Translated Set 2 keyboard"
    #Option         "AutoRepeat" "250 30"
    # Specify which keyboard LEDs can be user-controlled (eg, with xset(1))
    #Option      "XkbModel" "pc105"
#    Option      "XkbModel" "a4techKBS8"
    Option      "XkbModel" "evdev"
    Option      "XkbLayout" "us,ru,ua"
    Option      "XkbVariant" ",winkeys,winkeys"
    Option      "XkbOptions" "grp:menu_toggle,grp_led:scroll"
EndSection
 
Section "InputDevice"
# keyboaed 1 - the main part (useful keys)
    Identifier     "Keyboard1e.0"
    #Driver         "kbd"
    Driver		"evdev"
#    P: Phys=usb-0000:00:0b.1-1.1/input0
#    S: Sysfs=/class/input/input3
    Option		"Device" "/dev/input/event3"
#    Option		"Phys"	"usb-0000:00:0b.1-1.1/input0"
#    Option		"Name" "  USB Keyboard"
#    Option         "AutoRepeat" "250 30"
    # Specify which keyboard LEDs can be user-controlled (eg, with xset(1))
    #Option      "XkbModel" "pc105"
    Option      "XkbModel" "evdev"
    #Option      "XkbModel" "a4techKBS8"
    Option      "XkbLayout" "us,ru,ua"
    Option      "XkbVariant" ",winkeys,winkeys"
    Option      "XkbOptions" "grp:menu_toggle,grp_led:scroll"
EndSection
 
Section "InputDevice"
# keyboaed 1 - the extra part (multimedia keys)
    Identifier     "Keyboard1e.1"
    #Driver         "kbd"
    Driver		"evdev"
	Option		"Device" "/dev/input/event4"
#    Option		"Phys"	"usb-0000:00:0b.1-1.1/input1"
#    Option         "AutoRepeat" "250 30"
    # Specify which keyboard LEDs can be user-controlled (eg, with xset(1))
#    Option      "XkbModel" "pc105"
    #Option      "XkbModel" "a4techKBS8"
#    Option      "XkbLayout" "us,ru,ua"
#    Option      "XkbVariant" ",winkeys,winkeys"
#    Option      "XkbOptions" "grp:menu_toggle,grp_led:scroll"
EndSection
 
Section "InputDevice"
	Identifier	"VoidKeyboard"
	Driver		"void"
	Option		"CoreKeyboard"
EndSection
 
Section "InputDevice"
	Identifier	"VoidPointer"
	Driver		"void"
	Option		"CorePointer"
EndSection
 
Section "InputDevice"
    Identifier     "PS2mouse"
    Driver         "mouse"
    # does not work :(
#    Option         "Device" "/dev/psaux"
    Option         "Device" "/dev/input/mouse0"
    Option         "Protocol" "IMPS/2"
    Option         "ZAxisMapping" "4 5"
EndSection
 
Section "InputDevice"
    Identifier     "usbmouse"
    Driver         "mouse"
    Option         "Device" "/dev/input/by-id/usb-Logitech_USB-PS.2_Optical_Mouse-mouse"
    Option         "Protocol" "IMPS/2"
    Option         "ZAxisMapping" "4 5"
EndSection
 
Section "InputDevice"
    Identifier     "mice"
    Driver         "mouse"
    Option         "Device" "/dev/input/mice"
	#"Logitech USB-PS/2 Optical Mouse"
    Option         "Protocol" "IMPS/2"
    Option         "ZAxisMapping" "4 5"
EndSection
 
Section "InputDevice"
    Identifier     "KeyMouseCOM1"
    Driver         "mouse"
    Option         "Device" "/dev/ttyS0"
    Option         "Protocol" "IntelliMouse"
    Option         "ZAxisMapping" "4 5"
EndSection
 
Section "Monitor"
    Identifier     "Monitor0"
EndSection
 
Section "Monitor"
    Identifier     "Monitor1"
    Option "DPMS" "true"
EndSection
 
Section "Device"
    Identifier     "Device0"
    Driver         "nvidia"
	BoardName      "GeForce 6150LE"
	BusID		   "PCI:00:05:0"
#	Option          "AddARGBVisuals"        "True"
#	Option          "AddARGBGLXVisuals"     "True"
	Option          "NoLogo"        "True"
EndSection
 
Section "Device"
    Identifier     "Device1"
    Driver         "nvidia"
	BoardName      "GeForce 8400 GS"
	BusID		   "PCI:2:0:0"
#	Option          "AddARGBVisuals"        "True"
#	Option          "AddARGBGLXVisuals"     "True"
	Option          "NoLogo"        "True"
EndSection
 
Section "Screen"
    Identifier     "Screen0"
    Device         "Device0"
    Monitor        "Monitor0"
#    DefaultDepth    16
    DefaultDepth    24
    SubSection     "Display"
        Depth       8
        Modes      "1280x1024" "1152x864" "1024x768" "832x624" "800x600" "720x400" "640x480"
    EndSubSection
    SubSection     "Display"
        Depth       16
        Modes      "1280x1024" "1152x864" "1024x768" "832x624" "800x600" "720x400" "640x480"
    EndSubSection
    SubSection     "Display"
        Depth       24
        Modes      "1280x1024" "1152x864" "1024x768" "832x624" "800x600" "720x400" "640x480"
    EndSubSection
EndSection
 
Section "Screen"
    Identifier     "Screen1"
    Device         "Device1"
    Monitor        "Monitor1"
#    DefaultDepth    16
    DefaultDepth    24
    SubSection     "Display"
        Depth       8
        Modes      "1680x1050" 
    EndSubSection
    SubSection     "Display"
        Depth       16
        Modes      "1680x1050" 
    EndSubSection
    SubSection     "Display"
        Depth       24
        Modes      "1680x1050" 
    EndSubSection
EndSection

Полезные ссылки

http://linux.org.ua/cgi-bin/yabb/YaBB.pl?num=1216232698
http://www.automation.dn.ua/linux/3d-multiseat.html
 
Личные инструменты