PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Soundproblem mit UT2004 u.ä.



Der Pate
29.03.08, 22:45
Hallo zusammen!

Folgendes Problem: ein Kumpel von mir kann auf seinem 64bit-Ubuntu-System mit ICH8 Chipsatz ( also Onboard-Soundkarte ) nicht gleichzeitig UT2004 spielen und nochwas anderes wie z.B. Teamspeak laufen lassen, weil sonst UT die Meldung bringt:


open /dev[/sound]/dsp: Device or Ressource busy


Hab es zwar online nicht bestätigt gefunden, aber Hardware-Mixing muß eigenlich drin sein, denn z.B. mehrere mpg321 o.ä. Ausgaben funktionieren reibungslos.

Habe auch die Backports installiert, weil ich gesehen habe, dass ALSA 1.0.15 den ICH8-Chipsatz nicht richtig unterstützt. Hat auch nix geholfen.

Habe dann auch noch dmix probiert, hier die .asoundrc:


pcm.snd_card {
type hw
card 0
device 0
}

ctl.snd_card {
type hw
card 0
device 0
}

# Das dmix-Plugin wird definiert.
pcm.dmixer {
type dmix
ipc_key 1024
ipc_perm 0666 # Andere Benutzer können ebenfalls dmix gleichzeitig nutzen
slave.pcm "snd_card"
slave {
### buffer_size kann bei Problemen der jeweiligen Karte angepasst werden.
period_time 0
period_size 1024
buffer_size 4096
### bei Störungen kann die Konvertierung auf die Rate 44100 eingeschaltet werden.
# rate 44100
### einige Soundkarten benötigen das exakte Datenformat (zB ice1712)
# format S32_LE
### Verfügbare Formate: S8 U8 S16_LE S16_BE U16_LE U16_BE S24_LE S24_BE U24_LE U24_BE
### S32_LE S32_BE U32_LE U32_BE FLOAT_LE FLOAT_BE FLOAT64_LE FLOAT64_BE
### IEC958_SUBFRAME_LE IEC958_SUBFRAME_BE MU_LAW A_LAW IMA_ADPCM MPEG GSM
### Anzahl channels muss mit den bindings übereinstimmen
channels 2
}
bindings {
0 0
1 1
}
}

# Das dsnoop-Plugin, welches es erlaubt, mehrere Programme gleichzeitig aufnehmen zu lassen.
pcm.dsnooper {
type dsnoop
ipc_key 2048
ipc_perm 0666
slave.pcm "snd_card"
slave
{
period_time 0
period_size 1024
buffer_size 4096
# bei Störungen kann die Konvertierung auf die Rate 44100 eingeschaltet werden.
# rate 44100
# einige Soundkarten benötigen das exakte Datenformat (zB ice1712)
# format S32_LE
### Anzahl channels muss mit den bindings übereinstimmen
channels 2
}
bindings {
0 0
1 1
}
}


# Dies definiert unser Fullduplex-Plugin als Standard für alle ALSA-Programme.
pcm.duplex {
type asym
playback.pcm "dmixer"
capture.pcm "dsnooper"
}

pcm.!default {
type plug
slave.pcm "duplex"
}

# DSP wird simuliert und benutzt das dmix-Plugin.
pcm.dsp0 {
type plug
slave-pcm "duplex"
}

# OSS-Steuerung für dsp0 (falls es benötigt wird...)
ctl.dsp0 {
type plug
slave.pcm "snd_card"
}

# OSS-Steuerung für dsp0 (falls es benötigt wird...)
ctl.mixer0 {
type plug
slave.pcm "snd_card"
}



auch das bringt nix; ständig scheint /dev/dsp beschäftigt zu sein.

Hab keine Ideen mehr. Irgendjemand?

backflip
29.03.08, 23:04
UT2004 benutzt OSS, nicht ALSA.
Du kannst versuchen, aoss zu verwenden - das geht bei mir, allerdings knackt der Sound von Zeit zu Zeit ein wenig.

xadi
30.03.08, 14:10
Man kann ut2004 zu alsa bewegen mittels openal.

So hats bei mir geklappt hat:

erstell dir die Datei ~/.openalrc

mit fogendem inhalt:

(define devices '(alsa null))
(define alsa-device "default")
(define speaker-num 2)
(define sampling-rate 44100)

Dann geh noch in das System verzeichnis von ut2004:
Mach dir ein backup von der libSDL-1.2.so.0 und der openal.so und verlink stattdessen zu diesen libraries nach /usr/lib/

also:

ln -s /usr/lib/libSDL-1.2.so.0 libSDL-1.2.so.0
und
ln -s /usr/lib/libopenal.so.0.0.0 openal.so