I don’t really play much, but of the few games I know Wolfenstein: Enemy Territory is probably the one with which I’ve spend the most time so far. By featuring multiple player roles (soldier, engineer, medic, etc.) and, even while being multiplayer, nice objective-based scenarios, it provides for much better experience that many other more popular shooters. And best of all, it’s completely free of cost, has native support for GNU/Linux and a portion of it’s source code is open!

But it’s not to advertise this game that I’m writing about it, but because I want to write down some solution to the “no sound problem” which you’re likely to find if you try it out, and so that I can remember about the fixes in the future. So, here’s the different things you can try; if one of them fails just go to the next one, and let’s hope that at least the last one does the trick!

1. Install the “oss-compat” package.
As easy as that! Although this alone has never fixed the problem with me, it often does together with solution 2 (described just below), and maybe in your case it may be all you’re missing.

2. A bit of command-line magic
The next one, which seems to be the most successful option, is trying to execute the following line before running Enemy Territory:

echo "et.x86 0 0 direct" | sudo tee /proc/asound/card0/pcm0p/oss

If after doing this the sound works, you can make the change permanent by adding that line to your /etc/rc.local/, for example by running:

sudo sed -i "s:^exit 0:echo 'et.x86 0 0 direct' > /proc/asound/card0/pcm0p/oss\nexit 0:" /etc/rc.local

3. Let’s call the artillery

Hopefully you’ll be enjoying an Enemy Territory game with the sound of explosions and shots in your ears, but if the previous solutions didn’t do the trick do not despair, there’s still hope. I’ve found a different solution in this thread and it consists in the following:

a) Download this script: wolfsp-sdl-sound.sh (original download link, alternative download link), created by Pyry Haulos.

b) Open it with a text editor and customize it to match your configuration: change the line «GAME_PATH=”/home/games/enemy-territory”» to point to the location of your Enemy Territory installation (most likely «GAME_PATH=”/usr/local/games/enemy-territor”»); in case your directory with the game files isn’t called «enemy-territory» like in the example you’ll also need to adapt the GAME_DIR variable.

c) Save this file somewhere on your computer, make it executable if needed (you can do this by right clicking on it, selecting “Properties” and under the “Permissions” tab of the dialogue that will show up checking the box to allow execution of the file). Done, now whenever you want to run the game just start it by running this file.

I hope this is useful for someone out there :).