iliak's picture

[Audio]OpenAL on Vista 64

Hi

Does anyone succeded with using audio functions under Vista64 ? I downloaded the latetest release of OpenTK and installed the OpenAL dll (oalinst.exe). When I try to run the OpenAL samples from the sample browser the system prevent the sample to run (crash).

Here's the system log :
Windows NT Version 6.0 Build: 6002 Service Pack 2
Product (0x1): Windows Vista (TM) Ultimate
Edition: Ultimate
BuildString: 6002.18005.amd64fre.lh_sp2rtm.090410-1830
Flavor: Multiprocessor Free
Architecture: X64
LCID: 1036

iliak


Comments

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.
the Fiddler's picture

Can you please run the debug version of Examples.exe and attach the resulting 'debug.log' to a bug report?

Edit: I haven't tested the new oalinst on Vista x64, but openal soft works flawlessly.

iliak's picture

debug.log remains empty when I run "Playback" or "EFX:Reverb".

How do I setup openal soft ?

the Fiddler's picture

Strange, the debug version should pop messagebox (or at least log a message) indicating the exception.

OpenAL Soft is a simple dll. The only snag is that you need to compile the x64 version yourself: you'll need a x64 compiler, the latest DirectX SDK and CMake. If you have the dependencies, building is trivial: CMake creates a visual studio project, so it's simple click and compile.

Edit: could you paste the output of audio-info.exe (http://www.opentk.com/files/AL%20Diag%20v1.rar)?

iliak's picture

Here's the result from my VMWare Vista64 :

--- Device related analysis ---
    Default playback device: DirectSound Software on Haut-parleurs (VMware VMaudio (VMAUDIO) (WDM))
    All known playback devices:
        DirectSound Software on Haut-parleurs (VMware VMaudio (VMAUDIO) (WDM))
        Wave File Writer
        Generic Software on Haut-parleurs (VMware VMaudio (VMAUDIO) (WDM))
    Default recording device: Microphone (VMware VMaudio (VMA
    All known recording devices:
        WaveIn on Microphone (VMware VMaudio (VMA
        WaveIn on Entrée ligne (VMware VMaudio (V
        WaveIn on Ligne téléphonique (VMware VMau
        Microphone (VMware VMaudio (VMA
        Entrée ligne (VMware VMaudio (V
        Ligne téléphonique (VMware VMau
--- Alc related analysis ---
    Alc Version: 1.1
    Efx Version: 1.0
    Efx max. Auxiliary sends: 1
    Alc Extension string: ALC_ENUMERATE_ALL_EXT ALC_ENUMERATION_EXT ALC_EXT_CAPTURE ALC_EXT_EFX
    Confirmed Alc Extensions:
        ALC_ENUMERATE_ALL_EXT: True
        ALC_ENUMERATION_EXT: True
        ALC_EXT_ASA_DISTORTION: True
        ALC_EXT_ASA_ROGER_BEEP: True
        ALC_EXT_BRS_GAME_LICENSE_REQUIRED: True
        ALC_EXT_capture: True
        ALC_EXT_DEDICATED: True
        ALC_EXT_EFX: True
--- AL related analysis ---
    AL Renderer: Software
    AL Vendor: Creative Labs Inc.
    AL Version: 1.1
    AL Speed of sound: 343,3
    AL Distance Model: InverseDistanceClamped
    AL Maximum simultanous Sources: 200
    AL Extension string: EAX EAX2.0 EAX3.0 EAX4.0 EAX5.0 EAX3.0EMULATED EAX4.0EMULATED AL_EXT_OFFSET AL_EXT_LINEAR_DISTANCE AL_EXT_EXPONENT_DISTANCE
    Confirmed AL Extensions:
        AL_EXT_ALAW: False
        AL_EXT_BFORMAT: False
        AL_EXT_double: False
        AL_EXT_EXPONENT_DISTANCE: True
        AL_EXT_float32: False
        AL_EXT_FOLDBACK: False
        AL_EXT_IMA4: False
        AL_EXT_LINEAR_DISTANCE: True
        AL_EXT_MCFORMATS: False
        AL_EXT_mp3: False
        AL_EXT_MULAW: False
        AL_EXT_OFFSET: True
        AL_EXT_vorbis: False
        AL_LOKI_quadriphonic: False
        EAX-RAM: False
        EAX: True
        EAX1.0: False
        EAX2.0: True
        EAX3.0: False
        EAX4.0: False
        EAX5.0: False
--- Efx related analysis ---
    Efx Effects supported:
        Autowah: False
        Chorus: False
        Compressor: False
        Distortion: False
        EaxReverb: True
        Echo: False
        Equalizer: False
        Flanger: False
        FrequencyShifter: False
        PitchShifter: False
        Reverb: True
        RingModulator: False
        VocalMorpher: False
    Efx Filters supported:
        Bandpass: False
        Highpass: False
        Lowpass: True
    Efx max. Auxiliary Effect Slots: 1
AL ERROR: (IllegalCommand) Invalid Operation
--- X-RAM related analysis ---
X-RAM extension is not available, skipping test.
All done. Press Enter to exit.

The output of openal-info.exe :

Available playback devices:
    DirectSound Software on Haut-parleurs (VMware VMaudio (VMAUDIO) (WDM))
    Wave File Writer
    Generic Software on Haut-parleurs (VMware VMaudio (VMAUDIO) (WDM))
Available capture devices:
    WaveIn on Microphone (VMware VMaudio (VMA
    WaveIn on EntrÚe ligne (VMware VMaudio (V
    WaveIn on Ligne tÚlÚphonique (VMware VMau
    Microphone (VMware VMaudio (VMA
    EntrÚe ligne (VMware VMaudio (V
    Ligne tÚlÚphonique (VMware VMau
Default device: Generic Software
Default capture device: Microphone (VMware VMaudio (VMA
ALC version: 1.1
ALC extensions:
    ALC_ENUMERATE_ALL_EXT, ALC_ENUMERATION_EXT, ALC_EXT_CAPTURE, ALC_EXT_EFX
OpenAL vendor string: Creative Labs Inc.
OpenAL renderer string: Software
OpenAL version string: 1.1
OpenAL extensions:
    EAX, EAX2.0, EAX3.0, EAX4.0, EAX5.0, EAX3.0EMULATED, EAX4.0EMULATED,
    AL_EXT_OFFSET, AL_EXT_LINEAR_DISTANCE, AL_EXT_EXPONENT_DISTANCE
EFX version: 1.0
Max auxiliary sends: 1
Available filters:
    Low-pass
Available effects:
    EAX Reverb
    Reverb

If you need, I can make the test on my real Vista64 machine (no VMWare).

Inertia's picture

What Fiddler said, only the OpenAL Soft driver is working flawless for Windows x64 apps. There is nothing OpenTK can do about this, it uses the exact same code for x86/x64 and the problem is completely related to faulty drivers.

iliak's picture

Is there any tutorial on how to use OpenAL Soft ? I saw that it is possible to compile OpenAL Soft, but I do not know how cmake works...

the Fiddler's picture

You just run it and click on the buttons in order. The two first buttons set the input and output directories (just head to the place where you unzipped openal soft). The third configures the compiler: press it once to select the visual studio compiler then a second time to confirm the selection. The final button generates the visual studio solution.

It is not very intuitive, but it works.

iliak's picture

Ok, I succeded in compiling the x64 and x86 version of OpenAL Soft (btw I tried to upload VS2008 projects but limits is 512Ko and the .zip is ~3Mo). Now I've a "side by side" error when I try to run samples. I renamed OpenAL soft dll as OpenAL32.Dll and it's in the same directory as the samples. Any idea ?

BTW: I can make Visual Studio 2005 projects if needed...

the Fiddler's picture

Side by side? Doesn't ring a bell.

You could upload the project to rapidshare or another hosting service for testing.