HOWTO Sound servers and TeamSpeak
From Gentoo Linux Wiki
| Installation • Kernel & Hardware • Networks • Portage • Software • System • X Server • Gaming • Non-x86 • Emulators • Misc |
Please format this article according to the guidelines and Wikification suggestions, then remove this notice {{Wikify}} from the article
Contents |
[edit] Introduction
TeamSpeak is a popular teleconferencing tool, especially among gamers. One of the major problems with it though is its dependency on OSS, which doesnt support software mixing.
[edit] What you need
To use it with sound systems such as ESD, ARTSD, and ALSA, you need to have it preload special modules that will reroute the sound to the sound system instead of taking over the sound card. However, TeamSpeak itself is run by its own script, and the preloading scripts dont work well with calling other scripts.
For the sound server, you can use several scripts.
- aoss - Redirects OSS to ALSA
- esddsp - Redirects OSS to ESD
- artsdsp - Redirects OSS to ARTS
For 64bit systems, in the emul packages, you should also have 32bit versions which have the suffix 32 (like esddsp32) for binary packages (such as TeamSpeak).
[edit] Running Teamspeak
To get around this, you have to call the TeamSpeak binary directly, with a command similar to the following (all one line).
LD_LIBRARY_PATH="/opt/teamspeak2-client:$LD_LIBRARY_PATH" esddsp /opt/teamspeak2-client/TeamSpeak.bin
(replace esddsp with the sound redirect you want).
This will call the binary manually so the sound redirect can take over. It seems though this only redirects output, so your microphone wont work if you do this. To be able to use a microphone, you still need to use OSS.
aoss seems to work with microphone input for me. But that might be related to the souncard.
It might work with "dsnoop" pluging for alsa. Here for more Information
[edit] Additional Steps
If the above alone does not work, try combining with advice from the TeamSpeak site FAQ. This step will limit the game to output only and must be done as root user:
echo '<game_binary> 0 0 direct' > /proc/asound/card0/pcm0p/oss echo '<game_binary> 0 0 disable' > /proc/asound/card0/pcm0c/oss
Where <game_binary> is the appropriate game binary. This (according to the FAQ) sets the game to output sound only, allowing the only input to be TeamSpeak. This worked when using artsdsp as the OSS to ALSA redirect.
