Enemy Territory

Z HKfree wiki
Skočit na navigaci Skočit na vyhledávání

Jak zprovoznit ET + TS + zvuk v Linuxu

Pro zvukové karty, které mají HW mixér

Jako root spusťte toto:

echo 'et.x86 0 0 direct' > /proc/asound/card0/pcm0p/oss
echo 'et.x86 0 0 disable' > /proc/asound/card0/pcm0c/oss

Pokud máte více zvukových karet, pak zkuste toto:

find /proc/asound/card* -name oss | grep pcm0p | while read a; do echo et.x86 0 0 direct > $a; done
find /proc/asound/card* -name oss | grep pcm0c | while read a; do echo et.x86 0 0 disable > $a; done

Pokud to funguje, počítejte s tím, že po rebootu bude potřeba příkaz spustit znovu. Nejlepší řešení je asi přidat příkazy do nějakého skriptu, který se spustí při startu počítače.

Pro zvukové karty, které jsou úplně k prdu :-)

Teamspeak bude třeba spouštět přes emulaci aoss, aby místo OSS používal ALSU

aoss teamspeak

nebo upravit skript

/usr/bin/teamspeak

#!/bin/sh
#
# This file is public domain.

export LD_LIBRARY_PATH=/usr/lib/teamspeak-client:$LD_LIBRARY_PATH
aoss /usr/lib/teamspeak-client/teamspeak.real $@

ET přes samotné aoss nefunguje, zvuk zní strašně trhaně. Lze zvukový výstup prohnat přes aRts, ale aby nebyl zvuk zpožděný, musí se artsd spustit s nižší vyrovnávací pamětí.

upravený /usr/local/bin/et

#!/bin/sh
# Needed to make symlinks/shortcuts work.
# the binaries must run with correct working directory
cd "/usr/local/games/enemy-territory/"
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:.
#exec ./et.x86 "$@"

killall artsd
#artsd -a alsa -F 16 -S 128 &
artsd -a alsa -F 1 -S 64 &
artsdsp -m ./et.x86 "$@"

Můžete zkusit ladit parametry artsd, které ovlivňují velikost vyrovnávací paměti

  • -F je počet zvukových snímků
  • -S velikost jednotlivých zvukových snímků

čím větší buffer, tím větší bude zpoždění zvuku za obrazem, ale může předcházet trhání zvuku.