I switched from W10 to Ubuntu 18.04 LTS some days ago, and up until now, I have found solutions for all my noob questions about stuff.

But recently, I installed Steam and tried to install Elite Dangerous: Horizons. I got it up and working on Proton 4.11-7 with the mouse, but I had always been using my trusty Logitech Extreme 3D Pro Joystick on Windows 10 when playing the game, but when trying to set up the joystick on Ubuntu, I immediately ran into a lot of problems. When I look at 'General Controller Settings' I can see that Steam for some reason thinks that my joystick is a Generic Gamepad ??

Picture of General Controller Settings

I thought that that was pretty weird, and Elite Dangerous thinks the same too when I fire up the game. Steam thinks that my joystick is a Generic Gamepad and I don't know why?

What I've tried:

  1. I've tried re-installing Elite Dangerous. No effect.
  2. I've tried setting the 'Steam Input Per-Game Setting' to 'Forced Off'. No effect.
  3. Tested the joystick with jstest-gtk. It is recognizing it correctly as a joystick!
  4. I also tried launching ED in Big Picture Mode and tried Steam Beta Release... No effect at all.

Please help. Any help will be highly appreciated!


I know people have had success with the following: https://github.com/redmcg/wine/wiki/Peripherals#logitech-extreme-3d-pro

  1. Disable SDL by setting 'Enable SDL' off (with: wine64 reg add 'HKLM\System\CurrentControlSet\Services\WineBus' /v 'Enable SDL' /t REG_DWORD /d 0 /f); and
  2. Delete all registry entries with your PID and VID (for example: look in system.reg and remove any line with VID_046D&PID_C215)


Apologies - I just copy and pasted the above when I had a brief moment this morning. But you might find the below to be a bit more helpful:

If you're using protontricks, step one can be done by running: protontricks 359320 regedit and then navigating to:


And creating a new DWORD value called Enable SDL with a value of 0. This disables SDL.

You can then click on HKEY_LOCAL_MACHINE\System and do a Find (Ctrl+F) for the string VID_046D&PID_C215 and delete every entry you find.

VID = Vendor ID (0x046D = Logitech)

PID = Product ID (0xC215 = Extreme 3D Pro Joystick)

The reason you need to do the above is because SDL incorrectly thinks this device is a controller. It then creates those incorrect registry entries that tell ED that it's a controller.

By disabling SDL - Wine falls back to using the kernel driver (evdev, which does not think it's a controller) and Wine will then rewrite those registry entries telling ED that it's a joystick.

  • Thank you for your patience. I have now been confirmed by others that this fixed the issue. Thank you for your help! – Laurits L. L. Jun 20 '20 at 20:09
  • 1
    If you are using protontricks from flathub, use the following command flatpak run --command=protontricks com.valvesoftware.Steam. You will then be able to search around for your game's ID and run the regeditcommand. For Microsoft Flight Simulator 2020, this looks something like: flatpak run --command=protontricks com.valvesoftware.Steam 1250410 regedit. You can then follow the rest of this answer. – tgirgin Jan 1 at 14:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.