Logitech Extreme 3d Pro Joystick STILL only seen as a gamepad Cannot map axis' correctly - [Solved] with workaround

Ask here if you experience technical problems with X4: Foundations.

Moderator: Moderators for English X Forum

Post Reply
spookywatcher
Posts: 192
Joined: Thu, 11. Apr 19, 20:26

Logitech Extreme 3d Pro Joystick STILL only seen as a gamepad Cannot map axis' correctly - [Solved] with workaround

Post by spookywatcher » Fri, 7. Aug 20, 19:15

The top half of image is from ver 2.5 Linux. It clearly shows the Logitech Extreme 3d pro CORRECTLY detected as a joystick. And I am able to map it correctly and actually use it in a game.

The bottom half of image is from ver 3.3 Linux. It clearly shows that the Logitech Extreme 3d pro is STILL incorrectly detected as a gamepad and I am unable to correctly map it.
I can uninstall 3.3 and install 2.5 and it correctly detects the joystick. Then uninstall wipe and re install 3.3 and it incorrectly detects.

This has been messed up since 2.6 and every version I come on here begging the Devs to fix this. The Logi Extr 3D pro is probably the most common joystick in the world. Please ... pretty please... for the 4th time I beg you...fix this.

https://imgur.com/a/7id4b5W


**** Update ***** 15 Feb 2021
I got it working. See latest post below.


**** Update ***** 12 Nov 2020

I created a bug over at SDL bugzilla asking them to remove the Logitech Extreme 3D pro from the linux section of gamepad db. They did remove it. Now can you guys update SDL on your end before the next update??

https://bugzilla.libsdl.org/show_bug.cgi?id=5326
https://hg.libsdl.org/SDL/rev/082d12646561
https://hg.libsdl.org/SDL/file/56cb1e9e ... rollerdb.h
Last edited by spookywatcher on Tue, 16. Feb 21, 05:49, edited 5 times in total.

spookywatcher
Posts: 192
Joined: Thu, 11. Apr 19, 20:26

Re: [3.3 Linux] Logitech Extreme 3d Pro Joystick STILL only seen as a gamepad Cannot map axis' correctly - Screenshot

Post by spookywatcher » Tue, 25. Aug 20, 12:43

I have been trying to get any dev to fix (or even LOOK at) the Linux / Logitech extreme 3d pro problem for over 8 months.

And it's been crickets. I have owned MULTIPLE copies of Every single X game going back to 1999! cd / DVD copies (yeah...I remember the starforce days and how I got NO help back then too AND it caused actual physical damage to my rig and yet I still supported You Egosoft) digital copies both on GOG and steam! All of them. I have given SO much money to egosoft...So for a VERY old fan who has bought multiple copies of every single title in order to support you...

Please...Support me...I'm begging you...Fix this issue. At least have a dev reply and say Yes..We're working on it. Something!

This post will probably get me banned. But at this point and how much money I have given egosoft over a VERY long period of time... I've about had it.

timon37
EGOSOFT
EGOSOFT
Posts: 485
Joined: Fri, 14. Dec 12, 11:02
x4

Re: [3.3 Linux] Logitech Extreme 3d Pro Joystick STILL only seen as a gamepad Cannot map axis' correctly - Screenshot

Post by timon37 » Tue, 25. Aug 20, 14:58

Sorry, but afai can tell it's impossible with sdl2 at the moment, you'd have to modify the sources and compile your own version of sdl2 to workaround it.

There's SDL_GAMECONTROLLER_IGNORE_DEVICES and SDL_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT environment variables, but neither will work as they cause the device to be completely ignored (even via the joystick interface).
There's ways to add new controller mappings or override them, but no way to remove them, and the default is compiled into the library itself and always used.

To deal with this we'll need to create some linux specific config ui, or maybe implement some brutal commandline option (e.g. -ignoregamepads).
Unfortunately I can't promise it'll happen, and almost definitely it won't be soon, sorry:(

timon37
EGOSOFT
EGOSOFT
Posts: 485
Joined: Fri, 14. Dec 12, 11:02
x4

Re: [3.3 Linux] Logitech Extreme 3d Pro Joystick STILL only seen as a gamepad Cannot map axis' correctly - Screenshot

Post by timon37 » Tue, 25. Aug 20, 15:01

Actually there may be some other way outside of SDL2.

You'd have to make the joystick report under a different vid/pid/guid, some joystick remapper/emulation tools might accomplish that.

spookywatcher
Posts: 192
Joined: Thu, 11. Apr 19, 20:26

Re: [3.3 Linux] Logitech Extreme 3d Pro Joystick STILL only seen as a gamepad Cannot map axis' correctly - Screenshot

Post by spookywatcher » Tue, 25. Aug 20, 17:05

timon37 wrote:
Tue, 25. Aug 20, 15:01
Actually there may be some other way outside of SDL2.

You'd have to make the joystick report under a different vid/pid/guid, some joystick remapper/emulation tools might accomplish that.
Thank You for the direction. I'll head that way today and try to get it working that way. BUT!! Please keep this on a burner. Just don't let it go. Please keep it on the list of items to fix.

spookywatcher
Posts: 192
Joined: Thu, 11. Apr 19, 20:26

Re: [3.3 Linux] Logitech Extreme 3d Pro Joystick STILL only seen as a gamepad Cannot map axis' correctly - Screenshot

Post by spookywatcher » Tue, 25. Aug 20, 17:54

timon37 wrote:
Tue, 25. Aug 20, 14:58
Sorry, but afai can tell it's impossible with sdl2 at the moment, you'd have to modify the sources and compile your own version of sdl2 to workaround it.

There's SDL_GAMECONTROLLER_IGNORE_DEVICES and SDL_GAMECONTROLLER_IGNORE_DEVICES_EXCEPT environment variables, but neither will work as they cause the device to be completely ignored (even via the joystick interface).
There's ways to add new controller mappings or override them, but no way to remove them, and the default is compiled into the library itself and always used.

To deal with this we'll need to create some linux specific config ui, or maybe implement some brutal commandline option (e.g. -ignoregamepads).
Unfortunately I can't promise it'll happen, and almost definitely it won't be soon, sorry:(
Also.. It was working as expected in ver 2.5 and earlier. So what changed?

timon37
EGOSOFT
EGOSOFT
Posts: 485
Joined: Fri, 14. Dec 12, 11:02
x4

Re: [3.3 Linux] Logitech Extreme 3d Pro Joystick STILL only seen as a gamepad Cannot map axis' correctly - Screenshot

Post by timon37 » Wed, 26. Aug 20, 10:28

At some point the joystick->gamepad mapping got added to this file https://hg.libsdl.org/SDL/file/56cb1e9e ... rollerdb.h
And we probably updated sdl2 for some other reason.

MadEmperorYuri
Posts: 1
Joined: Wed, 21. Oct 20, 00:03

Re: [3.3 Linux] Logitech Extreme 3d Pro Joystick STILL only seen as a gamepad Cannot map axis' correctly - Screenshot

Post by MadEmperorYuri » Wed, 21. Oct 20, 00:23

So let me see if I understand this correctly. X4 uses the SDL2 library, which (on Linux at least) comes separately from X4. So when SDL2 gets an updated version, X4 has no choice but to use it. SDL2 made a change that breaks the Extreme 3D Pro joystick, and so now X4--and any other application that use SDL2--are stuck with it. EDIT: Wait, I think it got it wrong. SDL2 is included as part of X4..? So X4 can add its own patches to SDL2 if necessary?
There's ways to add new controller mappings or override them, but no way to remove them, and the default is compiled into the library itself and always used.
I don't follow this part, though. You're saying you can override controller mappings, but that the hard-coded default is always used? That sounds contradictory. Doesn't overriding it mean suppressing the default? Doesn't the hard-coded default always being used mean you can't override it?

Either way, the proper solution is that something has to change in SDL2, right? Is there an issue in this list that might be it? And can Egosoft modify line 538 in the meantime?

spookywatcher
Posts: 192
Joined: Thu, 11. Apr 19, 20:26

Re: [3.3 Linux] Logitech Extreme 3d Pro Joystick STILL only seen as a gamepad Cannot map axis' correctly - Screenshot

Post by spookywatcher » Wed, 21. Oct 20, 23:47

I've worked on this for WAY too many hours... But still cannot come up with my own fix. It's over my head and knowledge. Giving up on X4... Shame.

spookywatcher
Posts: 192
Joined: Thu, 11. Apr 19, 20:26

Re: [3.3 Linux] Logitech Extreme 3d Pro Joystick STILL only seen as a gamepad Cannot map axis' correctly - Screenshot

Post by spookywatcher » Thu, 22. Oct 20, 20:11

I submitted a bug at https://bugzilla.libsdl.org/show_bug.cgi?id=5326 hopefully they will remove the offending entry and then EGO can update SDL on their end! Nothing else I have tried has worked.

spookywatcher
Posts: 192
Joined: Thu, 11. Apr 19, 20:26

Re: Update - Timon37 Please Read -Logitech Extreme 3d Pro Joystick STILL only seen as a gamepad Cannot map axis' corre

Post by spookywatcher » Thu, 12. Nov 20, 17:41

*** Update *** They did remove it from the gamepad db.

I created a bug over at SDL bugzilla asking them to remove the Logitech Extreme 3D pro from the linux section of gamepad db. They did remove it. Can you guys update SDL on your end before the next update??

https://bugzilla.libsdl.org/show_bug.cgi?id=5326
https://hg.libsdl.org/SDL/rev/082d12646561
https://hg.libsdl.org/SDL/file/56cb1e9e ... rollerdb.h

spookywatcher
Posts: 192
Joined: Thu, 11. Apr 19, 20:26

Re: Update - Timon37 Please Read -Logitech Extreme 3d Pro Joystick STILL only seen as a gamepad Cannot map axis' corre

Post by spookywatcher » Sun, 3. Jan 21, 16:33

I feel like I'm finally close to getting X4 to play nice with the Logitech Extreme 3d Pro in Linux.

As mention above I successfully got the Devs of SDL2 to remove the offending line with a bug report. The new version of SDL2 is 2.0.14 and again it looks good.
I have downloaded it and compiled my own version 2.0.14 and did:

Code: Select all

./configure --prefix=/opt/SDL2-2.0.14/
make
sudo make install
I then went into the X4's game library

Code: Select all

/home/thisisme/GOG Games/X4 Foundations/game/lib
and renamed "libSDL2-2.0.so.0" to "libSDL2-2.0.so.0.bak". Launched the game but it didn't work. Ok...it's still using SDL2 version 2.0.10 (because I never uninstalled it). So then I tried to change the Library Path in the testandlaunch.sh located in the game folder to this:

Code: Select all

export LD_LIBRARY_PATH="/opt/SDL2-2.014/"
thinking that was the last key to the puzzle. But unfortunately it was still recognized as a gamepad. I'm missing something simple I feel. Like the lib path or something.

Anyone have any suggestions?

spookywatcher
Posts: 192
Joined: Thu, 11. Apr 19, 20:26

Re: Logitech Extreme 3d Pro Joystick STILL only seen as a gamepad Cannot map axis' correctly - [Solved] with workaroun

Post by spookywatcher » Tue, 16. Feb 21, 05:47

Ok... I was giving up after so many wasted hours but I finally got a fix working.

I'm linux mint. Latest SDL2 version for Mint is 2.0.10 I needed SDL2 version 2.0.14 I tried compiling my own then linking libs and exporting paths etc etc but nothing worked.

But now I've got it working by basically back porting SDL2 version 2.0.14 from Ubuntu hirsute repo.

First... Take a snapshot timeshift etc etc in case something breaks. But so far nothing seems borked.

Step 1:
edit your sources list

Code: Select all

sudo nano '/etc/apt/sources.list.d/official-package-repositories.list'
Step 2:
add hirsute repo's to the bottom of the list so it looks like this

Code: Select all

deb http://packages.linuxmint.com ulyana main upstream import backport 

deb http://archive.ubuntu.com/ubuntu focal main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu focal-updates main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu focal-backports main restricted universe multiverse

deb http://security.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse
deb http://archive.canonical.com/ubuntu/ focal partner

deb http://mirrors.kernel.org/ubuntu hirsute main universe
Step 3:
open synaptic package manager and search for SDL2
select both libsdl2-2.0-0 and libsdl2-2.0-0:i386 packages (they will be greyed out but that's ok)

Step 4:
at the top select package --> forcer version
and then accept then apply

It will update quite a bit and have to restart some services. Then reboot.

Then go to your X4 game folder then the lib folder and rename the libSDL2-2.0.so.0 to bak-libSDL2-2.0.so.0.bak

Launch Game and now the Logitech is correctly listed as a joystick again and can be perfectly mapped and works as expected.

Now be careful. If you just go to Update manager...it'll say you have something like 972 updates to perform. Obviously...don't do that. I haven't tried it yet but I might remove the last line in the sources list and then update the cache and see if that gets back to showing all files updated.

rustyshackleford
Posts: 9
Joined: Sat, 6. Feb 21, 00:51

Re: Logitech Extreme 3d Pro Joystick STILL only seen as a gamepad Cannot map axis' correctly - [Solved] with workaroun

Post by rustyshackleford » Fri, 19. Feb 21, 06:26

spookywatcher wrote:
Tue, 16. Feb 21, 05:47
Ok... I was giving up after so many wasted hours but I finally got a fix working.

I'm linux mint. Latest SDL2 version for Mint is 2.0.10 I needed SDL2 version 2.0.14 I tried compiling my own then linking libs and exporting paths etc etc but nothing worked.

But now I've got it working by basically back porting SDL2 version 2.0.14 from Ubuntu hirsute repo.

First... Take a snapshot timeshift etc etc in case something breaks. But so far nothing seems borked.

Step 1:
edit your sources list

Code: Select all

sudo nano '/etc/apt/sources.list.d/official-package-repositories.list'
Step 2:
add hirsute repo's to the bottom of the list so it looks like this

Code: Select all

deb http://packages.linuxmint.com ulyana main upstream import backport 

deb http://archive.ubuntu.com/ubuntu focal main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu focal-updates main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu focal-backports main restricted universe multiverse

deb http://security.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse
deb http://archive.canonical.com/ubuntu/ focal partner

deb http://mirrors.kernel.org/ubuntu hirsute main universe
Step 3:
open synaptic package manager and search for SDL2
select both libsdl2-2.0-0 and libsdl2-2.0-0:i386 packages (they will be greyed out but that's ok)

Step 4:
at the top select package --> forcer version
and then accept then apply

It will update quite a bit and have to restart some services. Then reboot.

Then go to your X4 game folder then the lib folder and rename the libSDL2-2.0.so.0 to bak-libSDL2-2.0.so.0.bak

Launch Game and now the Logitech is correctly listed as a joystick again and can be perfectly mapped and works as expected.

Now be careful. If you just go to Update manager...it'll say you have something like 972 updates to perform. Obviously...don't do that. I haven't tried it yet but I might remove the last line in the sources list and then update the cache and see if that gets back to showing all files updated.
Thanks for investigating this. I added that repository but when searching in Synaptic, I already had libsdl2-2.0-0 and libsdl2-2.0-0:i386 installed, so I renamed libSDL2-2.0.so.0 to bak-libSDL2-2.0.so.0.bak in the game folder. The Logitech 3D Pro appears as a selection under the "Joysticks" screen, but I'm unable to assign anything to the throttle, twist axis or hat switch. X/Y axes work however. Tried going into the config.xml and changing gamepadmode to 0, 1, 2, etc. but no dice.

spookywatcher
Posts: 192
Joined: Thu, 11. Apr 19, 20:26

Re: Logitech Extreme 3d Pro Joystick STILL only seen as a gamepad Cannot map axis' correctly - [Solved] with workaroun

Post by spookywatcher » Fri, 19. Feb 21, 15:40

rustyshackleford wrote:
Fri, 19. Feb 21, 06:26
spookywatcher wrote:
Tue, 16. Feb 21, 05:47
Ok... I was giving up after so many wasted hours but I finally got a fix working.

I'm linux mint. Latest SDL2 version for Mint is 2.0.10 I needed SDL2 version 2.0.14 I tried compiling my own then linking libs and exporting paths etc etc but nothing worked.

But now I've got it working by basically back porting SDL2 version 2.0.14 from Ubuntu hirsute repo.

First... Take a snapshot timeshift etc etc in case something breaks. But so far nothing seems borked.

Step 1:
edit your sources list

Code: Select all

sudo nano '/etc/apt/sources.list.d/official-package-repositories.list'
Step 2:
add hirsute repo's to the bottom of the list so it looks like this

Code: Select all

deb http://packages.linuxmint.com ulyana main upstream import backport 

deb http://archive.ubuntu.com/ubuntu focal main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu focal-updates main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu focal-backports main restricted universe multiverse

deb http://security.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse
deb http://archive.canonical.com/ubuntu/ focal partner

deb http://mirrors.kernel.org/ubuntu hirsute main universe
Step 3:
open synaptic package manager and search for SDL2
select both libsdl2-2.0-0 and libsdl2-2.0-0:i386 packages (they will be greyed out but that's ok)

Step 4:
at the top select package --> forcer version
and then accept then apply

It will update quite a bit and have to restart some services. Then reboot.

Then go to your X4 game folder then the lib folder and rename the libSDL2-2.0.so.0 to bak-libSDL2-2.0.so.0.bak

Launch Game and now the Logitech is correctly listed as a joystick again and can be perfectly mapped and works as expected.

Now be careful. If you just go to Update manager...it'll say you have something like 972 updates to perform. Obviously...don't do that. I haven't tried it yet but I might remove the last line in the sources list and then update the cache and see if that gets back to showing all files updated.
Thanks for investigating this. I added that repository but when searching in Synaptic, I already had libsdl2-2.0-0 and libsdl2-2.0-0:i386 installed, so I renamed libSDL2-2.0.so.0 to bak-libSDL2-2.0.so.0.bak in the game folder. The Logitech 3D Pro appears as a selection under the "Joysticks" screen, but I'm unable to assign anything to the throttle, twist axis or hat switch. X/Y axes work however. Tried going into the config.xml and changing gamepadmode to 0, 1, 2, etc. but no dice.
Correct...Synaptic will show it already installed. But for me the version installed was 2.0.10 and I needed version 2.014 (this version has the updated data that fixes it). So in Synaptic Package manager I clicked on libSDL2-2.0 and also selected libsdl2-2.0-0:i386 so they were both highlighted but they were highlighted grey. Then I clicked on "Package" up at the top and then selected "Force Version". Then updated them to the newest 2.0.14 version. Then all worked perfectly.

I still have not been able to get any HAT switches on Any controller to work correctly in this game on Linux. Every other game the HAT switches work fine...but not X4. Still working on it though.

rustyshackleford
Posts: 9
Joined: Sat, 6. Feb 21, 00:51

Re: Logitech Extreme 3d Pro Joystick STILL only seen as a gamepad Cannot map axis' correctly - [Solved] with workaroun

Post by rustyshackleford » Fri, 19. Feb 21, 17:28

spookywatcher wrote:
Fri, 19. Feb 21, 15:40
rustyshackleford wrote:
Fri, 19. Feb 21, 06:26
spookywatcher wrote:
Tue, 16. Feb 21, 05:47
Ok... I was giving up after so many wasted hours but I finally got a fix working.

I'm linux mint. Latest SDL2 version for Mint is 2.0.10 I needed SDL2 version 2.0.14 I tried compiling my own then linking libs and exporting paths etc etc but nothing worked.

But now I've got it working by basically back porting SDL2 version 2.0.14 from Ubuntu hirsute repo.

First... Take a snapshot timeshift etc etc in case something breaks. But so far nothing seems borked.

Step 1:
edit your sources list

Code: Select all

sudo nano '/etc/apt/sources.list.d/official-package-repositories.list'
Step 2:
add hirsute repo's to the bottom of the list so it looks like this

Code: Select all

deb http://packages.linuxmint.com ulyana main upstream import backport 

deb http://archive.ubuntu.com/ubuntu focal main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu focal-updates main restricted universe multiverse
deb http://archive.ubuntu.com/ubuntu focal-backports main restricted universe multiverse

deb http://security.ubuntu.com/ubuntu/ focal-security main restricted universe multiverse
deb http://archive.canonical.com/ubuntu/ focal partner

deb http://mirrors.kernel.org/ubuntu hirsute main universe
Step 3:
open synaptic package manager and search for SDL2
select both libsdl2-2.0-0 and libsdl2-2.0-0:i386 packages (they will be greyed out but that's ok)

Step 4:
at the top select package --> forcer version
and then accept then apply

It will update quite a bit and have to restart some services. Then reboot.

Then go to your X4 game folder then the lib folder and rename the libSDL2-2.0.so.0 to bak-libSDL2-2.0.so.0.bak

Launch Game and now the Logitech is correctly listed as a joystick again and can be perfectly mapped and works as expected.

Now be careful. If you just go to Update manager...it'll say you have something like 972 updates to perform. Obviously...don't do that. I haven't tried it yet but I might remove the last line in the sources list and then update the cache and see if that gets back to showing all files updated.
Thanks for investigating this. I added that repository but when searching in Synaptic, I already had libsdl2-2.0-0 and libsdl2-2.0-0:i386 installed, so I renamed libSDL2-2.0.so.0 to bak-libSDL2-2.0.so.0.bak in the game folder. The Logitech 3D Pro appears as a selection under the "Joysticks" screen, but I'm unable to assign anything to the throttle, twist axis or hat switch. X/Y axes work however. Tried going into the config.xml and changing gamepadmode to 0, 1, 2, etc. but no dice.
Correct...Synaptic will show it already installed. But for me the version installed was 2.0.10 and I needed version 2.014 (this version has the updated data that fixes it). So in Synaptic Package manager I clicked on libSDL2-2.0 and also selected libsdl2-2.0-0:i386 so they were both highlighted but they were highlighted grey. Then I clicked on "Package" up at the top and then selected "Force Version". Then updated them to the newest 2.0.14 version. Then all worked perfectly.

I still have not been able to get any HAT switches on Any controller to work correctly in this game on Linux. Every other game the HAT switches work fine...but not X4. Still working on it though.
Ah I misunderstood, thanks Spooky I will give it a go tonight when I'm home. Thank God for people like you! I'm a complete noob with Linux and computers in general so figuring this stuff out on my own would be like black magic.

timon37
EGOSOFT
EGOSOFT
Posts: 485
Joined: Fri, 14. Dec 12, 11:02
x4

Re: Logitech Extreme 3d Pro Joystick STILL only seen as a gamepad Cannot map axis' correctly - [Solved] with workaroun

Post by timon37 » Tue, 2. Mar 21, 09:48

Hi, sorry for the lag.
The next beta should fix this (updates to sdl 2.0.14)

spookywatcher
Posts: 192
Joined: Thu, 11. Apr 19, 20:26

Re: Logitech Extreme 3d Pro Joystick STILL only seen as a gamepad Cannot map axis' correctly - [Solved] with workaroun

Post by spookywatcher » Tue, 2. Mar 21, 15:02

timon37 wrote:
Tue, 2. Mar 21, 09:48
Hi, sorry for the lag.
The next beta should fix this (updates to sdl 2.0.14)
Very much appreciated!

Now is there any chance you can look into the HAT switch problem? In linux EVERY single controller with a HAT switch the HAT switch itself misbehaves. See my details here: viewtopic.php?f=180&t=421583

Thx Timon!

Post Reply

Return to “X4: Foundations - Technical Support”