doitsujin / dxvk

Vulkan-based implementation of D3D8, 9, 10 and 11 for Linux / Wine
zlib License
12.99k stars 833 forks source link

any chance to make GW2Taco overlay to work with Guild Wars 2? #1225

Closed logan001 closed 4 years ago

logan001 commented 4 years ago

There is this nice GW2Taco overlay (32 bits dx11) that should stay on top of Guild Wars 2 (64bits dx9)window. the problems are that overlay window is not transparent. its background is black and is almost always in the background instead on top of GW2 window these might be a wine problem cause it does the same things on wine without dxvk/d9vk also.

doitsujin commented 4 years ago

Probably not. I don't know how that thing works, or how transparent windows in D3D are supposed to work anyway (there's no real DXGI support for it?), and how good support for that is in wine.

Edit: Turns out DXGI kind of supports transparency: https://docs.microsoft.com/de-de/windows/win32/api/dxgi1_2/ne-dxgi1_2-dxgi_alpha_mode

I could give it a shot, but yeah, without having an apitrace or something it's hard to tell whether your overlay even uses this.

logan001 commented 4 years ago

Here is a trace from GW2Taco. I've took it from windows.

misyltoad commented 4 years ago

The trace is just entirely black for me upon playback.

@doitsujin It's very possible that the transparency it is using is not done through DXGI also -- it could be done through some DWM api call or a combination of the two.

logan001 commented 4 years ago

im not into programming so i'll guess that its not doable :)

misyltoad commented 4 years ago

The real question would be, does GW2Taco work with DXVK and D9VK together on Windows?

That would be a good start to finding out how/where the issue lies.

logan001 commented 4 years ago

yes its working, i can see different fps overlapping each other (mostly the decimals)

misyltoad commented 4 years ago

Please file a bug report at https://bugs.winehq.org/ then.

alextpedro commented 4 years ago

It has been reported here: https://bugs.winehq.org/show_bug.cgi?id=48649

anolting commented 3 years ago

Hi is there chance to get this issue reopened again? The programmer of TACO has open sourced - see http://www.gw2taco.com/ - his code in this repository https://github.com/BoyC/GW2TacO. From the error log wine and TacO writes I can see, that d3d11 swap chain (which is in actual d3d libs missing) is used while TacO is trying to hook into a running GW2.exe instance to use GW2 internal render engine (<- this is completely incorrcect) to paint the additional information TACO can add to the game.

Best Alex

K0bin commented 3 years ago

Ask the author of the overlay to support specifying a path to the d3d11 and dxgi dlls it uses internally.

anolting commented 3 years ago

Hi @K0bin it seems that BoyC had some conversation long time in the past with the wine project were the discussion were around (not sure who asked who) adding support for window overlay into wine. TacO is not an addon it is its own application looking for a GW2 window and trying to overlay the game window while letting user interactions passing through the overlay window down to the game instance. With this knowledge it looks that this support should be added within wine instead of dxvk. Thanks for the food for thought. Alex