PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ubuntu 10.x und kein Sound in Spielen


Simon
2010-10-28, 11:53:02
Hallo,

ich hab mir auf dem Laptop jetzt ein paar Spiele installiert, Enemy Territory und Shadowgrounds. Installiert ist Ubuntu 10.10 64Bit, Sound an sich funktioniert super in Gnome.

Bei den genannten Spielen kommt leider gar kein Ton. In der Konsole hab ich:
/dev/dsp: No such file or directory
Could not open /dev/dsp

alsa-oss ist aber installiert, unter /lib/modules/2.6.35-22-generic/ gibt es jedoch keinerlei oss-Module :|

Als Lösung im Ubuntu Users hab ich gefunden:
echo "et.x86 0 0 direct" > /proc/asound/card0/pcm0p/oss
was dann natürlich nicht funktioniert, weil OSS nicht läuft.


Wie krieg ich jetzt Sound? ;(

Gast
2010-10-28, 13:01:46
OSS muss nicht installiert sein oder gar laufen, die alsa-emulation reicht eigentlich vollkommen aus. Dass bei dir aber nicht mal /dev/dsp exisitiert ist schon seltsam.

Der Source von Enemy Territory ist ja seit ein paar Wochen unter GPL verfügbar und meines Wissens gibt es auch schon Projekte, die das Sound-Backend von ioquake3 für et portiert haben (Damit gibts Sound über SDL und OpenAL). Falls du nicht gerade auf Servern mit Punkbuster spielen willst, würde ich dir raten nach einem solchen Port zu suchen.

Gast
2010-10-28, 13:04:47
Hast du vielleicht /dev/dsp0 oder /dev/dsp1 ?

Gast
2010-10-28, 13:10:50
Scheint wohl ein "Experiment" von Ubuntu 10.10 zu sein:
https://bugs.launchpad.net/ubuntu/+source/linux/+bug/579300

Lösung: Zurück zu 10.04

Simon
2010-10-28, 13:31:27
OSS muss nicht installiert sein oder gar laufen, die alsa-emulation reicht eigentlich vollkommen aus. Dass bei dir aber nicht mal /dev/dsp exisitiert ist schon seltsam.
So ein Paket gibts nicht.


Der Source von Enemy Territory ist ja seit ein paar Wochen unter GPL verfügbar und meines Wissens gibt es auch schon Projekte, die das Sound-Backend von ioquake3 für et portiert haben (Damit gibts Sound über SDL und OpenAL). Falls du nicht gerade auf Servern mit Punkbuster spielen willst, würde ich dir raten nach einem solchen Port zu suchen.
Mhm, läuft damit True Combat Elite?
Zumal es ja noch weitere Spiele betrifft, die nicht OSS sind ;)

Hast du vielleicht /dev/dsp0 oder /dev/dsp1 ?
Nein, nix dergleichen.


Scheint wohl ein "Experiment" von Ubuntu 10.10 zu sein:
https://bugs.launchpad.net/ubuntu/+s...ux/+bug/579300
wtf?:confused: :confused: :confused: :confused:


Edit: Gerade ossproxy versucht. Der legt zwar die Devices an. Hab die Berechtigungen korrigiert, aber funktioniert trotzdem nicht:

------- sound initialization -------
/dev/dsp: No such device
Could not mmap /dev/dsp
ls -lA /dev/dsp:
crw-rw-rw- 1 root audio 14, 3 2010-10-28 13:43 /dev/dsp
Und ich bin in der audio-Gruppe (die anderen audio-devices haben auch diese Berechtigungen.

Die Lösung für das mmap()-Problem ist obiges echo, was ohne oss-Module aber nicht geht :mad:

Gast
2010-10-28, 14:10:11
Wie gesagt: Entweder zurück zu 10.04 oder du kompilierst dir für 10.10 einen eigenen Kernel mit oss-emulation. Bei Ubuntu scheint momentan leider einiges schief zu laufen.

Gast
2010-10-28, 14:44:09
Mhm, läuft damit True Combat Elite?
Wenn du es als 32bit Version kompilierst wahrscheinlich schon.
Source mit funktionierendem Sound: http://bitbucket.org/tcmreastwood/raedwulf-et/

Simon
2010-11-22, 11:11:12
Hi,

hab jetzt wieder 10.04 installiert, aber immer noch keinen Sound in Shadowgrounds :mad:

Ideen oder Vorschläge?

Mit padsp hab ich wenigstens etwas Sound, aber abgehackt und mit einem Klackern bei jedem Geräusch :mad:

333fps
2010-11-22, 18:14:28
http://wiki.ubuntuusers.de/Spiele/Wolfenstein_Enemy_Territory

mit dem Link solltest du die Lösung finden ;)

Simon
2010-11-22, 19:58:19
http://wiki.ubuntuusers.de/Spiele/Wolfenstein_Enemy_Territory

mit dem Link solltest du die Lösung finden ;)
Wie hilft mir das jetzt bei Shadowgrounds?


Für enemy territory:
1. Möglichkeit
In GNOME kann man ab Edgy Eft unter "System -> Einstellungen -> Audio" im Reiter "Geräte" die Klangereignisse einstellen. Hier sollte man "OSS (Open-Sound-System)" wählen.
Es gibt diesen Eintrag im Menü nicht. Wähle ich stattdessen "Klang", so gibt es dort kein Tab mit "Geräte".

2. Möglichkeit
Wenn man keinen Sound hat, reicht es, ein kleinen Befehl im Terminal [1] auszuführen:

sudo -s
echo "et.x86 0 0 direct" > /proc/asound/card0/pcm0p/oss
ergibt:
------- sound initialization -------
/dev/dsp: Device or resource busy
Could not open /dev/dsp

3. Möglichkeit
killall esd; et; esd
Hier läuft kein esd, sondern PulseAudio bzw. Alsa.

4. Möglichkeit und 5. Möglichkeit
4. funktioniert, sofern ich über gstreamer-properties AudioAusgabe auf Alsa stelle. Mit PulseAudio funktioniert das natürlich nicht :mad:
------- sound initialization -------
SDL audio driver initializing...
SDL_AudioDriverName() = NULL

Ist ja nicht so, als hätt ich das nicht alles schon probiert ;)

Gast
2010-11-22, 20:48:26
So bekommst du pulseaudio tot:
echo autospawn = no|tee ~/.pulse/client.conf
killall pulseaudio

Und falls du es noch nicht wusstest: Über /dev/dsp kann immer nur genau eine Anwendung auf den Sound zugreifen. Wenn du also darüber Sound haben willst, musst du alles andere was Sound ausgibt beenden.

Simon
2010-12-01, 11:30:18
Hab jetzt parallel nochmal Ubuntu 10.10 installiert. Mit padsp gibt es zumindest in einigen Spielen Sound (ohne Knacken). Enemy Territory will nicht, auch nicht in 10.04 und dem Umstellen/Killen von Pulseaudio :mad:

mrt
2010-12-01, 21:18:22
Canonical experimentiert etwas zu viel... wenigstens lassens jetzt die Finger vom DRM, nicht wie in 10.04.
Falls du weiterhin Probleme hast, dann kommst um alsa-oss nicht herum.

Gast
2010-12-02, 07:31:47
Enemy Territory will nicht, auch nicht in 10.04 und dem Umstellen/Killen von Pulseaudio :mad:
Dann machst du was falsch.

Desti
2010-12-02, 18:29:56
Hi,

hab jetzt wieder 10.04 installiert, aber immer noch keinen Sound in Shadowgrounds :mad:

Ideen oder Vorschläge?

Mit padsp hab ich wenigstens etwas Sound, aber abgehackt und mit einem Klackern bei jedem Geräusch :mad:

padsp mit den Optionen -MSD nutzen.

Simon
2010-12-02, 20:06:56
Das ist bekloppt: Bei einem zweiten Rechner mit XFi hab ich problemlos Sound in 10.04. Warum funktioniert das bei dem Laptop mit Realtek-Sound nicht? :confused:

Gast
2010-12-09, 18:33:16
Das ist bekloppt: Bei einem zweiten Rechner mit XFi hab ich problemlos Sound in 10.04. Warum funktioniert das bei dem Laptop mit Realtek-Sound nicht? :confused:
Weil es Realtek ist.

Klingt jetzt blöd, ist aber leider so.
Die Dinger arbeiten unter Linux echt bescheiden was Sound in mehreren Anwendungen angeht.

Unter Windows toll, Linux.....*hust*
Darum habe ich mir auch für knapp 30€ eine Sound Blaster gekauft.

333fps
2010-12-09, 18:42:27
Weil es Realtek ist.

Klingt jetzt blöd, ist aber leider so.
Die Dinger arbeiten unter Linux echt bescheiden was Sound in mehreren Anwendungen angeht.

Unter Windows toll, Linux.....*hust*
Darum habe ich mir auch für knapp 30€ eine Sound Blaster gekauft.

Fast genauso ist es mir ergangen. On Board geht zwar unter Kubuntu 10.04, aber nur schlecht als recht: Bei W:ET, Quake usw. muss man sich "verrenken" bis es funktioniert :rolleyes:

Habe mir dann noch eine alte SB_Live 5.1 ergattert iirc um 12 Euro. Jetzt funzt alles sowohl in meinem Kubuntu 10.04 als auch Win 7 (mit kX-Treiber). ;)

Simon
2010-12-09, 19:17:28
Habe mir dann noch eine alte SB_Live 5.1 ergattert iirc um 12 Euro. Jetzt funzt alles sowohl in meinem Kubuntu 10.04 als auch Win 7 (mit kX-Treiber). ;)
Geht im Laptop leider nicht :(

Naja, spiel ich halt weiterhin Starcraft und so :freak:

Gast
2010-12-13, 21:03:08
Kurze Erklärung des Problems an sich:

Beinahe alle Onboard Soundkarten haben lediglich einen Hardware Mixer. Die CPU mixt die Spuren vorm "abschicken" an die Soundkarte zusammen. Die Soundblaster und sonstige externe Geräte haben mehrere Spuren. Beim SB Live waren's damals glaub ich 4, aber neuere hochwertige Karten haben auch bestimmt 16 Spuren.
Jede dieser Spuren kann von einem Programm exclusiv belegt werden. Unter Ubuntu übernimmt das Mixen im Moment Pulseaudio - locked also auf mindestens eine Spur. Zur Auswahl standen früher noch arts, esd und so (je nach distro auch heute noch).
Pulseaudio hat damit den einzigen Zugriff auf die eine Spur der onboard Soundkarte im Laptop. Wenn ein anderes Prog was senden will.... pech gehabt.

Früher gabs noch so komische hacks mit dmix für oss, der dann 2 /dev/dsp's erzeugt hat... aber das hat alles nicht so richtig gut funktioniert. Knacken und glitches waren die Folge, da dmix anscheinend immer buffer underruns produziert hat.

Leider hat etwolf keine native unterstützung für den recht neuen pulseaudio. daher: zum zocken pulseaudio (oder andere evtl installierte sw-mixer) abschiessen, dafür sorgen dass /dev/dsp oä existieren (s.o) und es noch mal probieren.

So viel zum technischen Hintergrund des Problems. Vielleicht find ich ja ne Lösung, die funktioniert. Ich schau mich mal um.

333fps
2010-12-14, 17:08:04
Kurze Erklärung des Problems an sich:

Beinahe alle Onboard Soundkarten haben lediglich einen Hardware Mixer.

Du meintest wohl eher einen Software W^Mixer? :)

Die CPU mixt die Spuren vorm "abschicken" an die Soundkarte zusammen. Die Soundblaster und sonstige externe Geräte haben mehrere Spuren. Beim SB Live waren's damals glaub ich 4, aber neuere hochwertige Karten haben auch bestimmt 16 Spuren.
Jede dieser Spuren kann von einem Programm exclusiv belegt werden. Unter Ubuntu übernimmt das Mixen im Moment Pulseaudio - locked also auf mindestens eine Spur. Zur Auswahl standen früher noch arts, esd und so (je nach distro auch heute noch).
Pulseaudio hat damit den einzigen Zugriff auf die eine Spur der onboard Soundkarte im Laptop. Wenn ein anderes Prog was senden will.... pech gehabt.

Früher gabs noch so komische hacks mit dmix für oss, der dann 2 /dev/dsp's erzeugt hat... aber das hat alles nicht so richtig gut funktioniert. Knacken und glitches waren die Folge, da dmix anscheinend immer buffer underruns produziert hat.

Leider hat etwolf keine native unterstützung für den recht neuen pulseaudio. daher: zum zocken pulseaudio (oder andere evtl installierte sw-mixer) abschiessen, dafür sorgen dass /dev/dsp oä existieren (s.o) und es noch mal probieren.

So viel zum technischen Hintergrund des Problems. Vielleicht find ich ja ne Lösung, die funktioniert. Ich schau mich mal um.

Danke für die sonstige ausführliche Erläuterung Gast!