[openal] EAX not detected on Asus STX

Chris Robinson chris.kcat at gmail.com
Sun Jan 24 10:53:01 EST 2016


On 01/24/2016 06:28 AM, Heinz Kropuschinski wrote:
> That makes sense, but let me ask a dummy question here: What happens to the EAX
> calls? Do they get translated to an equivalent EFX call directly or are they
> emulated?

Generic Hardware uses DirectSound3D under the hood. Back in the day this 
allowed certain hardware devices, that didn't specifically have an 
OpenAL driver, to still be accelerated with OpenAL (although Windows 
Vista killed off accelerated DirectSound, so now it's all being done in 
software anyway). With Generic Hardware, the EAX calls are likely just 
being passed through to DirectSound more or less directly, while the EFX 
calls get translated to the EAX equivalents (or at least the subset that 
works).

For Generic Software, I'd imagine it implements EFX natively, and EAX 
calls are translated to EFX. Although that's just a guess, since there's 
no real information about how Creative implemented it (and ultimately, 
from a programmer's POV it doesn't really matter which way it was done 
since it more or less all works as expected).

> If so: does OALSoft use a generic room layout as specified in
> openal.ini or does it make some sort of educated guess?

OpenAL Soft (EFX, but also EAX too) doesn't really geometrically model a 
room's layout. It takes parameters like the overall density, diffusion, 
etc, of the environment's reverberation, as specified by the app, and 
produces a result that fits those parameters. It doesn't trace 
individual wall reflections.

For sounds being occluded/obstructed (e.g. a sound from behind a wall or 
around a corner), the app needs to track that using whatever it has for 
the room geometry, and continually updates EFX or EAX with how much 
occlusion/obstruction to apply to a given sound at a given point in time.

> The reason for EAX reverb support in "Generic Hardware" is that it uses
> Creative's OpenAL solution which comes with newdark and that newdark probably
> defaults to EAX first if possible.

Yeah, I imagine that's the case. But my question is, since newdark 
supports EFX for OpenAL, why does it also support (and prefer) EAX for 
OpenAL? What's different about its "EAX reverb support" compared to "EFX 
reverb support"? Do you actually hear much of a difference in quality 
between EFX and EAX?


More information about the openal mailing list