Hello @superboo07, this doesn't read like a feature request, instead, it should be treated as a compatibility report, and we're tracking issues with game mods with the game they're modifying.
I wouldn't have expected WINEDLLOVERRIDES="dinput8=n,b" to be needed to be set manually as an override since https://github.com/ValveSoftware/wine/commit/b57f7a3f02fa3f9ea276bd51ef64b127fb1122af in Proton 10. What happens without that in the launch options?
Same result as if I have that in the launch option, sorry I'm used to when proton didn't automatically allow dinput8 hooking.
@superboo07 looks like the launcher got an update specifically for proton, so you might want to take another look. A caveat I saw is that the launcher defaults to borderless fullscreen but on proton 10 and experimental the game doesn't cover the fullscreen so you need to disable that or use proton 9 or proton bleeding edge https://github.com/ValveSoftware/Proton/wiki/Proton-Versions#proton-bleeding-edge.
looks like the launcher got an update specifically for proton, so you might want to take another look
That's correct. Here's a short breakdown of the update:
Previously, all dinput8 functions were forwarded to the original library using the /EXPORT linker option as shown below:
/EXPORT:DirectInput8Create=\\.\GLOBALROOT\SystemRoot\System32\dinput8.dll.DirectInput8Create
The issue was solved by having the launcher's dinput8 export its own functions that then call their counterparts in the original library. This is the method most mods use, but it's still worth looking into why forwarders fail.
A caveat I saw is that the launcher defaults to borderless fullscreen but on proton 10 and experimental the game doesn't cover the fullscreen so you need to disable that or use proton 9 or proton bleeding edge
It works fine for me on Proton Expertimental. Perhaps it depends on the setup.
Thanks for the report. Proton / Wine in principle supports export forwarding like that. The problem here is \\.\GLOBALROOT\SystemRoot\ prefix which we don't understand so far (it is GLOBALROOT\SystemRoot\ part currently not supported, not \\.\). What would work both on Windows and Proton is DirectInput8Create=C:\Windows\System32\dinput8.dll.DirectInput8Create. I can see how that may be considered not ideal as doesn't account for theoretically possible system install on Windows not on C: drive. We might add the support for such names but probably not immediately.
Replying to https://github.com/ValveSoftware/Proton/issues/9293#issuecomment-3643829477
with the new patch to the mod loader its closer to fully working. Thank you for the proton specific patch! When you run the game and mod loader through proton experimental does the speedrun helpers position saving work? The cutscene skip mod, no checkpoint killing mod, and no stamina mod work. With the speedrun helper everything except position saving works.
When you run the game and mod loader through proton experimental does the speedrun helpers position saving work?
It doesn't. I suspect it's the same issue as in #8857.
maybe switching to having position saving and loading be a bindable command where the loaded or saved position is a parameter like "1" for the first "2" for the second is the way to go. regardless, im extremely greatful for the Linux support and will be running cutscene skip very soon :)
github made my reply go through twice, thats embarrassing :(
Another update for the launcher has been released. The mod no longer uses GetAsyncKeyState, which solves the issue.
proton experimentalx2 2025-12WINEDLLOVERRIDES="dinput8=n,b"x2 2025-12PROTON_LOG=1x1 2025-12PROTON_REMOTE_DEBUG_CMD="/home/superboo07/.local/share/Steam/steamapps/common/Outlast\ 2/"x1 2025-12WINEDLLOVERRIDESx1 2025-12dinput8.dllx3 2025-12
Feature Request
I confirm:
contain this feature already.
Description
I would like a fix for
22520.169:013c:0140:err:module:find_forwarded_export module not found for forward '\\.\GLOBALROOT\SystemRoot\System32\dinput8.dll.DirectInput8Create' used by L"X:\\.local\\share\\Steam\\steamapps\\common\\Outlast 2\\Binaries\\Win64\\DINPUT8.dll"as this issue makes speedrunning Outlast 2s extra speedrunning categories difficult. This isn't high priority due to how niche it is, and categories that don't rely on injected mods work okay. The thing is that Outlast 2 and 1 speedrunning are so close to being perfect on Linux that at least to me it would be a shame for compatibility to end here.The way I get the mod loader to start injecting is the following, from the speedrun.com page for the game I download the "Better Outlast 2 Launcher" as it sets up the mod loader automatically. Then place it in the Outlast 2s folder, and make it so I can launch the launcher with this steam launch option
PROTON_LOG=1 PROTON_REMOTE_DEBUG_CMD="/home/superboo07/.local/share/Steam/steamapps/common/Outlast\ 2/" WINEDLLOVERRIDES="dinput8=n,b" %command%(does have to be adjusted depending on where steam is installed and where outlast 2 is installed)I use the remote debug cmd launch option as it lets me also launch livesplit, livesplit actually works perfectly like this and hooks into the game no issue. The issue arrises with the mod loader, which I had to make hookable by adding that WINEDLLOVERRIDES. When I launch the game from steam, I wait till it loads, close the game. then in the file browser window that the remote debug cmd launch option loaded I open the better launcher, and livesplit. Livesplit is unimportant for reproducing however. What is important is that in the better launcher something like the speedrun helper in the mods menu, the no CPK mod, or the cutscene skip mod are checked. Then you can press the launch option and the game will load, only to crash. I have in the attachments included a full log of a session where this crash occurs. Am also happy to provide any other information.
I know this is low priority due to the level of niche, so regardless of if implemented or not I will appreciate any help regardless. Thank you so much!
steam-414700.log
Justification [optional]
This is as far as I know, specific to the Outlast 1 and 2 mod loader.
Risks [optional]
Not sure.
References [optional]