[SOLVED] VKD3D v2.12 issue on Geforce 10 series for Tekken 8

I am currently running the “offline” Tekken 8 v1.02.01 which is the newest version of the game currently through Lutris v0.5.16 and, in short, the newest VKD3D v2.12 (from a couple of weeks ago) causes the game to be quite unstable just navigating menus in the game etc and switching back to VKD3D v2.11.1 works well once again (which I did through Lutris’s ‘Advanced’ settings). it does this consistently if I switch back and forth between VKD3D versions on my NVIDIA 1050 Ti 4GB GPU through Lutris v0.5.16 and I am running Linux Mint v21.2-Xfce with 5.15 kernel and NVIDIA driver v525 series.

but I would not be surprised if the issue is limited to Geforce 10 series or older GPU’s (I got a NVIDIA 1050 Ti 4GB) as I am not sure if the following is the issue but I see on VKD3D Github page (i.e. Releases · HansKristian-Work/vkd3d-proton · GitHub ) for ‘Features’ says the following in relation to the current v2.12…

Implement fallback for compute shader derivatives on NVIDIA Pascal and older GPUs.
Allows exposing Shader Model 6.7 by default on Pascal as well (albeit with some known cases where it does not work). The workaround is expected to work with any known use of SM 6.6 compute derivatives in the wild.

because ‘Pascal’ is Geforce 10 series GPU’s. so I assume some bug must have been introduced in v2.12 for these sorts of GPU’s.

I get this is not really a Lutris specific bug but I just thought I would mention it in case anyone tries running Tekken 8 through Lutris v0.5.16 and runs updates as mine was working fine until I ran updates (i.e. ‘Preferences > Updates’ and on ‘Runtime updates’ I clicked ‘Check for Updates’), which I assume updated VKD3D to v2.12 as that’s when Tekken 8 game stability took a big hit (as on v2.11.1, while I did have a occasional stability issue, it does not seem to be often enough to be a real problem so far).

p.s. even when the game is temporarily working on VKD3D v2.12 you can see frame rate is worse than v2.11.1 and adjusting settings in the game itself does not have a increase in frame rate like it normally does when I am using VKD3D v2.11.1 (from Dec 2023).

EDIT (March 28th 2024): I was messing around with the GE runners as the one I was having issues with was GE 8-26 (the newest standard one with Lutris (wine-ge-8-26-x86_64)) is when I had the VKD3D v2.12 (very unstable etc) vs 2.11.1 (works) issue. but I tried the newest ‘Steam’ version of the GE runner on Lutris, with VKD3D back on defaults (which is using VKD3D v2.12 (the one I had problems with on official Lutris GE 8-26)), and that seems to work as expected.

the ‘Steam’ GE I got going on Lutris v0.5.16 is this file specifically… https://github.com/GloriousEggroll/proton-ge-custom/releases/download/GE-Proton9-2/GE-Proton9-2.tar.gz ; inside of that is ‘GE-Proton9-2’ folder and inside of that is a ‘files’ folder. the ‘files’ folder you extract to “~/.local/share/lutris/runners/wine” and then go to that folder and rename ‘files’ to ‘GE-Proton9-2’. now start up Lutris and you can select this runner at right click game shortcut ‘Configure > Runner options’ and on ‘Wine version’ select ‘GE-Proton9-2’. my guess is if the usual GE 8-26 runner (the newest official one for Lutris currently) is updated the problem might go away(?).

NOTE: I noticed a while ago, which still does the same now as I assume it’s probably normal behavior since I don’t think the Steam GE runner is more properly supported in Lutris(?), that if you try creating a fresh wine prefix in Lutris (i.e. right click game shortcut, ‘Configure > Game options’ and on ‘Wine prefix’ I use a specific location (“/home/user/Tekken8/” for example)) with the ‘Steam’ GE runner selected, it can’t create the data and throws a error. but as long as I use a usual Lutris GE runner to create the profile data first and then use the ‘Steam’ GE runner then it seems okay.

but it appears GloriousEggroll is switching to something else and might not be updating that GE 8-26 much anymore from the looks of things as to quote the Feb 3rd 2024 post in regards to GE 8-26 page on Github shows…

I won’t outright say this is the last wine-ge build, but we are getting close. The reason is that myself, alongside the other devs for lutris, heroic, and bottles, have begun working together on ULWGL (GitHub - Open-Wine-Components/umu-launcher).

Essentially ULWGL will allow you to run your non-steam games using Proton, Proton-GE, or other Proton forks using the same pressure vessel containerization and runtime that Valve use to run games with Proton. This means your games will run the exact same way as proton runs games, but outside and independant from Steam.

so we shall have to wait and see how all of that plays out :wink:

EDIT (Apr 11th 2024): I upgraded to Lutris v0.5.17, which was released hours ago now, and… I noticed it appears it can use that new UMU launcher thing that GloriousEggroll and others are working on. it appears to store stuff in different directories as it appears to be a bit more Steam-like where it stores stuff and I removed the ‘GE-Proton9-2’ that I manually setup and noticed it stores it in a different location now and I don’t have to do any fancy extraction as I just extract the download as-is to “~/.local/share/Steam/compatibilitytools.d/” (even though I don’t have Steam installed) and while it does not show up on ‘Wine > Folder’, which brings up ‘Manage Wine versions’ screen, you can select it from… right click game shortcut, ‘Configure > Runner options’ and on ‘Wine version’ screen there is more stuff here now, like… ‘GE Proton (latest)’ and ‘UMU-Proton-9.0-beta16’ and the one I installed which is ‘GE-Proton9-2’. I played with these a bit on Tekken 8 and it seems okay for offline use.

but what I like now is that Lutris v0.5.17 can actually create new wine prefixes (i.e. right click game… ‘Configure > Game options’ and on ‘Wine prefix’ I type in a location here. for example… “/home/user/GameNameHere/”) using that ‘Steam’ version of the GE runner where as before it would throw a error using my ‘custom’ method that I used before and had to use GE 8-26 to create the basic prefix data first and then switch to the ‘Steam’ GE.

anyways, I decided to start with a clean prefix using the latest ‘standard’ GE 8-26 runner for Lutris v0.5.17, which is the one I had issues with before, and now it seems okay. must have been a weird glitch or something(?). so basically the issue I thought existed in the name of this topic appears not to be a issue now once I created clean wine prefix using GE 8-26 and then transferred over my save data etc, things are working as expected so far.