[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Multihead



Hi!

	Попытался сделать у себя многоголовую систему (2 монитора, 2
видеокарточки (NVidia Vanta TNT2, S3Virge), 2 клавиатуры (USB+PS/2), 
2 мышки (USB+PS/2) подключены к одной машине).

Проблема: некорректно работает клавиатура. 

Симптомы: 
- не переключаются раскладки по CapsLock
- на выходит из X-ов по Ctl+Alt+Shift+BackSpace
- перестали работать мультимедийные кнопки (при нажатии полная тишина в xev )
- перестала работать виндовая клавиша "start"

Что я делал:

Я нашел 3 основных способа добиться Multihead-а:
1. Проматчить XF86free (у меня стоял 4.3)
2. Установить Xorg 6.9/7.0 - там поддержка Multihead-а обещается "из
коробки" - драйвер evdev для клавиатуры (именно с ним, кажется, у меня проблемы).
3. Пропатчить ядро (Ruby).

Я пошел по 2-му пути. Выкачал xorg-x11-6.8.99.904.tar.bz2 (пробовал xorg-x11-6.8.99.900.tar.bz2, 
X11R6.9.0-src.tar.bz2 - резальтат тот-же). Скомпилировал (пробовал с
настройками по умолчанию, затем с "cp linux.cf host.cf" в .config/cf -
результат тот-же).
Тут-же первый вопрос: есть ли уже готовый X11R6.9/X11R7.0 в deb?

После компиляции make install, установил драйвера nvidia (NVIDIA-Linux-x86-1.0-7167-pkg1.run - 
без них второй сервер намертво завешивал первый, работающий на Vanta).
Все установилось нормально (правда, при установке драйверов nvidia -
кричали о том, что 
----------------------
-> Validating previous installation:
ERROR: File '/usr/X11R6/lib/modules/extensions/libglx.so' is not a symbolic link.
----------------------
- но все дальше устанавливалось нормально).
Второй сервер запускается нормально - из терминала на запущенном первом
сервере команда: 
startx -- :1 -novtswitch -sharevts -layout L2 
Все работает хорошо. Клавиатуры и мышки разделились. Но тут и начинается
проблема. Чтобы разделить клавиатуры в xorg.conf мне пришлось для каждой из них
заменить строку: Driver "kbd"
----------------------
#!!   Driver      "kbd"
  Driver "evdev"
  Option "Device" "/dev/input/event2"
----------------------
evdev - это что-то новое в Xorg - именно для этих целей.
Клавиатура работает некорректно (см. выше).
Если закомментировать эти 2 строки и вернуть kbd - все нормально, но
тогда обе клавиатуры дублируют друг друга.

Вопрос: кто-нибудь работает с evdev, кто-нибудь сталкивался с такими
проблемами?

Ниже я привожу полный xorg.conf, но еще несколько вопросов.

1. Кто-нибудь использует Multihead? Как сделали?
2. Есть ли ядро (в deb) и где его можно найти, уже пропатченное Ruby?
   У меня не получается самому наложить пачти и добиться нормальной
   работы 2-х серверов. Кстати, сейчас у меня ядро 2.6.12-1-k7,
   установленное из репозитария testing. Под ним поднимаются 2 сервера
   (см. выше). Если я выкачиваю эту-же версию ядра в исходниках
   (kernel.org), копирую конфиги (cd /usr/src/linux; cp
   /boot/config-2.6.12-1-k7; make menuconfig; ... ) , компилирую ядро, 
   затем под ним компилирую Xorg, у меня 2 сервера не поднимаются.
   Второй завешивает первый (так-же как и при экспериментах с Ruby).
   Т.е. в самодельном ядре у меня почему-то 2 Х-сервера не работают.
   
== xorg.conf ====================================
Section "InputDevice"
    	Identifier "Keyboard1"
#	Driver      "kbd"
	Driver "evdev"
	Option "Device" "/dev/input/event2"
	Option "XkdRules" "xorg"	
	Option "CoreKeyboard"
	Option "XkbModel"	"pc105"
	Option "XkbLayout"	"us,ru(winkeys)"
	Option "XkbOptions"	"grp:caps_toggle"    
EndSection

Section "InputDevice"
    	Identifier "Keyboard2"
#	Driver      "kbd"
    	Driver "evdev"
	Option	    "CoreKeyboard"
	Option "Device" "/dev/input/event0"
	Option		"XkbModel"	"pc105"
	Option		"XkbLayout"	"us,ru(winkeys)"
	Option		"XkbOptions"	"grp:caps_toggle"    
EndSection

Section "ServerLayout"
	Identifier     "L1"
	Screen         "Screen1" 0 0
	InputDevice    "Keyboard1" "CoreKeyboard"
	InputDevice    "Mouse1" "CorePointer"
EndSection

Section "ServerLayout"
	Identifier     "L2"
	Screen	       "Screen2" 0 0
	InputDevice    "Keyboard2" "CoreKeyboard"
	InputDevice    "Mouse2" "CorePointer"
EndSection

Section "Files"

#	FontPath	"unix/:7100"			# local font server
	FontPath     "/usr/lib/X11/fonts/misc"
	FontPath     "/usr/lib/X11/fonts/cyrillic"
	FontPath     "/usr/lib/X11/fonts/100dpi/:unscaled"
	FontPath     "/usr/lib/X11/fonts/75dpi/:unscaled"
	FontPath     "/usr/lib/X11/fonts/Type1"
	FontPath     "/usr/lib/X11/fonts/CID"
	FontPath     "/usr/lib/X11/fonts/100dpi"
	FontPath     "/usr/lib/X11/fonts/75dpi"
EndSection

Section "Module"

	#Load	"GLcore"
	#Load	"dri"

        Load  "bitmap"
	Load  "dbe"
	Load  "ddc"
	Load  "extmod"
	Load  "freetype"
	Load  "glx"
	Load  "int10"
	Load  "record"
#	Load	"speedo"
	Load  "type1"
	Load  "vbe"
EndSection

Section "InputDevice"
	Identifier  "Mouse1"
	Driver      "mouse"
	Option	    "CorePointer"
	Option	    "Device" "/dev/input/mouse1"
	Option	    "Protocol" "ImPS/2"
	Option	    "Emulate3Buttons" "true"
	Option	    "ZAxisMapping" "5 4"
EndSection

Section "InputDevice"
	Identifier  "Mouse2"
	Driver      "mouse"
	Option	    "CorePointer"
	Option	    "Device" "/dev/input/mouse0"
	Option	    "Protocol" "ImPS/2"
	Option	    "Emulate3Buttons"
	Option	    "ZAxisMapping" "5 4"
	Option	    "Emulate3Timeout" "50"
EndSection

Section "Monitor"
	Identifier   "SyncMaster 757p"
	VendorName   "Plug'n Play"
	HorizSync    30.0 - 96.0
	VertRefresh  50.0 - 160.0
	ModeLine     "1280x1024" 157.5 1280 1364 1524 1728 1024 1025 1028 1072 +hsync +vsync
	Option	    "DPMS"
EndSection

Section "Monitor"
	Identifier   "Monitor2"
	HorizSync    31.5 - 37.9
	VertRefresh  50.0 - 90.0
	ModeLine     "800x600" 40.00 800 856 984 1056 600 601 605 612 +hsync +vsync 
EndSection

Section "Device"

#	Driver		"nv"
	Identifier  "RivaTNT2 vanta"
	Driver      "nvidia"
	Option	    "NoLogo"
	BusID       "pci:1:00:0"
EndSection

Section "Device"
	Identifier  "Card2"
	Driver      "s3virge"
	ChipSet     "86C325"
	BusID       "PCI:0:12:0"
EndSection

Section "Screen"
	Identifier "Screen1"
	Device     "RivaTNT2 vanta"
	Monitor    "SyncMaster 757p"
	DefaultDepth     24
	SubSection "Display"
		Depth     1
		Modes    "1600x1200" "1280x1024" "1280x960" "1152x864" "1024x768" "800x600"
	EndSubSection
	SubSection "Display"
		Depth     4
		Modes    "1600x1200" "1280x1024" "1280x960" "1152x864" "1024x768" "800x600"
	EndSubSection
	SubSection "Display"
		Depth     8
		Modes    "1600x1200" "1280x1024" "1280x960" "1152x864" "1024x768" "800x600"
	EndSubSection
	SubSection "Display"
		Depth     15
		Modes    "1600x1200" "1280x1024" "1280x960" "1152x864" "1024x768" "800x600"
	EndSubSection
	SubSection "Display"
		Depth     16
		Modes    "1600x1200" "1280x1024" "1280x960" "1152x864" "1024x768" "800x600"
	EndSubSection
	SubSection "Display"
		Depth     24
		Modes    "1280x1024" "1280x960" "1152x864" "1024x768" "800x600"
	EndSubSection
EndSection

Section "Screen"
	Identifier "Screen2"
	Device     "Card2"
	Monitor    "Monitor2"
	DefaultDepth     16
	SubSection "Display"
		Depth     1
		Modes    "800x600"
	EndSubSection
	SubSection "Display"
		Depth     4
		Modes    "800x600"
	EndSubSection
	SubSection "Display"
		Depth     8
		Modes    "800x600"
	EndSubSection
	SubSection "Display"
		Depth     15
		Modes    "1024x768"
	EndSubSection
	SubSection "Display"
		Depth     16
		Virtual 1024 768
		Modes    "800x600"
	EndSubSection
	SubSection "Display"
		Depth     24
		Modes    "800x600"
	EndSubSection
EndSection

Section "DRI"
	Mode         0666
EndSection


#Section "ServerFlags"
#Option "PciOsConfig" "1"
#EndSection



Reply to: