Linux/Proton/DXVK compatibility?

Hi there,
As a Linux only user, I never used Special K before, and just recently found out that it even does exist.
Seems to be a very cool program so congratulations on the great work!
I’m the author of the Linux wrapper tool steamtinkerlaunch (GitHub - frostworx/steamtinkerlaunch: Linux wrapper tool for use with the Steam client for custom launch options and 3rd party programs), which adds custom launch options and 3rd party programs to the game launch from the Steam Client and I think it would be a great benefit, if it also had seamless Special K
support. Unfortunately there are not many proton related Special K information on the web (and most are old) so I have no real idea what needs to be done to get it running (if it can even be made to work on with proton versions). In case someone is interested to help, I opened an issue on my project page:
Special K · Issue #256 · frostworx/steamtinkerlaunch · GitHub
Of course, I’ll provide further information and logs if required.
Thanks for reading! :slight_smile:

In general, it should just be to have Wine/Proton to load the DLL file locally, but I saw that you had apparently tried that…

Have you tried using a config file for SK that disables a ton of its hooks and stuff ? See Common Issues | Special K - The Official Wiki

I’m also planning to set up a virtual machine running Linux that may allow me to test some things on my own, though I can’t promise anything. Historically though some people have managed to get Special K running with Proton every now and then…

Oh, and sure, please provide the main log from Special K as well (the dxgi.log or whatever the DLL file was called). And if a crash.log exist and has some info in it, please provide that too.

thanks for trying to help, and sorry for the delayed reply!
I tried the sledgehammer config now (thanks for the pointer)
with Special K 21.04.04 (as dxgi.dll + pdb) which generated these log files:

I’ve read older posts with Special K running under Proton as well, but wine (core element of Proton) often has regressions in newer versions, which might be the problem here.
I’ll report back if I find out something useful of course.

Edit: Another dxgi.log with Special K

“(game gets stuck with a black screen and needs to be killed)”

Seems Kaldaien is currently on one of his breaks, so he probably haven’t seen this thread yet.

In regards to compatibility, another user recently found and fixed a few issues that stopped SK from working through Wine properly. For now they seem to break keyboard support or something, but hopefully once the fixes have been figured out properly we may see it merged into the main project.

Thank you very much for your help and the link @Aemony! Very appreciated!
I’m almost off for a 1 week break as well, so will dig though it afterwards :slight_smile:

Funny coincidence, that the PR is so new :slight_smile:
Looks like there are no nightly builds and I guess cross compiling it for windows under linux is not too trivial, so I’ll wait for the next release before continuing.

paste from my issue:

Looks like the main problem with latest special-k version is that it uses the function
PowerSettingRegisterNotification in powrprof.dll which is not implemented in wine:

wine: Call from ... to unimplemented function POWRPROF.dll.PowerSettingRegisterNotification, aborting

Older Special K builds (tried 0.8.66, found in an older Proton Special K wiki) don’t use that function and seem to work (at least with some further configuration - just gave it a quick try and it crashed early after opening the game window → other problem, probably configuration related)

no idea why my thread was marked as spam, but ok.
Just wanted to leave some information for others (which might not be obvious)

  • the latest version is not that from the Downloads above, but that from discord. The discord version does work with Proton, because the UsingWine config option disables all incompatible functions when enabled
  • the latest official Proton does not work with SpecialK, because at least api-ms-win-crt-string-l1-1-0.dll is missing. Only tested (successfully with Proton-6.18-GE-2, but latest Experimental, TKG, STL probably work as well.)
  • both vcrun2019 and dxsetup need to be installed into the WINEPREFIX

Just a few days ago, I added SpecialK support in steamtinkerlaunch, which automates that all and more (see SpecialK wiki of my project)


Sorry for the confusing state of the download links etc :sweat: Hopefully we’ll be able to update the download links here after Far Cry 6 releases and Kal tidies some of whatever he’s working on up.