Portál AbcLinuxu, 1. května 2025 05:51
Za několik málo týdnů vyjde nový xorg-server 1.5.0, který mimo spousty změn přináší také podporu HALu, tzv. input hotplugging = podpora pro vstupní zařízení (například klávesnice, myši, dotyk), stejně jako výstupní zařízení (monitory, projektory, atd.), kdy hotplugging umožňuje komunikaci s HAL a D-BUS pro stanovení, zda se nové vstupní zařízení bylo připojeno k systému. Zařízení je pak připraveno k použití ihned.
Tato změna si také žádá nové ovladače, které postupně vycházejí jako evdev, intel, ati, openchrome, aj. Uzavřený ovladač Nvidia by měl fungovat též, novou verzi ale nepodporuje zatím AMD catalyst.
Nová verze X serveru přináší i nějaké změny v konfiguračním souboru xorg.conf, které se budeme věnovat.
Zkusme tedy nastavit toto nové vylepšení. Mějme tedy nainstalovanou novou verzi xorg-server 1.5.0 - aktuálně 1.5.0RC6 - spolu s novými ovladači, které jsou nutné pro tuto novou verzi a aktuálními verzemi D-BUS a HAL.
Xorg-server obsahuje něco málo patchů a je zkompilovaný takto:
# Upstream git update patch -Np1 -i ${srcdir}/xserver-1.5-20080830.patch || return 1 # extramodes patch -Np1 -i ${srcdir}/001_fedora_extramodes.patch || return 1 # Force EXA greedy migration when defined by driver patch -Np1 -i ${srcdir}/100_xserver_exa_force_greedy.patch || return 1 # Get rid of the ugly pattern patch -Np3 -i ${srcdir}/xorg-redhat-die-ugly-pattern-die-die-die.patch || return 1 # Fix dbus config path sed -i -e 's/\$(sysconfdir)/\/etc/' config/Makefile.* || return 1 ./configure --prefix=/usr --enable-ipv6 --enable-dri --disable-dmx --enable-xvfb --enable-xnest --enable-composite --enable-xcsecurity --enable-xorg --enable-xtrap --enable-xevie --enable-xephyr --enable-glx-tls --enable-xorgcfg --enable-kdrive --enable-install-setuid --enable-config-hal --enable-config-dbus --disable-xfbdev --disable-xfake --disable-xsdl --disable-kdrive-vesa --disable-dri2 --disable-xprint --disable-static --sysconfdir=/etc/X11 --localstatedir=/var --with-default-font-path=/usr/share/fonts/misc,/usr/share/fonts/100dpi:unscaled, /usr/share/fonts/75dpi:unscaled,/usr/share/fonts/TTF,/usr/share/fonts/Type1 --with-xkb-path=/usr/share/X11/xkb --with-xkb-output=/var/lib/xkb --with-dri-driver-path=/usr/lib/xorg/modules/dri
Pro konfiguraci podpory HAL budeme potřebovat také balíček xf86-input-evdev
, který by měl nahradit ovladač klávesnice a myši.
RgbPath
, který již není potřeba Section "Files" FontPath "/usr/share/fonts/misc" FontPath "/usr/share/fonts/Type1" FontPath "/usr/share/fonts/100dpi" FontPath "/usr/share/fonts/100dpi/:unscaled" FontPath "/usr/share/fonts/TTF" ModulePath "/usr/lib/xorg/modules" # RgbPath "/usr/X11R6/lib/X11/rgb <--- není již potřeba EndSection
"kbd"
a "mouse"
nahradíme ovladačem "evdev"
Section "InputDevice" Identifier "Keyboard" # Driver "kbd" <--- starý ovladač Driver "evdev" <--- nový ovladač Option "CoreKeyboard" Option "XkbRules" "xorg" # Option "XkbModel" "pc105" <-- model převezme evdev Option "XkbModel" "evdev" <-- definujeme model jako evdev Option "XkbLayout" "cz" EndSection
Section "InputDevice" Identifier "Mouse" # Driver "mouse" <--- starý ovladač Driver "evdev" <--- nový ovladač Option "Name" "Logitech USB Receiver" # Option "Protocol" "ExplorerPS/2" <--- nastavení patřící ke starému ovladači # Option "Device" "/dev/input/mice" <--- nastavení patřící ke starému ovladači Option "ZAxisMapping" "4 5" Option "HWHEELRelativeAxisButtons" "7 6" Option "Emulate3Buttons" "no" Option "Sensitivity" "1.5" EndSection
"ServerLayout"
. Zde zrušíme tzv.corepointy a klávesnici, aby se mohla zavádět pomocí HALu. Section "ServerLayout" Identifier "Default Layout" Screen "Default Screen" # InputDevice "Keyboard" <--- není již potřeba InputDevice "Touchpad" # InputDevice "Mouse" "CorePointer" <--- není již potřeba Option "SuspendTime" "5" Option "OffTime" "10" EndSection
Po úpravách xorg.conf restartujeme HAL a X server (XDM,KDM,GDM,slim). Například příkazem /etc/rc.d/hal restart
, /etc/rc.d/kdm restart
Pokud se špatně nastavil layout klávesnice je třeba ještě následující úpravy:
cp / usr/share/hal/fdi/policy/10osvendor/10-keymap.fdi /etc/hal/fdi/policy/10-keymap.fdia upravíme řádek v
/etc/hal/fdi/policy/10osvendor/10-keymap.fdi
:
"merge> key="input.xkb.layout" type="string"> us < merge>"
na "merge> key="input.xkb.layout" type="string"> cz < merge>"
Po restartu X serveru již klávesnice píše česky jako předtím.
Pokud vše funguje, měli by jste mít v Xorg.0.log
něco podobného :
(II) config/hal: Adding input device AT Translated Set 2 keyboard (II) LoadModule: "evdev" (II) Loading /usr/lib/xorg/modules/input//evdev_drv.so (II) Module evdev: vendor="X.Org Foundation" compiled for 1.4.99.906, module version = 2.0.4 Module class: X.Org XInput Driver ABI class: X.Org XInput driver, version 2.1 (**) AT Translated Set 2 keyboard: always reports core events (**) AT Translated Set 2 keyboard: Device: "/dev/input/event8" (II) AT Translated Set 2 keyboard: Found keys (II) AT Translated Set 2 keyboard: Configuring as keyboard (II) XINPUT: Adding extended input device "AT Translated Set 2 keyboard" (type: KEYBOARD) (**) Option "xkb_rules" "base" (**) AT Translated Set 2 keyboard: xkb_rules: "base" (**) Option "xkb_model" "evdev" (**) AT Translated Set 2 keyboard: xkb_model: "evdev" (**) Option "xkb_layout" "cz" (**) AT Translated Set 2 keyboard: xkb_layout: "cz" (II) config/hal: Adding input device Logitech USB Receiver (**) Logitech USB Receiver: always reports core events (**) Logitech USB Receiver: Device: "/dev/input/event6" (II) Logitech USB Receiver: Found keys (II) Logitech USB Receiver: Configuring as keyboard
(II) config/hal: Adding input device Logitech USB Receiver (**) Logitech USB Receiver: always reports core events (**) Logitech USB Receiver: Device: "/dev/input/event5" (II) Logitech USB Receiver: Found x and y relative axes (II) Logitech USB Receiver: Found mouse buttons (II) Logitech USB Receiver: Configuring as mouse (II) XINPUT: Adding extended input device "Logitech USB Receiver" (type: MOUSE)
Tiskni
Sdílej:
xorg.conf
a výpis z Xorg.0.log
Option "Device" "string"Hmm, chyba v Matrixu?Specifies the device through which the device can be accessed. This will generally be of the form "/dev/input/eventX", where X is some integer. The mapping from device node to hardware is system- dependent. This option is mandatory unless "Path" is given, and there is no default setting.
Option "Path" "string"Specifies the device through which the device can be accessed. This will generally be of the form "/dev/input/by-path/xyz", where xyz includes the name of the device. The mapping from device node to hardware is system-dependent. This option has precedence over the "Device" option but one of "Path" or "Device" must be given.
Proste pri pouziti driveru evdev se klavesnice zblazni :)Podle tohoto článku
Option "XkbModel" "evdev"
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.