kirides / GD3D11

D3D11-Renderer for Gothic and Gothic 2
GNU General Public License v3.0
203 stars 18 forks source link

Steam Deck - D3D11 renderer does not work #98

Closed Mutant22 closed 2 years ago

Mutant22 commented 2 years ago

Describe the bug GD3D11 renderer does not work on steam deck. With same steps I could run it on desktop machine, but not on steam deck.

To Reproduce

  1. I have installed steam version of Gothic 2 Gold
  2. Set compatibility tools to Proton 7.0-1
  3. Installed libraries through protontricks - d3dcompiler_43, d3dcompiler_47, d3dx11_43, d3dx9_43, vcrun2008, vcrun2010, vcrun2012, vcrun2013
  4. Extracted d3d11 renderer v17.8-dev4-ci to gothic system folder, and removed d3dcompiler_47.dll from it
  5. Added ddraw (native, builtin) to wine overrides

With v17.8-dev4-ci version I got warning on start "GD3D11 Renderer couldn't be loaded. Access Denied(0x7e)" and game started without directx 11 renderer.

With older version X17.8-dev1 "Gothic2-GD3D11-v17.8-dev1_rl_avx2.zip", game froze on start. Log.txt was created, so I adding it here. Log.txt

There is a bunch of errors at the end of it.

STACK: ERROR: SymGetSymFromAddr64, GetLastError: 0 (Address: 01B545A1)
STACK: ERROR: SymGetLineFromAddr64, GetLastError: 2 (Address: 01B545A1)
STACK: 01B545A1 (ddraw): (filename not available): (function-name not available)
STACK: ERROR: SymGetSymFromAddr64, GetLastError: 2 (Address: 01B50F58)
STACK: ERROR: SymGetLineFromAddr64, GetLastError: 2 (Address: 01B50F58)
STACK: 01B50F58 (ddraw): (filename not available): (function-name not available)
STACK: ERROR: SymGetSymFromAddr64, GetLastError: 2 (Address: 01B3370E)
STACK: ERROR: SymGetLineFromAddr64, GetLastError: 2 (Address: 01B3370E)
STACK: 01B3370E (ddraw): (filename not available): (function-name not available)
STACK: ERROR: SymGetSymFromAddr64, GetLastError: 2 (Address: 01B31699)
STACK: ERROR: SymGetLineFromAddr64, GetLastError: 2 (Address: 01B31699)
STACK: 01B31699 (ddraw): (filename not available): (function-name not available)
STACK: ERROR: SymGetSymFromAddr64, GetLastError: 2 (Address: 01B629F2)
STACK: ERROR: SymGetLineFromAddr64, GetLastError: 2 (Address: 01B629F2)
STACK: 01B629F2 (ddraw): (filename not available): (function-name not available)
STACK: ERROR: SymGetLineFromAddr64, GetLastError: 2 (Address: 007B97F2)
STACK: 007B97F2 (gothic2): (filename not available): DirectDrawEnumerateExA

Screenshots Screenshot_20220323_204053

Please complete the following information):

kirides commented 2 years ago

Did you try to roughly follow this https://github.com/kirides/GD3D11/issues/14 ?

Mutant22 commented 2 years ago

EDIT: It works now. I found some strange bug with extracted GD3D11 folder. Renderer fails to load, but when I create tmp folder,copy content of GD3D11 to tmp folder. Remove original GD3D11 folder, and then renaming tmp folder to original name it loads now. I am not sure wheter some attributes in zip archive, are set on that folder. But it would be some Linux/wine shenengian. You can close this.

Mutant22 commented 2 years ago

Here is bugvideo: https://mega.nz/file/a5gm3CLQ#R9onIvwt3nW3p-HtQoiF89yfD9YZ8qSaTp_LGM6CsfM

Mutant22 commented 2 years ago

It was not problem with GD3D11 itself. Maybe some problem with package extraction, or linux itself.