News:

If you are a developer, please build MegaGlest on your own and get in touch to contribute (or post your patches on the forums).

Main Menu

Solution to fix OpenaL (sound) problems (READ THIS)

Started by softcoder, 25 March 2010, 19:13:26

softcoder

There is a well known bug with OpenAL causing multiple sound drivers to fight with each other when playing sound in Linux.

For details see:

http://sourceforge.net/tracker/?func=detail&aid=2792509&group_id=127297&atid=709610
https://bugs.launchpad.net/ubuntu/+source/openal-soft/+bug/503780

While there are newer versions of OpenaL that "claim" to fix this, I have fixed glest and all of my other sound problems in Ubutnu by doing this:

#1 Edit the Open AL config:

sudo gedit /etc/openal/alsoft.conf

#2: Ensure you have a line with (at least) the following:

drivers = pulse,alsa,oss

(make sure the first character is NOT # or it means its commented out)
Save the file.

#3: kill pulse audio by running:

pulseaudio -k

#4: restart pulse audio via:

pulseaudio --start

Thats it!

Edit: Here is a bash script to automate it:

#!/bin/sh

# now deal with the openal library [libopenal.so.0]
hasdrivers=`grep  "^[d]rivers" /etc/openal/alsoft.conf`
echo "openal drivers = [$hasdrivers]"
if [ -n "$hasdrivers" ]; then
  echo "openal drivers was found = [$hasdrivers]"
else
  echo "openal drivers is missing, attempting to setup a working configuration"

  sudo cp /etc/openal/alsoft.conf /etc/openal/alsoft.conf.bkp
  sudo sh -c 'echo "drivers = pulse,alsa,oss" >> /etc/openal/alsoft.conf'
  pulseaudio -k
  pulseaudio --start

  echo "openal re-configured, try out your sound now!"
fi


narcisgarcia

Thanks, but this doesn't work for me.
The problem I feel is that Glest begins with sound, but after a while the sound disappears as if you were walking with a radio (the sound doesn't cut: disappears slowly).

titi

Do other games work fine for you, or do you have similar problems with them?

Is this still your system?:
Software environment:
- Ubuntu GNU/Linux 9.10 (32-bit)
- Glest 3.2.2 (from system's repositories)




Try Megaglest! Improved Engine / New factions / New tilesets / New maps / New scenarios

narcisgarcia

I the only 3D game I have installed, and the only with sound. Other that I still have in the (same) system are Chess, Gnometris and Breakout.

VLC media player, Totem, Kdenlive, Moovida, work well with audio.

(yes, the same software environment)

narcisgarcia

I can install another game you ask for, if you want I make some testing.

titi




Try Megaglest! Improved Engine / New factions / New tilesets / New maps / New scenarios

narcisgarcia

- Eternal Lands doesn't connect to the server
- FlightGear has similar problems with sound as Glest (since the begin)
- OpenArena has similar problems with sound as Glest (some times)
- Trigger rally souns well all the time
- supertux-stable has a bug for Ubuntu 9.10 and doesn't start.

titi

I think this is a driver problem of your soundcard/chip :( . I think we cannot help you in this case.



Try Megaglest! Improved Engine / New factions / New tilesets / New maps / New scenarios

wasiliy

Quote
#2: Ensure you have a line with (at least) the following:

drivers = pulse,alsa,oss

At this step make sure only "oss" is left in that line, so that you have "drivers = oss" ... works fine for me then.

Domorus

Maybe OpenAL doesn´t work correctly with Pulseaudio.
If you use Ubuntu:
Quotegksudo gedit /etc/openal/alsoft.conf
and replace "default" in section "device" with "alsa". (without " " ).

Regards


winterequinox

I downloaded and built from the glest-source-3.2.1.tar.bz2 tarball on an old ubuntu system, hardy heron, the last long term release, and it worked fine.  This is my sandbox system.  I moved over the directory with the data and glest executable I had just built to a lucid lynx (the latest ubuntu as of this posting) system.  These are both 64 bit machines BTW.  I was curious to see if the executable would work, and it didn't.  I got the openal.so.0 problem.  Sooo, I followed down this thread and edited /etc/openal/alsoft.conf and still no dice.  So decided to try the oldest linux trick in the world.  I went into /usr/lib.  There was no libopenal.so.0 but there was a libopenal.so symbolic link to libopenal.so.1 which was symbolically linked to libopenal.so.1.12.854.  I just did the following:

ln -s libopenal.so libopenal.so.0

I was superuser but 'sudo ln -s libopenal.so libopenal.so.0' should have the same effect.  You should be in the /usr/lib directory
when you do this.

Anyway, it solved the problem for me.  glest came up with sound.


softcoder

The mega-glest startup script already does this for you (for mega-glest users). The problem here is more related to bad versions of openal and bad bad bad PULSE AUDIO.