Usare controller XBOX e XBOX 360 su Ubuntu

« Older   Newer »
 
  Share  
.
  1.     +1   -1
     
    .
    Avatar

    Niente dei, niente padroni

    Group
    Amministratore
    Posts
    28,458
    Punti G
    +477
    Location
    Napoli

    Status
    Stato
    Anonymous
    PREMESSA: io posseggo un telecomandino XBOX, e di conseguenza ho potuto testare in prima persona il procedimento… anche un bel po’ di utenti ne confermano il funzionamento. Inizio con il sottolineare che il controller Wireless per XBOX360 non utilizza la tecnologia bluetooth per interfacciarsi con la consolle e di conseguenza non la utilizzerà per interfacciarsi con la vostra macchina per cui, per rendere possibile il collegamento, dovrete procurarvi un aggeggino di questo genere, o usare un controller con cavo. Anche se è targato Microsoft, sembra funzionare discretamente anche su Linux (a meno di qualche difetto a cui si può porre semplice rimedio, ve ne parlerò dopo).

    Avete a disposizione due metodi per installare e configurare i vostri controller:

    1. Utilizzare il pacchetto xboxdrv (per vecchi kernel)
    2. Caricare nel kernel il modulo xpad

    Utilizzare il pacchetto xboxdrv

    Nei kernel precedenti alla famiglia 2.6.26 era già presente il supporto per i controller Xbox (il “vecchio” modulo xpad). Per “ampliare” la compatibilità ai controller Xbox360, però, vi ritroverete costretti a scaricare il modulo apposito e ricompilare il kernel includendolo come built-in. Siccome è un procedimento abbastanza macchinoso, il mio consiglio è di tagliare la testa al toro ed utilizzare i driver Userspace per Xbox/Xbox360. Purtroppo però su questo non posso esservi molto utile in quanto non mi è possibile, come vi ho già detto, testare in prima persona il procedimento. Posso però rimandarvi alla pagina di manuale di xboxdrv (in inglese) e dirvi, almeno, come installarlo.
    L’installazione avviene tramite repository, per cui non vi resta che aprire un terminale, aggiungerli ed installare tutto il pacchetto:

    CODICE
    <b>sudo add-apt-repository</b> ppa:grumbel/ppa
    <b>sudo apt-get</b> update
    <b>sudo apt-get</b> install xboxdrv


    Caricare nel kernel il modulo xpad

    Per iniziare, siccome dovremo andare ad inserire dei moduli direttamente nel kernel, avremo bisogno di installare gli headers del nostro kernel e una parte dei tools di sviluppo (build-essentials ed automake). Inoltre, in aggiunta, è utile installare anche gli strumenti per la calibrazione del controller. Per far ciò apriamo un terminale e digitiamo:

    CODICE
    <b>sudo apt-get</b> install linux-headers-`uname -r` build-essential automake
    <b>sudo apt-get</b> install joystick


    Ora che abbiamo a disposizione l’occorrente procediamo a scaricare e preparare il modulo. Cosa fondamentale è portarci con il terminale in una posizione in cui abbiamo permessi di lettura, scrittura ed esecuzione. La nostra home directory andrà benissimo. Per cui, ora, sempre da terminale, creiamo la nostra directory di lavoro e scarichiamo i drivers:

    CODICE
    <b>cd</b> ~
    <b>mkdir</b> xpad
    <b>cd</b> xpad
    <b>wget</b> “http://xbox-linux.cvs.sourceforge.net/*checkout*/xbox-linux/kernel-2.6/drivers/usb/input/xpad.c” “http://xbox-linux.cvs.sourceforge.net/*checkout*/xbox-linux/kernel-2.6/drivers/usb/input/xpad.h”


    Abbiamo così creato la nostra directory, scaricato il sorgente del modulo e gli headers di libreria che ci servono. Non muovetevi da quella directory a meno che non sia io a dirvelo. Ora dovremo andare a compilarlo con delle direttive specifiche, e dovremo quindi creare anche un bel makefile. Sempre da terminale, ora, apriamo il nostro adorato gedit (o qualsivoglia editor di testo).

    gedit Makefile &

    E, all’interno, incolliamo il seguente testo (stando ben attenti a non perdere i tab):

    CODICE
    KERNEL_PATH?=/usr/src/linux-headers-$(shell uname -r)

    EXTRA_CFLAGS=-I$(shell pwd)

    obj-m:=xpad.o

    all

    $(MAKE) modules -C$(KERNEL_PATH) SUBDIRS=$(shell pwd)

    install:

    cp -f xpad.ko /lib/modules/$(shell uname -r)/kernel/drivers/input/joystick


    Salvate ed uscite. Questo makefile, automaticamente, rileverà gli headers del vostro kernel e compilerà per voi il modulo utilizzando i files che avete scaricato.
    Andiamo ora a compilare il modulo, eliminare il vecchio ed aggiungere quello fresco di compilazione nel kernel:
    CODICE
    make
    sudo make install
    sudo modprobe -r xpad
    sudo depmod -a
    sudo modprobe xpad

    ….e con questo dovremmo ritrovarci il modulo bello e funzionante! Facciamo la prova del nove: colleghiamo il nostro controller (che sia Xbox o Xbox360) e vediamo un po’ l’output del seguente comando:
    CODICE
    dmesg | grep Microsoft

    Se l’output dovesse essere qualcosa di simile a questo: “Microsoft Xbox 360 Wireless Controller (PC) (e blah,blah…)” allora sono felice di divri che l’installazione è avvenuta con successo! Ora, per evitare di dover dare modprobe ad ogni avvio del sistema, andiamo a dire ad Ubuntu di caricarlo da sè: basterà aggiungere il nome del modulo al file /etc/modules. Per farlo, possiamo utilizzare comodamente il comando echo da terminale:
    CODICE
    sudo echo xpad >> /etc/modules

    Ora,se avete installato anche il pacchetto joystick, non vi resta che eseguire jscal per calibrare il vostro joystick (solitamente il device è /dev/js0):
    CODICE
    jscal js0 -c /dev/


    Abbiamo finalmente finito! Abbiamo installato il nostro controller. Come vi dicevo prima, però, potreste incorrere a piccoli problemi di collegamento (per via dei vari aggeggi per gestire la wireless), come ad esempio:
    I led del controller potrebbero continuare a lampeggiare sebbene questo sia connesso
    Il controller potrebbe non spegnervisi, a meno che non rimuoviate le batterie
    Per alcuni giochi potreste aver bisogno, DOPO averli mandati in esecuzione, di risincronizzare il controller
    Detto questo vi saluto, spero il procedimento funzioni (ripeto, io l’ho solo tradotto e ho tentato di renderlo un po’ più semplice), spero di essere stato chiaro e…arrivederci al prossimo tutorial!

    xboxdrv Help
    Ubuntu Help – Install and Configure Microsoft Xbox360 controller
    Jscal manpage

    Linux360 ©
     
    Top
    .
0 replies since 7/10/2011, 19:52   281 views
  Share  
.
Top