dsoal icon indicating copy to clipboard operation
dsoal copied to clipboard

TES IV Oblivion is crash

Open MrFreedman opened this issue 4 years ago • 29 comments

When i load the save or new game game crashed, error log file say what:

22ac:err:dsound:DSBuffer_Initialize Panning for multi-channel buffers is not supported

In other games all okay but not in Oblivion, I try change Stereo Encoding to Pan Pot in OpenAL Soft Configuration and game one time is run but after i change again and it now crush. How to fix that?

P.S. It strange but i try disable ditering and game one time run again after that i try to enable and disable again and game...now crush with disable =)

MrFreedman avatar Nov 14 '21 09:11 MrFreedman

It sounds like the game is acting unstable with DSOAL. Changing the stereo encoding or dithering won't affect anything substantial about games using DSOAL, it was just coincidental that it happened to work after changing those options.

A full trace log may help narrow down what the issue may be. Setting the DSOAL_LOGLEVEL environment variable to 3 should make it also write warnings and normal calls to the log file, which will give a clearer view of what it was doing up to the crash. It'll be a rather big log depending on how quickly it crashes, so attach the log as a text file instead of pasting it as a reply.

kcat avatar Nov 14 '21 11:11 kcat

Log file is attached dsoal_error.txt .

MrFreedman avatar Nov 14 '21 11:11 MrFreedman

Does it happen with this too? https://www.nexusmods.com/oblivion/mods/48872

mirh avatar Nov 14 '21 23:11 mirh

No...i tested right now and mod is working fine, Yes...1.31 is work and 1.31a doesnt.

P.S. but in some games i see this message 0890:err:dsound:DSBuffer_Initialize Panning for multi-channel buffers is not supported

All works fine but error show me it. Its bad?

MrFreedman avatar Nov 14 '21 23:11 MrFreedman

Can you try with the different builds here then? http://vaporeon.io/hosted/dsoal-builds/old/

mirh avatar Nov 15 '21 18:11 mirh

I try some builds and error the same.

By the way i redownload DSOAL from nexus 1.31a and now its working fine without crush and reinstall openal i delete creative and now use your. I have question how drivers i need to use for all games wasapi, dsound or what?

MrFreedman avatar Nov 15 '21 18:11 MrFreedman

Leave the ini like it is, -dsound means you don't try ever to use directsound (which would create some bad dependency loop when you are trying to replace it).

But if the mod works, is the difference just that you forgot to put the openal-soft dll as dsoal-aldrv.dll into the game folder?

mirh avatar Nov 15 '21 22:11 mirh

If i dont copy two dlls in game folder error is same and what does it mean? (in Oblivion and some other games) The problem is not in the DSOAL and in game?

I have another question. If i put DSOAL files in game folder modern games like Doom (2016) or Skyrim it will be effect on sound or it only for old games like Oblivion?

MrFreedman avatar Nov 15 '21 23:11 MrFreedman

Doom uses wwise, while Skyrim uses XAudio2 (check this for that).

Back to the problem here, trying to understand what you say.. The mod on nexus is exactly the same of using DSOAL. It's just that it comes pre-configured, with some older version of the software. What I'm trying to figure out here, is if your problem depends on some actual regression/breakage that happened in the software (it would be a real bug to fix), or just forgetfulness with the .inis or whatnot.

mirh avatar Nov 16 '21 00:11 mirh

Doom uses wwise, while Skyrim uses XAudio2 (check this for that).

Back to the problem here, trying to understand what you say.. The mod on nexus is exactly the same of using DSOAL. It's just that it comes pre-configured, with some older version of the software. What I'm trying to figure out here, is if your problem depends on some actual regression/breakage that happened in the software (it would be a real bug to fix), or just forgetfulness with the .inis or whatnot.

Its simple earlier i download DSOAL from here its pcgaming wiki and now...i redownload DSOAL from nexus and its works. I again try to download from wiki and...yes its crush Oblivion. Maybe its broken? Maybe need will say them about broken version? Sry what misled and didn't think to download it myself from the official source, my mistake sry. Now all works but error in some games like Oblivion is written anyway but it's hard for me to say if it affects the sound.

MrFreedman avatar Nov 16 '21 12:11 MrFreedman

Sigh.. What if you install the nexus version, and then you replace dsound.dll (and only that) with the PCGW dsound.dll?

mirh avatar Nov 16 '21 13:11 mirh

Sigh.. What if you install the nexus version, and then you replace dsound.dll (and only that) with the PCGW dsound.dll?

If i copy dsound.dll like you said game run and all okay, but if...i copy dsoal-aldrv.dll from PCGW game crash again =)

MrFreedman avatar Nov 16 '21 14:11 MrFreedman

Good to know! Dsoal-aldrv.dll is the main openal driver. So, what you are saying, is that version 1.18.2 works for you, while 1.20.1 doesn't. Can you confirm the versions from here? Does the latest work? https://openal-soft.org/openal-binaries/

mirh avatar Nov 17 '21 03:11 mirh

Hmm...now i use 1.21.1 and its work only if i copy Dsoal-aldrv.dll from nexus, if copy from PCGW it doesnt work.

I always use openal soft 1.21.1 i never use 1.18.2 ) Maybe problem is in Dsoal-aldrv.dll not in soft_oal.dll?

I mean...i download soft openal from official site and DSOAL from PCgaming and together it doesnt work but how we know now problem is in Dsoal-aldrv.dll. Maybe i mistake i dont know.

MrFreedman avatar Nov 17 '21 10:11 MrFreedman

You have to rename soft_oal.dll (the 32-bit version of course) to dsoal-aldrv.dll, this is what I meant.

mirh avatar Nov 17 '21 12:11 mirh

You have to rename soft_oal.dll (the 32-bit version of course) to dsoal-aldrv.dll, this is what I meant.

Hmm....you mean soft_oal.dll and dsoal-aldrv.dll its the same? One for windows folder and one for game folder?

And yes 1.21.1 is working if rename the file, if use 1.18.2 Oblivion is crashes.

MrFreedman avatar Nov 17 '21 13:11 MrFreedman

Accidentally closed the issue =) Plz open.

MrFreedman avatar Nov 17 '21 13:11 MrFreedman

Hmm....you mean soft_oal.dll and dsoal-aldrv.dll its the same? One for windows folder and one for game folder?

soft_oal.dll is the name for normal OpenAL use with the OpenAL32.dll router. dsoal-aldrv.dll is the name only for DSOAL, so should be in the game folder with dsound.dll.

kcat avatar Nov 17 '21 14:11 kcat

I see, whatever it was 1.21.1 from nexus is working.

MrFreedman avatar Nov 17 '21 14:11 MrFreedman

Dsound.dll --> http://vaporeon.io/hosted/dsoal-builds/dsoal-latest.7z dsoal-aldrv.dll --> https://openal-soft.org/openal-binaries/openal-soft-1.21.1-bin.zip So, long story short, this works?

(why is it that dsoal doesn't use system-wide openal btw?)

mirh avatar Nov 17 '21 15:11 mirh

Yes both the works fine. I dont know why ) And btw sorry for my english, is look like horrible i think for people who good know this language ))

MrFreedman avatar Nov 17 '21 15:11 MrFreedman

(why is it that dsoal doesn't use system-wide openal btw?)

To avoid compatibility problems with apps that try to use DSound and OpenAL, which I've seen some apps do. Since OpenAL manages global state for the current context, an app making OpenAL calls along side DSound calls would end up making calls on the wrong context. Windows gives separate DLLs separate state, so by giving it a different name, an app calling into and changing stuff with soft_oal.dll/OpenAL32.dll won't affect dsoal-aldrv.dll.

It also allows apps that want to use OpenAL+EAX (not EFX) by enabling the wrapper driver's Generic Hardware device to use DSound3D+EAX, as it will call into dsoal-aldrv.dll (OpenAL Soft) and not back into the OpenAL router for infinite recursion.

kcat avatar Nov 17 '21 15:11 kcat

I have another question. What about Lineage 2, how do i know its use UE 2 and i guess openal... DSOAL and open al soft will be work with that game or not? Thx.

MrFreedman avatar Nov 18 '21 21:11 MrFreedman

Lineage II is a native openal game (I don't know which EAX version, but still it has nothing to do with dsoal)

@kcat Shouldn't it be up to dsoal to take care of avoiding the infinite recursion? Like, if its presence is enough to fudge the openal router, then certainly it can also properly redirect it?

mirh avatar Nov 18 '21 23:11 mirh

Shouldn't it be up to dsoal to take care of avoiding the infinite recursion?

DSOAL doesn't have enough control to prevent OpenAL from using DirectSound. At most, it could use OpenAL Soft directly through soft_oal.dll instead of the OpenAL32.dll router, and OpenAL Soft will use WASAPI by default on Vista and later, which would also allow DSOAL to manage device GUIDs directly from WASAPI itself and hand them to OpenAL Soft without having to mess around with its device strings (along with the guarantee of OpenAL Soft's extensions). But if I'm going to go that far, why not take the extra step to have a renamed version of soft_oal.dll so it also fixes DSound+OpenAL compatibility.

kcat avatar Nov 19 '21 01:11 kcat

Mhh.. I see. Could whatever resolution of #22 help?

mirh avatar Nov 20 '21 12:11 mirh

Mhh.. I see. Could whatever resolution of #22 help?

Its question to me?

I have last question...i can install DSOAL for all system not for individual game, if i just copy dsoal-aldrv.dll and dsound.dll to SysWOW64/system32 or not?

MrFreedman avatar Nov 22 '21 03:11 MrFreedman

No, I was talking with kcat, and no it won't work you'll break your system.

mirh avatar Nov 22 '21 20:11 mirh

I copied dsoal-aldrv.dll in SysWOW64 and it works, while the DSOAL dsound.dll file I think it is mandatory to put it in the game folder. In SysWOW64 there is already a dsound.dll file (the Windows one) so, as @mirh said, copying the DSOAL dsound.dll file in SysWOW64 could break the system. In practice, for each game you should only copy the DSOAL dsound.dll file to the game folder and the dsoal-aldrv.dll file present in SysWOW64 will work for all.

Kappa971 avatar Dec 26 '21 13:12 Kappa971