Controller/Joypad setup in Lutris with Wine/Steam

It seems pretty simple on the surface but I can find no documentation of what is currently expected of the user.

I’m trying to get controller support with Titan Souls (Steam) in Wine through Lutris; preferably for my Xbox One-S (usb-attached) controller but I also have a Nyko Airflow Ex as a backup. In posts regarding Titan Souls (outside of Lutris), I’ve read of success in native Windows using x360ce (some success) and SDL2 (full success).

Yes, I read it. :+1:

    My post is not about “support” but regarding _ not knowing _ whether or not I’m configuring this correctly. My post is also the resulting explosion of questions that occurs when I research a topic that doesn’t seem to be documented anywhere, Simple questions I might be able to find answers on my own then explode into many after days of research & experimentation. Sorry about that. :persevere:
  • I did discover in the forums is that resulting-intent in Lutris is to have a single controller-setup for multiple controller-interfaces and the concept is very early on in it’s development … and I’m not going to worry about it for now. Some-implementation is still very cool :sunglasses:. I like the concept for the final result – reminds me of RetroArch’s “core” system where one can easily load a game with a different “core” (aka: emulator) for better support. Even they didn’t do that with the controllers tho. :thinking:
  • Oh, and yes… Even though I’m running a 32bit wine prefix, I tried this in regards to the dinput8.dll: Xbox controller support in Witcher 3 Again, no noticeable difference either way.


  • Titan Souls has the file “input8.dll” in the main directory of the game so I’ve been testing it with the “x360ce dinput mode” on. Well, most of the time since it doesn’t seem to do the trick either way I test it (in my case).
  • Do I need to copy x360ce.exe into the game folder manually?
  • The x360ce.ini file was created somehow… but appears to have no controller configurations in it. Do I set them up or does Lutris? But if I do, why is an ini file created in the first place? Do we create the file and store it somewhere in Lutris somehow? The behavior just seems unintuitive.
  • The path to the game-folder is misleading, for the Wine/Steam runner. Is this a Unix-path or a Windows/Wine-path? The description just says, “path” which, in wine, could support either of the two different formats, depending how/when it’s used. Also, because this is a Steam game, I’m a little suspicious but doubtful that the steam-path is needed.
  • Since Titan Souls uses a dinput8.dll file, I did also copy over a new dinput8.dll from this post Xbox controller support in Witcher 3 for testing.


  • Since the UI asked for a string, It seemed obvious to me that an application is needed to create just that - easy. So I created it an pasted it into the textbox then… nothing changed in the game. Not sure what else is required to get this to work.
  • BTW: Titan Souls uses these strings in its own gamecontrollerdb.txt file so I also pasted it in (and erased the rest) but it didn’t work. With an empty gamecontrollerdb.txt, it still didn’t work. Ugh… this game has turned “meta”. The real Titan is controller support in Linux.

Joystick Control Panel

  • I’m not sure if this is Lutris or a Wine or a x360ce thing but this has been finicky with me. It does detect&work with both of my controllers just fine, each having (js) and (event) entries (all 4 work in the controller-test tab).
  • I move these joystick-entries between “Connected” and “Disabled” (or reverse) and the UI is not updated until I close and re-open it.
  • The weird thing is that it resets back to the default after a while (likely something I’m fiddling with elsewhere).
  • I’m not sure how to debug this as the [full] terminal output quickly exceeds the on-screen buffer length.

I can play titan souls with a ps4 controller without any issues with the configuration in the picture below

and nothing else, also i use the Solus OS, hope it helps!! (despite replying 2 years later)


Thank you !! This config worked for me!
Game: The Witcher 3 GOTY (GOG)
OS: Ubuntu 18.04
Contorller: BETOP BTP-2126E

where this options now, theres a way to resolve it?