SteamPlay Elite Dangerous - Recognizing Logitech Extreme 3D Pro Joystick as 'Generic Gamepad'
Matthew Barrera
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 ??
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:
- I've tried re-installing Elite Dangerous. No effect.
- I've tried setting the 'Steam Input Per-Game Setting' to 'Forced Off'. No effect.
- Tested the joystick with
jstest-gtk. It is recognizing it correctly as a joystick! - 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!
1 Answer
I know people have had success with the following:
- 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
- Delete all registry entries with your PID and VID (for example: look in system.reg and remove any line with VID_046D&PID_C215)
Edit:
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:
HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\WineBus
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.
2