sound card not detected on linux ?


10-03-2007 00:03:36

Hi !
I'm not able to get the Demo applications working on linux, with svn Eihort version.

When I launch Basic for example, I get a window with Ogre logo, and a label "Select Renderer" and three buttons "Select One", "Cancel", and "Accept". When I click on "Select One", application quits with error:
Error: Shell widget menu has zero width and/or height
When I click on Accept, nothing happens, and "Cancel" exits.
And it's the same for the first three Demos.

On the other side, I'm porting a game using OgreAl to linux, it's not working either, but there is something more useful I guess:

*-*-* OgreAL Initialization
MovableObjectFactory for type 'OgreAL_Sound' registered.
MovableObjectFactory for type 'OgreAL_Listener' registered.
*-*-* Creating OpenAL
OpenAL Devices:
Supported Formats
Segmentation fault

Likely as is no sound card were detected. The segfault happens on createSound on the sound manager.
For information the sound was working when OpenAL was used in the game before it was recently remplaced by OgreAl.

Do you have any idea why all this is not working ?


10-03-2007 02:33:01

The "Select One" is supposed to let you choose the renderer, if you don't choose one then the accept button won't do anything, and cancel exits the dialog, so the last two are acting properly. That being said, the dialog is not in OgreAL, it's in Ogre. Can you run the Ogre demos?


10-03-2007 10:42:03

plugins.cfg was missing in the demos so the opengl renderer was not available...
I added it, OpenAl now initializes, but with no sound device :
OpenAL Devices:
Supported Formats

The the app crashes on:
An exception has occured: OGRE EXCEPTION(2:InvalidParametersException): Sky box material 'Sky' not found. in SceneManager::setSkyBox at OgreSceneManager.cpp (line 1440)

What could that be now ? :(


10-03-2007 18:19:15

Is there a resources.cfg? It looks like it's not finding the materials. Could it be that the demo executables were put in the wrong directory after the compile? The resources.cfg and the plugins.cfg should be in OgreAL/Demos/Bin/{Release|Debug}


11-03-2007 14:08:10

Indeed, when I move the executable and my plugins.cfg in Demos/bin/Release it launches correctly, thanks.

BUT it does NOT work properly !
In Basic, a sound is played in loop, but that doesn't sound really nice, as there is a void between two loops but that may be normal. The volume goes down when going far from the ogre.
In Directionnal, there is no sound at all. And no loading errors.
In Doppler, there is a car running, but there is no doppler effect, only stereo sound moving.
In Multichannel, on launch there is An exception has occured: OGRE EXCEPTION(3:): OpenAL Error: Unknown Error in initSource. But that might be because my sound card does not support that, I don't know, this is a sblive.

I have gdb a little the game I'm porting to linux, the segfault happens on OgreALSoundManager.cpp:282
282 Sound *newSound = static_cast<Sound*>(mSoundFactory->createInstance(name, NULL, &mFileTypePair));

which calls OgreMovableObject.cpp:384
384 MovableObject* m = createInstanceImpl(name, params);

Any idea why all this is weird like that ?


11-03-2007 19:44:19

In the basic demo, the sound is supposed to be a growl, it's not very nice, but it's the best I could find. If you 7, 8 and 9 on the Num Pad you can play, pause and stop it. 4, 5 and 6 on the num pad play pause and stop music. There used to me an overlay to tell you what the keys are but they looked realy ugly in Eihort. I am doing some work on OgreAL today so I'll add those back in.


12-03-2007 22:03:33

Yes the music is working, the growl too. I guess this is ok for this demo.
But what about the others ?