Hi,
First post here, so I don't know if it's the right place for this.
I'm trying to make the sound and music work in a game with Wine. Currently, the sound doesn't work because the game does some tests to check if everything is OK before it starts the music.
For now, it fails early in those tests but I've hacked some things in the latest git source and the game goes a little farther before it stops trying to make the sound and music work. But now I'm stuck so I was wondering if anyone had an idea.
Here's a part of the dsound trace:
trace:dsound:IDirectSound8_IDirectSound8_QueryInterface (0x2ce8de8 {2a8af120-e9de-4132-aaa5-4bdda5f325b8},0x34d634) trace:dsound:DSOUND_QueryInterface8 (0x2fdc1e0 {2a8af120-e9de-4132-aaa5-4bdda5f325b8},0x34d634) warn:dsound:DSOUND_QueryInterface8 Unknown IID {2a8af120-e9de-4132-aaa5-4bdda5f325b8}
So the problem is that the interace {2a8af120-e9de-4132-aaa5-4bdda5f325b8} is not supported by the current Wine implementation. I've searched around but I couldn't find anything about this IID. If I knew what interface it was, maybe I could implement a stub and it might make the sound work.
So does anyone as an idea?
Thanks,
Guillaume B.
Hi,
if you could mention the application/game name, it would be gr8. also a note to all the people who send fix-bug requests please mention the app/game name in the mails. if anyone who can put that in some documentation/some place in the website that would be gr8.
Thanks, vj
On Dec 29, 2007 10:51 AM, Guillaume B. guillaume.benny@sympatico.ca wrote:
Hi,
First post here, so I don't know if it's the right place for this.
I'm trying to make the sound and music work in a game with Wine. Currently, the sound doesn't work because the game does some tests to check if everything is OK before it starts the music.
For now, it fails early in those tests but I've hacked some things in the latest git source and the game goes a little farther before it stops trying to make the sound and music work. But now I'm stuck so I was wondering if anyone had an idea.
Here's a part of the dsound trace:
trace:dsound:IDirectSound8_IDirectSound8_QueryInterface (0x2ce8de8 {2a8af120-e9de-4132-aaa5-4bdda5f325b8},0x34d634) trace:dsound:DSOUND_QueryInterface8 (0x2fdc1e0 {2a8af120-e9de-4132-aaa5-4bdda5f325b8},0x34d634) warn:dsound:DSOUND_QueryInterface8 Unknown IID {2a8af120-e9de-4132-aaa5-4bdda5f325b8}
So the problem is that the interace {2a8af120-e9de-4132-aaa5-4bdda5f325b8} is not supported by the current Wine implementation. I've searched around but I couldn't find anything about this IID. If I knew what interface it was, maybe I could implement a stub and it might make the sound work.
So does anyone as an idea?
Thanks,
Guillaume B.
Am Montag, 31. Dezember 2007 10:25:15 schrieb Vijay Kiran Kamuju:
So the problem is that the interace {2a8af120-e9de-4132-aaa5-4bdda5f325b8} is not supported by the current Wine implementation. I've searched around but I couldn't find anything about this IID. If I knew what interface it was, maybe I could implement a stub and it might make the sound work.
Huh, that IID is really Unknown... Google only finds your mail, and one other similar unanswered question.
This will be tricky to figure out. The best starting point is probably to write a small test which queries this interface on Windows and see what happens. See dlls/dsound/tests for other dsound tests.
Stefan Dösinger wrote:
Am Montag, 31. Dezember 2007 10:25:15 schrieb Vijay Kiran Kamuju:
So the problem is that the interace {2a8af120-e9de-4132-aaa5-4bdda5f325b8} is not supported by the current Wine implementation. I've searched around but I couldn't find anything about this IID. If I knew what interface it was, maybe I could implement a stub and it might make the sound work.
Huh, that IID is really Unknown... Google only finds your mail, and one other similar unanswered question.
This will be tricky to figure out. The best starting point is probably to write a small test which queries this interface on Windows and see what happens. See dlls/dsound/tests for other dsound tests.
Hi,
I know it's unknown, that's why I asked! :) I thought someone might have an idea: some kind of hardware specific IID maybe... It might be documented somewhere in the DirectX SDK...
For the record, the game is Rise of Nations and there's already a bug reported on this: http://bugs.winehq.org/show_bug.cgi?id=9027 ... But the trace of the bug report doesn't get to this unknown IID because I used the native dmime and dswave DLL and a small hack so that the game gets farther.
Guillaume B.
Am Montag, 31. Dezember 2007 14:51:26 schrieb Guillaume B.:
Stefan Dösinger wrote:
Am Montag, 31. Dezember 2007 10:25:15 schrieb Vijay Kiran Kamuju:
So the problem is that the interace {2a8af120-e9de-4132-aaa5-4bdda5f325b8} is not supported by the current Wine implementation. I've searched around but I couldn't find anything about this IID. If I knew what interface it was, maybe I could implement a stub and it might make the sound work.
Huh, that IID is really Unknown... Google only finds your mail, and one other similar unanswered question.
This will be tricky to figure out. The best starting point is probably to write a small test which queries this interface on Windows and see what happens. See dlls/dsound/tests for other dsound tests.
Hi,
I know it's unknown, that's why I asked! :) I thought someone might have an idea: some kind of hardware specific IID maybe... It might be documented somewhere in the DirectX SDK...
If it was documented in the directx sdk, Google would have found it, since the sdk docs are available online at www.msdn.com
Stefan Dösinger wrote:
Am Montag, 31. Dezember 2007 14:51:26 schrieb Guillaume B.:
Stefan Dösinger wrote:
Am Montag, 31. Dezember 2007 10:25:15 schrieb Vijay Kiran Kamuju:
So the problem is that the interace {2a8af120-e9de-4132-aaa5-4bdda5f325b8} is not supported by the {current Wine implementation. I've searched around but I couldn't find anything about this IID. If I knew what interface it was, maybe I could implement a stub and it might make the sound work.
Huh, that IID is really Unknown... Google only finds your mail, and one other similar unanswered question.
This will be tricky to figure out. The best starting point is probably to write a small test which queries this interface on Windows and see what happens. See dlls/dsound/tests for other dsound tests.
Hi,
I know it's unknown, that's why I asked! :) I thought someone might have an idea: some kind of hardware specific IID maybe... It might be documented somewhere in the DirectX SDK...
If it was documented in the directx sdk, Google would have found it, since the sdk docs are available online at www.msdn.com
I've searched thought it anyway but I could not find anything about it.
I've set up a dummy COM object with a virtual table so I can see what functions get called. In this virtual table, the 4th function get called first, then the 3rd function. I know that the 3rd function is Release() so all I need is to understand what are the parameters and the return type of the 4th function. The return type is probably HRESULT: if I return S_OK, it continues but crashes farther but if I return E_NOTIMPL, it releases all music and sound COM object and it continues the game without sound, like if it detected an error.
I wanted to use winedbg to see the assembly code that calls my dummy function (to see how many parameters there are) but even when I add a breakpoint for my function, it doesn't break. I've compiled Wine with CFLAGS="-g" to get the debug information but it doesn't work... Any idea?
Thanks,
Guillaume
On 31/12/2007, Guillaume B. guillaume.benny@sympatico.ca wrote:
Stefan Dösinger wrote:
Am Montag, 31. Dezember 2007 10:25:15 schrieb Vijay Kiran Kamuju:
So the problem is that the interace {2a8af120-e9de-4132-aaa5-4bdda5f325b8} is not supported by the current Wine implementation. I've searched around but I couldn't find anything about this IID. If I knew what interface it was, maybe I could implement a stub and it might make the sound work.
Huh, that IID is really Unknown... Google only finds your mail, and one other similar unanswered question.
This will be tricky to figure out. The best starting point is probably to write a small test which queries this interface on Windows and see what happens. See dlls/dsound/tests for other dsound tests.
Hi,
I know it's unknown, that's why I asked! :) I thought someone might have an idea: some kind of hardware specific IID maybe... It might be documented somewhere in the DirectX SDK...
For the record, the game is Rise of Nations and there's already a bug reported on this: http://bugs.winehq.org/show_bug.cgi?id=9027 ... But the trace of the bug report doesn't get to this unknown IID because I used the native dmime and dswave DLL and a small hack so that the game gets farther.
I can't see it in the Vista and XP CLSID section of the registry.
Is it an interface that is being queried for internally by dmime or dswave (as you are using the native versions)? That is, MS may not be publicizing it (as it is not part of the DirectSound API), but are using it to coordinate interaction between dswave and dsound.
It would be useful to find out if it is the game that is querying for this interface, or if it is the native DLLs.
- Reece
Reece Dunn wrote:
On 31/12/2007, Guillaume B. guillaume.benny@sympatico.ca wrote:
Stefan Dösinger wrote:
Am Montag, 31. Dezember 2007 10:25:15 schrieb Vijay Kiran Kamuju:
So the problem is that the interace {2a8af120-e9de-4132-aaa5-4bdda5f325b8} is not supported by the {current Wine implementation. I've searched around but I couldn't find anything about this IID. If I knew what interface it was, maybe I could implement a stub and it might make the sound work.
I can't see it in the Vista and XP CLSID section of the registry.
Is it an interface that is being queried for internally by dmime or dswave (as you are using the native versions)? That is, MS may not be publicizing it (as it is not part of the DirectSound API), but are using it to coordinate interaction between dswave and dsound.
It would be useful to find out if it is the game that is querying for this interface, or if it is the native DLLs.
Hi,
I think you are right: the interface seems to be queried from dmime, although I can't confirm it since I can't make the debugger stop in my function to see the backtrace... and I can't see the assembly code that called my function.
I've tried to use the builtin dmime but it doesn't make a sound altough it seems to call DSound functions frequently with code executed in a timer. It's probably because IDirectMusicPerformance8Impl_PlaySegmentEx is not implemented. I've tried to add some code to make it work but since I don't really know how it works, my small hack doesn't play a sound!
So now I'm stuck. Thanks anyway for your help.
Guillaume