protonscr

Problem with DX11's Advanced menu in Gothic 2 Gold

dxvkclosed
doitsujin/dxvk#2051 · opened 2021-05-01 by pm4rcin · updated 2022-04-20 · 12 comments · github
Ppm4rcin 2021-05-01 github

Description of the problem

Hi, I can't activate DX11's advanced menu in Gothic 2 Gold under wine. On Windows it works normally but here I can't activate that overlay. The "basic" settings overlay works normally. First screenshot shows basic menu and second shows advanced. Here's the talk with the author of renderer. https://github.com/Kirides/GD3D11/issues/46

It uses a separate idxgi surface for the direct2d stuff from AntTweakBar iirc.

Idk how that interferes with Linux / DXVK.

It's basically some sort of child window inside the games window, that shares the same device for rendering.

Software information

Gothic 2 Night of the Raven (gog version with Union patches installed through Lutris with default settings in Gothic.ini and SystemPack.ini)

Reproduce G2NR installation

1. Install the game on prefix (I used gog version with automatic install from Lutris) and set prefix to 64-bit

2. Add vcrun2008, vcrun2010, directmusic with winetricks in prefix and make sure you have wine-mono installed globally or install dotnet40 with winetricks in prefix

3. Download [Resource Manager](https://worldofplayers.ru/resources/136/updates) and place it in the prefix folder

4. In Resource Manager on Union tab install "PlayerKit 2.8 + Patch for 64-bit systems" AND Union (minimum 1.0j)

5. Make sure that dsound is set to exactly "dsound(built-in, external)" and override ddraw to "ddraw(external, built-in) in winecfg

6. [Download](https://github.com/Kirides/GD3D11/releases) and unpack DX11 files to Gothic2/System folder

7. (Optional) Download normalmaps from [here](https://www.worldofgothic.de/dl/download_590.htm) and unpack them in System/GD3D11/Textures/replacements

System information

  • GPU: GTX 1650
  • Driver: 465.27
  • Wine version: 6.7
  • DXVK version: 1.8.1
  • Dist: Arch 5.11.16

Apitrace file(s)

Apitrace

Log files

KK0bin maintainer 2021-05-01 github

From the linked issue:

It uses a separate idxgi surface for the direct2d stuff from AntTweakBar iirc.

AntTweakBar seems to query some undocumented interface on the D3D11Device.

https://github.com/tschw/AntTweakBar/blob/4ff73b96515164cbe66b484022e56e771ea6c224/Renderer/compile/TwDirect3D11.cpp#L483

I guess we could just implement that and return the device itself. I dont really understand why they arent just querying the regular D3D11Device.

Ddoitsujin maintainer 2021-05-01 github

Does this work with wined3d?

Also, can we have a full wine log? Given that the author mentions child windows, this probably just doesn't work because winevulkan doesn't support child window rendering. Not our bug, and there's nothing we can do.

Also, your "apitrace" is not an apitrace file, it's the console output of apitrace, which is... completely useless, but apparently the thing crashes anyway. Which is normal for any sort of injector, and one of the reasons why I hate these things, they are just impossible to debug.

AntTweakBar seems to query some undocumented interface off of the D3D11Device.

The GUID is literally that of ID3D11Device.

KK0bin maintainer 2021-05-01 github

My bad, I assumed it corresponded to the log warning:

warn:  D3D11DXGIDevice::QueryInterface: Unknown interface query
warn:  6543dbb6-1b48-42f5-ab82-e97ec74326f6
Ppm4rcin 2021-05-13 github

Hi, sorry for late response. I've created .trace file and compressed it with zstd because I couldn't strip it under wine. So I loaded the game with wine vanilla 6.8, loaded save and clicked ctrl+f11 four times. Here's the link to that file. If you have a suggestion to make it weight less please tell me.

LLDS1 2021-05-18 github

@pm4rcin it works fine for me in G2 (using proton + protontricks for configs + steamfix + d3d11 avx build).
But in G1 Union prevents mouse cursor from appearing when dx11 ui is displayed, I had to disable union for the configuration.

BBlisto91 2022-04-09 github

I cannot reproduce this. Even with the dx11 versions that came out around the time this issue was created and with 1.8.1 dxvk.
The advanced menu shows fine for me.

This is on amd. If a test on nvidia is desired then i can try to set that up.

I see this in the changelog for the july release "Better (ctrl+)F11 menu handling"
@pm4rcin can you still reproduce this issue with newest version of both?

BBlisto91 2022-04-16 github

I have now tried this on a 960 470.103 with wine 7.6, dxvk 1.8.1 and the GD3D11 version around the time of this issue and i still cannot reproduce it.

I think this one can be closed. Lot's of dxvk, wine & GD3D11 versions have been released since. If it's still a problem for the OP the issue can just be reopened.

Ppm4rcin 2022-04-20 github

@Blisto91 do you use GOG version or Steam?

BBlisto91 2022-04-20 github

Oh right... I again forget there can be differences between them. I am using the steam version. (I will beat it into my mind 😁)

My apologies. I will try the GOG version.

Ppm4rcin 2022-04-20 github

I made it work with bottles. I'll try to post the config in case someone has problems.

BBlisto91 2022-04-20 github

Out of curiosity do you know the specific change that made it work? Or is it just a standard bottle with caffe or lutris wine.

Ppm4rcin 2022-04-20 github

It was "Use virtual desktop". With that fullscreen problems are gone (I'm on dwl so stability might be problematic in edge cases but it's really rare) and the advanced menu appears. I've used standard "Gaming" bottle with caffe.

Nothing extracted yet.