michael-fadely / sadx-dc-lighting

Sonic Adventure 1 palette lighting for SADX PC.
MIT License
41 stars 3 forks source link

Linux Shader Issue #85

Open jtkellys opened 1 year ago

jtkellys commented 1 year ago

Playing on Linux

I was running into the d3d8.dll issue and was able to use the following command to bypass it, WINEDLLOVERRIDES="d3d8.dll=n,b" %command%. However, it presents a new error whenever a new asset is loaded or moves. It states "Shader Creation Failed" and "kw_sampler_state".

This issues only happens when the SADX-DC-Lighting mod is enabled, however, disabling it causes the game to question why the mod isn't loaded.

DankRank commented 1 year ago

I had the same problem when running it with regular wine (8.0 from debian 12 repos), and running it through Steam (Proton experimental) fixed it for me. It seems like the HLSL compiler that's included with wine is very barebones. I've tried to make the shader work with it, but I kept running into more and more unimplemented features.

list of HLSL features that don't work on wine - `= sampler_state` - uniform initialization - switch statements - `any` intrinsic function - ternary expressions - calling a user-defined function

Running it through Steam works because it installs the official d3dcompiler DLL into its wine prefix. This can be done with winetricks d3dx9 d3dcompiler_43 on a regular wine prefix.

If it doesn't work for you on Steam, I suggest you try deleting the ~/.local/share/Steam/steamapps/compatdata/71250 directory. If that doesn't work either, reinstall the game completely.

nasedase commented 9 months ago

I had the same problem when running it with regular wine (8.0 from debian 12 repos), and running it through Steam (Proton experimental) fixed it for me. It seems like the HLSL compiler that's included with wine is very barebones. I've tried to make the shader work with it, but I kept running into more and more unimplemented features.

list of HLSL features that don't work on wine Running it through Steam works because it installs the official d3dcompiler DLL into its wine prefix. This can be done with winetricks d3dx9 d3dcompiler_43 on a regular wine prefix.

If it doesn't work for you on Steam, I suggest you try deleting the ~/.local/share/Steam/steamapps/compatdata/71250 directory. If that doesn't work either, reinstall the game completely.

I'm running into the same shader issue. "Shader creation failed Unexpected KW_SAMPLER STATE". Issue goes away when I disable lantern. I'm running it from Steam on my Steamdeck, so arch linux, I deleted ~/.local/share/Steam/steamapps/compatdata/71250 but it didn't resolve the issue. I've tried proton experimental and GE Proton 8-30, and I have WINEDLLOVERRIDES="d3d8.dll=n,b" %command% in the launch options.