
sonofevil
Published
It seemed impossible to get the game to recognize my Gamepad. I have a Logitech F510, with the switch set to xinput. I tried pretty much every trick in the book to no avail. Mapping buttons to keyboard was not an option because character editor camera rotation is impossible. Ultimately I discovered a way to make it work with x360ce:
- Create a fresh 32-bit wineprefix (don't use the Proton prefix, as it can overwrite crucial files).
- Install all the x360ce system requirements on that prefix using winetricks and the official DirectX installer (see https://github.com/x360ce/x360ce).
- Download the 2018 x86 version of x360ce.
- Put the x360ce.exe in the Dark Souls DATA folder and run it on the 32bit prefix. Let it generate the xinput1_3.dll.
- Configure all detected inputs available (I had Logitech event, Xbox event, Logitech js, Xbox js). If yours don't work, try configuring your Linux input handling to generate the others (e.g. with xboxdrv). One of these works, I didn't check which. Save the configuration.
- Add the following DLL override to Dark Souls launch options in Steam:
xinput1_3.dll=b,n
. Since this overrides Proton's native xinput dll, I can only assume that it is to blame. My full launch option line, which also enables dsfix:
PROTON_USE_WINED3D9=1 WINEDLLOVERRIDES="dinput8=n,b;xinput1_3.dll=b,n" %command%
- Dark Souls launches with Proton 5.13-6 (I had texture issues with 6.3-5). Xbox & Generic Gamepad configuration support turned ON in Steam controller settings. Controller is mapped to normal Gamepad input via per-game controller mapping settings. Also I am running the "runtime" version of steam.
Good luck! I hope that helps someone else. Worth trying with DS2 and DS3 too since those games seem to have pretty much the same issue.
Short freezes when game loads new objects
Repost cos my previous report was showing "Tinker" even though I thought I had selected "Steam Play".
It seemed impossible to get the game to recognize my Gamepad. I have a Logitech F510, with the switch set to xinput. I tried pretty much every trick in the book to no avail. Mapping buttons to keyboard was not an option because character editor camera rotation is impossible. Ultimately I discovered a way to make it work with x360ce:
- Create a fresh 32-bit wineprefix (don't use the Proton prefix, as it can overwrite crucial files).
- Install all the x360ce system requirements on that prefix using winetricks and the official DirectX installer (see https://github.com/x360ce/x360ce).
- Download the 2018 x86 version of x360ce.
- Put the x360ce.exe in the Dark Souls DATA folder and run it on the 32bit prefix. Let it generate the xinput1_3.dll.
- Configure all detected inputs available (I had Logitech event, Xbox event, Logitech js, Xbox js). If yours don't work, try configuring your Linux input handling to generate the others (e.g. with xboxdrv). One of these works, I didn't check which. Save the configuration.
- Add the following DLL override to Dark Souls launch options in Steam:
xinput1_3.dll=b,n
. Since this overrides Proton's native xinput dll, I can only assume that it is to blame. My full launch option line, which also enables dsfix:
PROTON_USE_WINED3D9=1 WINEDLLOVERRIDES="dinput8=n,b;xinput1_3.dll=b,n" %command%
- My Dark Souls launches with Proton 5.13-6 (I had texture issues with 6.3-5). Xbox & Generic Gamepad configuration support turned ON in Steam controller settings. Controller is mapped to normal Gamepad input via per-game controller mapping settings. Also I am running the "runtime" version of steam.
Good luck! I hope that helps someone else. Worth trying with DS2 and DS3 too since those games seem to have pretty much the same issue.
Other than that I can confirm that there are stutters when the game loads new objects.
Mostly fixed by switching to LTS Kernel 5.10.60-1
Shader issues when playing with a mod.
- This should be my final report. My previous ones contain some wrong info.
- The hitherto best Proton version for this game is 5.13-6
- The game runs fairly stable when I boot Arch Linux with a 5.10.60-1 LTS Kernel. It frequently crashes the entire OS when using a more up-to-date Kernel. (Vulkan/Haswell issue.)
- Sometimes if the game doesn't start it can help to delete/rename the 211420 folder in SteamApps/compdata (!!!make a backup of your savegames!!!), and letting Steam create a new Proton prefix.
- Turn off anti-aliasing and vsync in the ingame settings and use dsfix for graphics. dsfix can be enabled by adding
WINEDLLOVERRIDES="dinput8=n,b" %command%
to the game's launch options. - PROTON_LOG=1 creates potentially useful logs in your Linux home directory.
- Turn off the Steam ingame overlay, or at least friend status popups, they create a horrible flickering effect.
- Now the difficult part. Since I have a non-Xbox gamepad, the game refuses to work with it out of the box. The game also ignores Steam's per-game remap, so you can't use that to emulate an Xbox gamepad. The only thing the game does seem to register is the global "Desktop Configuration" remap in the Steam settings. You can load an Xbox controller preset into it, but you cannot customize it, because desktop configuration doesn't let you assign analog controller input for some reason.
- If you want to customize it (e.g. deadzones) you will have to do so via per-game controller remap, save that as a preset, and then load the preset into "Desktop Configuration".
- In order to actually get working emulated Xbox controller input I also have to enable and disable "Xbox Configuration Support" multiple times every time I connect my controller.
- Don't bother with x360ce, it doesn't work.
- In the mod Daughters of Ash, Vulkan causes a game-breaking shader issue that makes certain areas pitch black after killing Gwynevere.
- Use Protonhax to run Windows apps on the game's prefix (e.g. Cheat Engine.)
Crashes whenever I try to skip the intro.
PROTON_USE_WINED3D11=0 doesn't help.
The game crashes on start.
I get an error message that tells me where the crashlog is located (very convenient, should be common practice).
kernelbase.dll caused an Unknown exception type (0x20474343) in module kernelbase.dll at 0033:7b00fc3e.