TIP Mando de la Xbox 360 en Linux

De Gentoo Linux Wiki

Este artículo es parte de las series Consejos y Trucos.
Terminales / Shells X Windows Portage Sistema Sistema de Archivos Kernel Otros

Tabla de contenidos

[editar] Introducción

Este artículo explica como conseguir hacer funcionar el mando de la Xbox 360 en Linux. El mando wireless no funciona en PC por el momento.

[editar] Compilando el módulo xpad

Tenemos que compilar el módulo xpad e instalarlo. Para esto vamos a preparar un nuevo kernel y a compilarlo.

[editar] Consiguiendo el código fuente del kernel

Es momento de conseguir las últimas fuentes del kernel (saltate este paso si no quieres conseguir las últimas fuentes). Así que "emergemos" las gentoo-sources.

# emerge gentoo-sources

[editar] Preparando el kernel

Ahora tenemos que cambiar el viejo driver xpad por el nuevo con soporte del mando de la Xbox 360. Este driver lo podemos conseguir del CVS de Xbox-Linux.

# cd /usr/src/linux/drivers/usb/input/
# rm xpad.c
# wget http://cvs.xbox-linux.org/viewcvs.py/*checkout*/xbox-linux/kernel-2.6/drivers/usb/input/xpad.c
# wget http://cvs.xbox-linux.org/viewcvs.py/*checkout*/xbox-linux/kernel-2.6/drivers/usb/input/xpad.h

Kernel preparado. Fácil, ¿no?

[editar] Compilando el kernel

Es hora de compilar el kernel pero primero tenemos que cambiar la configuración.

Para conseguir hacer funcionar el mando tenemos que compilar como módulo (o dentro del kernel) las siguientes opciones:


Código: Opciones del kernel
Device Drivers -> Input device support -> Joystick interface
Device Drivers -> USB support -> USB Human Interface Device (full HID) support
Device Drivers -> USB support -> USB Human Interface Device (full HID) support -> HID input layer support
Device Drivers -> USB support -> X-Box gamepad support

Guarda la configuración y ¡compila el kernel!

# make && make modules_install

[editar] Cargando los módulos

Vamos a cargar los módulos necesarios. Tenemos que cargar estos módulos: joydev, usbhid, xpad

# modprobe joydev usbhid xpad

Conecta el mando. Si todo funciona correctamente dmesg dirá algo como:


Código: dmesg
input: Microsoft Xbox360 Controller on usb-0000:00:02.0-3.1
input: Microsoft Xbox360 Controller on usb-0000:00:02.0-3.1
input: Microsoft Xbox360 Controller on usb-0000:00:02.0-3.1

[editar] Probando el mando

Bien, ahora es momento de probar el mando. Ejecuta:

# cat /dev/input/js0

y pulsa un botón. Si aparecen una serie de símbolos quiere decir que el mando está funcionando. ¡Felicidades!

[editar] Más información

Este método ha sido probado en una máquina x86, con el kernel 2.6.14-gentoo-r5. El mando ha sido probado con TuxRacer y funciona perfectamente.

Herramientas personales