Prima o poi chi gioca su Linux ad Enemy Territory si scontra inevitabilmente con il problema di far funzionare l’audio del gioco contemporaneamente a quello di TeamSpeak, il programma di VoIP che permette di parlare con gli altri giocatori.
Tra le tante soluzioni a questo problema, una che ho potuto provare di recente e che sembra funzionare bene è quella di utilizzare “et-sdl-sound”, che è un modulo di rimpiazzo del sistema sonoro OSS di Enemy Territory, o meglio citando dal sito: è un trucco funzionante per il supporto ALSA in ET.Per utilizzarlo bisogna scaricare l’archivio compresso, decomprimerlo e copiare il file “et-sdl-sound.so” in un posto noto, ad esempio nella cartella del gioco (nel mio caso /opt/enemy-territory/ ).
Bisogna inoltre creare uno script che dica al gioco di utilizzare quella libreria, adattando quello presente sul sito ai propri percorsi; il mio, che ho chiamato “et_alsa”, è diventato così:

 #!/bin/bash
 sudo su -c 'echo "et.x86 0 0 disable" > /proc/asound/card0/pcm0c/oss'
 export ETSDL_SDL_LIB="libSDL-1.2.so.0"
 cd /opt/enemy-territory/
 LD_PRELOAD="/opt/enemy-territory/et-sdl-sound.so" ./et.x86 $*

Rispetto alla versione originale, oltre ai percorsi ho cambiato anche il nome della libreria “libSDL.so”, perchè in Ubuntu quest’ultima si chiama “libSDL-1.2.so.0” (ed è fornita dal pacchetto “libsdl1.2debian-alsa”).
Ho aggiunto inoltre il comando nella seconda riga, che fa in modo che ET non si appropri del microfono, che tanto non gli serve, mentre invece serve a TeamSpeak.

Una volta reso eseguibile lo script, lanciandolo si dovrebbe ottenere Enemy Territory funzionante col sistema ALSA.

Attenzione: pare che ci sia la possibilità che questo trucco sia rilevato da PunkBuster come cheat, anche se per adesso non mi è mai successo.

Update: secondo svariate segnalazioni sembra proprio che questa libreria venga accettata tranquillamente da punkbuster

è necessario convincere anche TeamSpeak a funzionare con ALSA, ma in questo caso basta usare un wrapper come “aoss” (nel pacchetto “alsa-oss”):

aoss teamspeak

Se tutto va bene, buona sparatoria a tutti! 🙂

p.s.: Scoperta interessante solo parzialmente correlata: il problema del calo improvviso di luminosità che può capitare a chi gioca su Feisty con driver nvidia è dovuto allo screensaver, basta disabilitarlo mentre si gioca.

Update: ringrazio Mastro per aver segnalato che adesso la libreria funziona anche con Quake, e di aver segnalato la sua ottima guida al riguardo

Annunci