SOLVED [AC: Odyssey] Wrong graphics with bash script

Ok, what I want to do is play Assassin’s Creed: Odyssey on my Steam Deck. I know it can also run directly on the Steam Deck but I want to run it on my desktop computer and stream it to the Steam Deck. I have done this already with Windows as host for over 100h.
I already installed Ubisoft connect in Lutris and installed Odyssey in there. When I start it using Lutris it starts and runs fine. It also runs fine when I start it using the command line with:
env LUTRIS_SKIP_INIT=1 lutris lutris:rungameid/5
But because I want to play it on the Steam Deck, I have to include it in Steam. And I need Steam to catch the correct process, so I used lutris -b to create the batch script.
But now when I run Odyssey with the script the colors are broken, it is very slow and unplayable.

This is the json file: https://pastebin.com/raw/mPFxtgGu
In the json files are the links to the output and screenshot.

1 Like

One difference I have found by comparing the /proc/$PID/maps of ACOdyssey.exe run by lutris and from the bash script is that the d3d9.dll when it is not working is loaded from here:
/home/korn/.local/share/lutris/runners/wine/lutris-7.2-2-x86_64/lib64/wine/x86_64-windows/d3d9.dll
And when it is working it is loaded from here:
/home/korn/.local/share/lutris/runtime/dxvk/v1.10.3/x64/d3d9.dll

This is the entire diff:

Ok, I found out the difference by looking at the output of:
cat /proc/46365/environ | tr ‘\0’ ‘\n’
46365 was the process id of ACOdyssey.exe

The WINEDLLOVERRIDES variable was missing the directx dlls.
With this line the bash script works:
WINEDLLOVERRIDES=d3d10core,d3d11,d3d12,d3d9,d3dcompiler_33,d3dcompiler_34,d3dcompiler_35,d3dcompiler_36,d3dcompiler_37,d3dcompiler_38,d3dcompiler_39,d3dcompiler_40,d3dcompiler_41,d3dcompiler_42,d3dcompiler_43,d3dcompiler_46,d3dcompiler_47,d3dx10,d3dx10_33,d3dx10_34,d3dx10_35,d3dx10_36,d3dx10_37,d3dx10_38,d3dx10_39,d3dx10_40,d3dx10_41,d3dx10_42,d3dx10_43,d3dx11_42,d3dx11_43,d3dx9_24,d3dx9_25,d3dx9_26,d3dx9_27,d3dx9_28,d3dx9_29,d3dx9_30,d3dx9_31,d3dx9_32,d3dx9_33,d3dx9_34,d3dx9_35,d3dx9_36,d3dx9_37,d3dx9_38,d3dx9_39,d3dx9_40,d3dx9_41,d3dx9_42,d3dx9_43,dxgi,nvapi,nvapi64,nvml=n;winemenubuilder=

Lutris should be fixed to set the variable correctly.

But for now my problem is fixed.

Seems it is this bug:

Seems it is not entirely fixed.

I’ve taken a pass at this one; it should be fixed harder now. 0.5.13 should fix this when released.

You can also try again with the latest master, if you know how.