[Bug 55653] New: Logitech Extreme 3d Joystick has axes mapped incorrectly
https://bugs.winehq.org/show_bug.cgi?id=55653 Bug ID: 55653 Summary: Logitech Extreme 3d Joystick has axes mapped incorrectly Product: Wine Version: 8.16 Hardware: x86-64 OS: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: dinput Assignee: wine-bugs(a)winehq.org Reporter: jonathan(a)jdcox.net Distribution: --- Using the jstest utility the joystick reports this: Joystick (Logitech Logitech Extreme 3D) has 6 axes (X, Y, Rz, Throttle, Hat0X, Hat0Y) wine control shows that Rz is mapped to the Z axis and the throttle is mapped to the Rz axis in wine. These two should be flipped. I have tested with SDL disabled and enabled and I get the same behavior. This occurs in current wine and in current proton releases. The problem does not occur in Proton 6 series, but does with 7 and later. I am aware this bug tracker is for wine, but using Proton was the best way to test an older, albeit heavily patched, version of wine that I am currently aware of. This issue is a problem because games in the X-Wing and Tie Fighter series of games treat the rudder (or accidental joystick rotation on this cheap joystick) as throttle movements and constantly adjust throttle during gameplay. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=55653 Olivier F. R. Dierick <o.dierick(a)piezo-forte.be> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |o.dierick(a)piezo-forte.be --- Comment #1 from Olivier F. R. Dierick <o.dierick(a)piezo-forte.be> --- Hello, I don't know if there is a reliable way for Wine to auto-detect the same axes mapping as jstest (I think Wine only gets numbers and assign custom names itself, those names are unrelated to the names from jstest), but I know there is a registry key that you can setup to map the axes manually. --- Excerpt from https://wiki.winehq.org/Useful_Registry_Keys --- HKEY_CURRENT_USER | +-Software | +-Wine | +-DirectInput | | | +->*<joystick name> = <axes mapping> | | [This maps axes of joystick "joystick name". The "axes mapping" is | | comma-separated list of "axis type"s - one for each joystick axis (hat-pov uses 2 axes). | | "axis type" is one of: X, Y, Z, Rx, Ry, Rz, Slider1, Slider2, POV1, POV2, POV3, POV4. | | To find the joystick name run | | 'WINEDEBUG=+dinput wine game.exe 2>&1 | grep joydev_enum_device' | | Example output: trace:dinput:joydev_enum_deviceW Enumerating the linux Joystick device: /dev/input/js0 (Logitech Logitech Dual Action) | | Example registry entry: "Logitech Logitech Dual Action"="X,Y,Rz,Slider1,POV1". (two "Logitech"s not a typo)] --- end of excerpt --- Regards. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=55653 axis6404(a)proton.me changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |axis6404(a)proton.me --- Comment #2 from axis6404(a)proton.me --- This is probably the same problem https://bugs.winehq.org/show_bug.cgi?id=54947 https://forum.winehq.org/viewtopic.php?t=37595 -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=55653 Lone_Wolf <Lone_Wolf(a)klaas-de-kat.nl> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |Lone_Wolf(a)klaas-de-kat.nl --- Comment #3 from Lone_Wolf <Lone_Wolf(a)klaas-de-kat.nl> --- I encountered the same issue on archlinux with wine 8.20 while aiming to play n X-Wing Alliance 2.02 [1] . In the game the twist-axis is seen as throttle, and the real throttle does nothing. The issue is not limited to the logitecht extreme 3D as the microsoft siewinder precion pro joystick of a friend exhibits exactly the same behaviour . Since there were reports from 2015 (by myself) & 2019 that didn't mention the issue, I tested older wine versions . Wine 6.23 is the last version that sets the axes correctly , wine 7.1 and later don't . evtest showed the joystick axes are seen by linux as X,Y, Rz, throttle, hat0x, hAt0y . I was unable to use the workaround mentioned in wine wiki[2] to remap the axes. Using Logitect Extreme 3D , "Logitech Extreme 3D" or L"Logitech Extreme 3D" as name had no effect at all. I'll attach evtest and winedebug logs. [1] https://appdb.winehq.org/objectManager.php?sClass=version&iId=2916 [2] https://wiki.winehq.org/Useful_Registry_Keys -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=55653 --- Comment #4 from Lone_Wolf <Lone_Wolf(a)klaas-de-kat.nl> --- Created attachment 75459 --> https://bugs.winehq.org/attachment.cgi?id=75459 evtest /dev/input/event7 -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=55653 --- Comment #5 from Lone_Wolf <Lone_Wolf(a)klaas-de-kat.nl> --- Created attachment 75460 --> https://bugs.winehq.org/attachment.cgi?id=75460 WINEPREFIX=~/.wine WINEDEBUG=+dinput wine control joy.cpl > dinput-log.txt 2>&1 -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=55653 rens <rens.groenewegen(a)xs4all.nl> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |rens.groenewegen(a)xs4all.nl --- Comment #6 from rens <rens.groenewegen(a)xs4all.nl> --- same issue here prior to wine 8.x this worked correctly joystick map is not parsed from linux, apparently see difference thrustmaster and logitech extreme 3d pro : thrustmaster has all axes, going from 0 to 9, 10 total. this results in slot # being the same as function number : 1 = 1, 2 =2, 3 = 3, etc etc. jscal -q /dev/input/js2 jscal -u 10,0,1,2,3,4,5,6,7,16,17,15,288,289,290,291,292,293,294,295,296,297,298,299,300,301,302 logitech extreme (any version , got 2) : jscal -q /dev/input/js0 jscal -u 6,0,1,5,6,16,17,12,288,289,290,291,292,293,294,295,296,297,298,299 /dev/input/js0 logitech only has x, y, throttle and rudder. Logitech Extreme 3D pro) has 6 axes ( 0:X 0 , 1:Y 1 , 2:Rz 5 , 3:Throttle 6 , 4:Hat0X 16 , 5:Hat0Y 17) slot function 0 0 1 1 2 5 3 6 4 16 xhat pov 5 17 yhat pov but wine 8.x mangles it into this : slot function 0 0 1 1 2 2 3 3 that can NOT work, because there is no function 3 on the logitech stick..... that s why the throttle does not work. it is not being read. please fix it -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=55653 --- Comment #7 from rens <rens.groenewegen(a)xs4all.nl> --- (In reply to rens from comment #6)
same issue here prior to wine 8.x this worked correctly
joystick map is not parsed from linux, apparently
see difference thrustmaster and logitech extreme 3d pro :
thrustmaster has all axes, going from 0 to 9, 10 total. this results in slot # being the same as function number : 1 = 1, 2 =2, 3 = 3, etc etc. jscal -q /dev/input/js2 jscal -u 10,0,1,2,3,4,5,6,7,16,17,15,288,289,290,291,292,293,294,295,296,297,298,299, 300,301,302
logitech extreme (any version , got 2) : jscal -q /dev/input/js0 jscal -u 6,0,1,5,6,16,17,12,288,289,290,291,292,293,294,295,296,297,298,299 /dev/input/js0
logitech only has x, y, throttle and rudder. Logitech Extreme 3D pro) has 6 axes ( 0:X 0 , 1:Y 1 , 2:Rz 5 , 3:Throttle 6 , 4:Hat0X 16 , 5:Hat0Y 17) slot function 0 0 1 1 2 5 3 6 4 16 xhat pov 5 17 yhat pov
but wine 8.x mangles it into this : slot function 0 0 1 1 2 2 3 3
that can NOT work, because there is no function 3 on the logitech stick.....
that s why the throttle does not work. it is not being read.
please fix it
this means that a t.flight X thrustmaster will work, because slots and functions are identical.. no logitech extreme, force or normal, will work. and probably a whole bunch of sticks with 4 axes and pov x,y will not work either -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=55653 --- Comment #8 from rens <rens.groenewegen(a)xs4all.nl> --- (In reply to Olivier F. R. Dierick from comment #1)
Hello,
I don't know if there is a reliable way for Wine to auto-detect the same axes mapping as jstest (I think Wine only gets numbers and assign custom names itself, those names are unrelated to the names from jstest), but I know there is a registry key that you can setup to map the axes manually.
--- Excerpt from https://wiki.winehq.org/Useful_Registry_Keys --- HKEY_CURRENT_USER | +-Software | +-Wine | +-DirectInput | | | +->*<joystick name> = <axes mapping> | | [This maps axes of joystick "joystick name". The "axes mapping" is | | comma-separated list of "axis type"s - one for each joystick axis (hat-pov uses 2 axes). | | "axis type" is one of: X, Y, Z, Rx, Ry, Rz, Slider1, Slider2, POV1, POV2, POV3, POV4. | | To find the joystick name run | | 'WINEDEBUG=+dinput wine game.exe 2>&1 | grep joydev_enum_device' | | Example output: trace:dinput:joydev_enum_deviceW Enumerating the linux Joystick device: /dev/input/js0 (Logitech Logitech Dual Action) | | Example registry entry: "Logitech Logitech Dual Action"="X,Y,Rz,Slider1,POV1". (two "Logitech"s not a typo)] --- end of excerpt ---
Regards.
tried this, makes no difference. its ignored. wine 8.x simply assumes function nrs are equal to slotnrs. I have a workaround for this issue, but its of course completely unnecessary.. wine should do what it did before. workaround: make a virtual joystick with joymap, replacing your hardware, use my GUI to configure your hardware stick for joymap , and it will work again. info / download is here : https://rensg.home.xs4all.nl/rb3d/joymixerUI.html use at own risk. might be completely unusable -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=55653 --- Comment #9 from rens <rens.groenewegen(a)xs4all.nl> --- the logitech map file for download, simply reads the logitech stick and feeds it to the virtual joymap joystick. this will result in your game seeing a usable joystick. might be necessary to first UNPLUG your joystick(s) load the map file with loadmap then plug in the joystick(s) enjoy. by the way : affected other games :: microsoft combat flight sim v3 rise of flight redbaron3d EAW -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=55653 oleg(a)np880.ru changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |oleg(a)np880.ru --- Comment #10 from oleg(a)np880.ru --- I can confirm this issue. Right now I'm using evsieve to remap this joystick. sudo evsieve --input /dev/input/by-id/usb-Logitech_Logitech_Extreme_3D-event-joystick --map abs:throttle abs:z --output name='Logitech Logitech Extreme 3D 2' -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
https://bugs.winehq.org/show_bug.cgi?id=55653 --- Comment #11 from rens <rens.groenewegen(a)xs4all.nl> --- (In reply to rens from comment #9)
the logitech map file for download, simply reads the logitech stick and feeds it to the virtual joymap joystick.
this will result in your game seeing a usable joystick.
might be necessary to first UNPLUG your joystick(s) load the map file with loadmap then plug in the joystick(s)
enjoy.
by the way : affected other games ::
microsoft combat flight sim v3 rise of flight redbaron3d EAW
the joymap software now detects plugging and unplugging sticks. So that means it works automagically now. Just load the map , plugin the sticks and off you go.. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=55653 --- Comment #12 from Lone_Wolf <Lone_Wolf@klaas-de-kat.nl> --- My logitech 3d extreme pro worked fine with XWA using the joymap utility. With some experimentation a fried was adjust the mapping for his MS sidewinder precision Pro . @rens : Thank you for a great utility. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=55653 Ray Culp <alias3.aerospace239@passinbox.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |alias3.aerospace239@passinb | |ox.com --- Comment #13 from Ray Culp <alias3.aerospace239@passinbox.com> --- Warning! System may become unbootable after running Linux Joystick Mapper (joymap) installation script "installjoymix.sh". The joymap installation script "installjoymix.sh" unpacks the archive "joymixer.tgz" in root directory using sudo/root privileges. On usrmerged systems, this overwrites the /sbin -> /usr/sbin symlink with a standard directory containing one single file "reserve_js". Upon reboot, the system will no longer find essential files in /sbin and abort with kernel panic error. - DO NOT run "installjoymix.sh" on usrmerged systems. - DO NOT unpack "joymixer.tgz" in root directory "/" using sudo/root privileges. - Instead, unpack "joymixer.tgz" in a temp directory, then manually move file "reserve_js" to /usr/sbin and the other files to their corresponding directories. Disclaimer: I'm not a Linux expert. This is simply my best attempt to document what I have observed. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=55653 --- Comment #14 from rens <rens.groenewegen@xs4all.nl> --- Hi Thx for posting What is a usrmerged Linux install? I tested the install on side and Ubuntu, desktop version No issues there. Plz explain so I can try to fix it. Best -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=55653 --- Comment #15 from rens <rens.groenewegen@xs4all.nl> --- Not side, opens use which distro are you seeing this? -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=55653 oleg@np880.ru changed: What |Removed |Added ---------------------------------------------------------------------------- CC|oleg@np880.ru | -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=55653 --- Comment #16 from Lone_Wolf <Lone_Wolf@klaas-de-kat.nl> ---
What is a usrmerged Linux install?
run "ls -l /sbin /bin" If it outputs something similar to lrwxrwxrwx 1 root root 7 12 okt 2025 /bin -> usr/bin lrwxrwxrwx 1 root root 7 12 okt 2025 /sbin -> usr/bin You're on a usrmerged distro . On such distros /sbin and /bin are symlinked to /usr/bin . Installing files in /sbin or /bin breaks that setup and can cause issues. Fedora, Debian and Archlinux have all switched to /usrmerge installs several years ago. No clue about ubunut, sorry . -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=55653 --- Comment #17 from rens <rens.groenewegen@xs4all.nl> --- wow. approximately the most dangerous thing one can do.. mixing the system bin into the usr bin... what were they thinking ? probably not at all.... lol Oh well, never mind. I fixed up the install script, with tar options of tar --keep-directory-symlink --no-overwrite-dir -xzvf $mixfile which will preserve whatever you might have as dir or symlink to dir tested it, where etc sbin and usr are all links to dirs : = ls -l * lrwxrwxrwx 1 itsme users 4 Apr 25 18:25 etc -> detc lrwxrwxrwx 1 itsme users 5 Apr 25 18:25 sbin -> dsbin lrwxrwxrwx 1 itsme users 4 Apr 25 18:25 usr -> dusr It seems to work. the links are still links.. on my opensuse 15.6, anyway. (In reply to Lone_Wolf from comment #16)
What is a usrmerged Linux install?
run "ls -l /sbin /bin"
If it outputs something similar to
lrwxrwxrwx 1 root root 7 12 okt 2025 /bin -> usr/bin lrwxrwxrwx 1 root root 7 12 okt 2025 /sbin -> usr/bin
You're on a usrmerged distro .
On such distros /sbin and /bin are symlinked to /usr/bin . Installing files in /sbin or /bin breaks that setup and can cause issues.
Fedora, Debian and Archlinux have all switched to /usrmerge installs several years ago. No clue about ubunut, sorry .
-- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=55653 --- Comment #18 from rens <rens.groenewegen@xs4all.nl> --- BTW I moved my website rensg.home.xs4all.nl to redbaron3d.org where you will find the joymix software etc best -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=55653 mata <sutupud@yahoo.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |sutupud@yahoo.com --- Comment #19 from mata <sutupud@yahoo.com> --- (In reply to rens from comment #17)
wow.
approximately the most dangerous thing one can do.. mixing the system bin into the usr bin...
No, that would be to download some random script from somewhere and run it with sudo. You can't assume anything about other people's system. Their `tar` might not have those options. Who says there even is a `tar`... -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=55653 --- Comment #20 from rens <rens.groenewegen@xs4all.nl> --- I can assume Linux has the lsb & lot of er standards agreed on That says there will be a tar Your Linux installer would not work, otherwise. But apparently, you are new here. Leave your arrogance at home. Thank you. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=55653 --- Comment #21 from mata <sutupud@yahoo.com> --- (In reply to rens from comment #20)
I can assume
Linux has the lsb & lot of er standards agreed on
That says there will be a tar
Your Linux installer would not work, otherwise.
But apparently, you are new here.
Leave your arrogance at home.
Thank you.
Oh, come on, your install script just obviously damaged someones system by doing stupid thing and tried to blame it on the distribution's decisions wit shome snarky comment about that being a stupid decision. And my comment about `tar` was more about using non-POSIX options. Sure, a `tar` might be foud, but it might be busybox tar and not gnu tar. Also, looking at your install scripts, they have way more problems then that. For example, not using shebangs (does it work in just any shell?), not working from a user directory with spaces in its path, copious use of sudo in a script started by a systemd service (which, btw, is also not mandated by any standard), etc... So, you can try to claim some sort of seniority as long as you want. I don't care, and it doesn't matter. But unless you fix your stuff, I'd still advise anyone strongly against using it. And my main point still stands: Nobody should download and run random scripts from the internet as root. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=55653 --- Comment #22 from rens <rens.groenewegen@xs4all.nl> --- "Nobody should download and run random scripts from the internet as root." That's about the only thing that's agreed here. I describe precisely on it's page what it does. That it MIGHT work on tested distro's but no guarantees. And I advice ppl to NOT use it if thats too scary, as it needs root permissions. So all in all, its not very random. However, Your arrogance did not allow you to check if your statements had any base in reality. For the rest, presenting your opinion as fact does not make it fact. the only thing damaged here is your ego, apparently. dont worry. its a common problem for grandstanders like you. have a nice day.
Thank you.
Oh, come on, your install script just obviously damaged someones system by doing stupid thing and tried to blame it on the distribution's decisions wit shome snarky comment about that being a stupid decision.
And my comment about `tar` was more about using non-POSIX options. Sure, a `tar` might be foud, but it might be busybox tar and not gnu tar.
Also, looking at your install scripts, they have way more problems then that. For example, not using shebangs (does it work in just any shell?), not working from a user directory with spaces in its path, copious use of sudo in a script started by a systemd service (which, btw, is also not mandated by any standard), etc...
So, you can try to claim some sort of seniority as long as you want. I don't care, and it doesn't matter. But unless you fix your stuff, I'd still advise anyone strongly against using it.
And my main point still stands: Nobody should download and run random scripts from the internet as root.
-- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=55653 --- Comment #23 from Alexandre Julliard <julliard@winehq.org> --- Can both of you please drop this silly argument right now? We don't need more noise on this bug. -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=55653 mata <sutupud@yahoo.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC|sutupud@yahoo.com | -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
http://bugs.winehq.org/show_bug.cgi?id=55653 --- Comment #24 from Ray Culp <alias3.aerospace239@passinbox.com> --- (In reply to rens from comment #14)
Hi Thx for posting
What is a usrmerged Linux install?
I tested the install on side and Ubuntu, desktop version
No issues there.
Plz explain so I can try to fix it.
Best
Yes, I will explain as well as I can with my limited knowledge. :-) "usrmerge" is a change in the Linux filesystem that was proposed around 2012 and introduced gradually across different distros over the last ten years or so. Traditional directories like /bin, /sbin, and /lib were changed to symlinks pointing to /usr/bin, /usr/sbin and /usr/lib. For example, I think it only became the default on Ubuntu on 2019. If you copy or move a file to /sbin on a "usrmerged" system, it gets rerouted to /usr/sbin without any problems. The problem arises when you unpack an archive that contains the directory structure /sbin/somefile. Then the symlink /sbin is overwritten with an actual physical directory called /sbin. This destroys the symlink. When the system boots, it tries to run /sbin/init (which should point to /usr/sbin/init). But now it's gone. (In reply to rens from comment #15)
Not side, opens use which distro are you seeing this?
This is on Linux Mint 22.3, which is based on Ubuntu 24.04 LTS. (In reply to mata from comment #21)
Oh, come on, your install script just obviously damaged someones system by doing stupid thing
Don't blame rens please. It's not his fault. And he made a great utility that actually works. <3 I messed up my own computer because ultimately I decided to run the script, and I lacked the knowledge to see that it would overwrite the symlink. If I wanted my OS to take me by the hand, I would have bought an Apple. :-) -- Do not reply to this email, post in Bugzilla using the above URL to reply. You are receiving this mail because: You are watching all bug changes.
participants (2)
-
WineHQ Bugzilla -
WineHQ Bugzilla