The X server will not be able to send the VDPAU driver (solución)

Revisando el Xlog /var/log/Xorg.0.log en una instalación limpia de 64bits, me he dado cuenta de este error del driver de nvidia que no consigue acceder al vdpau,


] ) LoadModule: "dri2"
[ ] (WW) Warning, couldn't open module dri2
[ ] (II) UnloadModule: "dri2"
[ ] (EE) NVIDIA: Failed to load module "dri2" (module does not exist, 0)
[ ] (II) NVIDIA(0): The X server will not be able to send the VDPAU driver name to
[ ] (II) NVIDIA(0): libvdpau.

La solución es sencilla, simplemente editar el fichero /etc/X11/xorg.conf y añadir estas lineas:


Section "Files"
ModulePath "/usr/lib64/xorg/modules"
ModulePath "/usr/lib64/opengl/xorg-x11/extensions/"
EndSection

Asegurandose en todo caso de que existen o que las rutas són las correctas de tu distribución. Después de añadirlas, comprobar de nuevo al reiniciar las X de que vdpau es detectado correctamente.


[ ] (II) LoadModule: "dri2"
[ ] (II) Loading /usr/lib64/opengl/xorg-x11/extensions/libdri2.so
[ ] (II) Module dri2: vendor="X.Org Foundation"
[ ] compiled for 1.12.2, module version = 1.2.0
[ ] ABI class: X.Org Server Extension, version 6.0
[ ] (II) NVIDIA(0): [DRI2] Setup complete
[ ] (II) NVIDIA(0): [DRI2] VDPAU driver: nvidia

Y listo!

X.Org 1.10.99.902 y su nuevo “feature”

Básicamente este commit tan simpático y habilitado por defecto en la última versión de Xorg, lo que hace simplemente es bastante curioso, tan curioso que hace que cualquier bloqueador de pantalla se convierta totalmente inservible, dónde un usuario con una simple combinación de teclas, se saltará nuestra protección de pantalla de manera campante.

http://seclists.org/oss-sec/2012/q1/19

A ver que sucederá con esto finalmente, pero está claro que el estado actual es totalmente inadmisible.

Es lo bueno que tiene el software libre, que meter backdoors por la cara no pasa por desapercibido tan fácilmente.

A tenerlo en cuenta para los que les gusta bajar cosas en el trabajo en la hora de comer! :)

¿Como enviar el estado “URGENT HINT” a una aplicación X Window?

Bien, normalmente las applicaciones notifican con “Urgent Hint” para notificar a tu entorno de que ha aparecido una nueva actividad, por ejemplo un correo nuevo, un mensaje en un chat etc. Pero algunas aplicaciones no soportan este tipo de eventos, así que solo queda, modificar la aplicación, o bien utilizar alguna herramienta que nos permita simular este comportamiento.

Por ejemplo, si la aplicación no tiene soporte de “Urgent Hint”, pero si que tiene soporte para lanzar alguna aplicación después de un evento, entonces la herramiente “seturgent” nos viene perfecta.

Nos bajamos la herramienta seturgent.

$ wget http://www.codemadness.nl/downloads/projects/seturgent/seturgent-1.2.tar.gz
tar xvfz seturgent-1.2.tar.gz
cd seturgent-1.2
make

(o make install para instalarla en el sistema)

Apartir de ahora ya la podemos utilizar.

Buscamos una applicación que le queramos enviar un “urgent hint”, en este caso Mozilla Thunderbird por exemplo.

~$ xwininfo -root -tree | awk '/Mozilla Thunderbird/ { print $1 ; exit }'
0x2000071

Nos devuelve el id de la ventana en hexadecimal, en este caso no hay problema porque seturgent trabaja tanto en decimal como en hexadecimal.

Ahora lanzamos el seturgent.

$ seturgent 0x2000071

Alehop!, ya está enviada la señal, así que ahora puedes hacer cosas extra dependiendo de tus necesidades cuando un aplicación reciba un “urgent hint”.

Saludos!

http://www.codemadness.nl/downloads/projects/seturgent

SynPS/2 Synaptics TouchPad no synaptics event device found (SOLVED, SOLUCIONADO)

Recién me he comprado un netbook, así que voy a ir poniendo errores que me he ido encontrando en la configuracón, uno de ellos ha sido en Synaptics cuando inicializaba las X mediante startx.

Errors from xkbcomp are not fatal to the X server
SynPS/2 Synaptics TouchPad no synaptics event device found
Query no Synaptics: 6003C8
(EE) SynPS/2 Synaptics TouchPad Unable to query/initialize Synaptics hardware.
(EE) PreInit failed for input device “SynPS/2 Synaptics TouchPad”

En concreto yo tengo instalado Debian squeeze, pero el procedimiento es similar para el resto de distribuciones.

Método 1 (ciertos touchpad genéricos):

(como root)
# modprobe -r psmouse
# modprobe psmouse proto=imps

Y para hacer los combios permanentes al reiniciar:

# echo 'options psmouse proto=imps' > /etc/modprobe.d/touchpad.conf

Método 2 (no relizar el método 1):

Si habeís realizado el método 1, probad el 2, pero teneís que desconfigurar el 1.


# modprobe -r psmouse
# modprobe psmouse
# rm -f /etc/modprobe.d/touchpad.conf

Al parecer el driver se carga 2 veces mediante los scripts /usr/share/X11/xorg.conf.d/10-evdev.conf y /usr/share/X11/xorg.conf.d/50-synaptics.conf.

1) Comentar todo lo referente a touchpad en 10-evdev.conf

2) Modificar el fichero 50-synaptics.conf, es importante añadir la opción MatchDevicePath, aquí pongo uno de ejemplo, además añado la opción del scroll vertical que es bastante curiosa.

Mi touchpad no soporta multitouch, pero con una simple opción es sencillo emularlo “EmulateTwoFingerMinZ”.

Modificadlo a vuestro gusto, y repasar las opciones que brinda man 4 synaptics.

/usr/share/X11/xorg.conf.d/50-synaptics.conf

Section "InputClass"
Identifier "touchpad"
Driver "synaptics"
MatchIsTouchpad "on"
Option "Protocol" "auto-dev"
MatchDevicePath "/dev/input/event*"
# algunos programas lo requieren
Option "SHMConfig" "1"
Option "TapButton1" "1"
Option "TapButton2" "2"
Option "TapButton3" "3"
Option "VertEdgeScroll" "1"
Option "VertTwoFingerScroll" "1"
Option "HorizEdgeScroll" "1"
Option "HorizTwoFingerScroll" "1"
Option "CircularScrolling" "1"
Option "CircScrollTrigger" "7"
# emulacion multitouch
Option "EmulateTwoFingerMinZ" "0"
EndSection

Con estos simples pasos al reinicar las X o el netbook, los errores de Synaptic han desaparecido funcionando de manera correcta.