Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Logitech Joystick doesn't work at all with Pioneer v2019-02-03 for Linux #4564

Open
gerrygk opened this Issue Mar 26, 2019 · 18 comments

Comments

Projects
None yet
3 participants
@gerrygk
Copy link

commented Mar 26, 2019

Hi everyone,

my Logitech Extreme 3D Pro Joystick doesn't work with the newest Pioneer (v2019-02-03 64-bit) for Linux (used OS: Mint 19.1 x64 + Cinnamon). No axes or buttons are being detected when trying to set them up. The joystick itself is working properly, as determined by checking it with the jstest-gtk tool.

Btw, it works good with the same 64-bit software version for Windows 7 x64.

Any ideas of what could be the cause?
Thx in advance & greetings

@impaktor

This comment has been minimized.

Copy link
Member

commented Mar 26, 2019

But it used to work on Pioneer's linux version?

@gerrygk

This comment has been minimized.

Copy link
Author

commented Mar 26, 2019

I unfortunately don't have any experience with older pioneer versions on Linux OS's. Could try such a version in the next time...

As far as I remember, the joystick always used to work on all Pioneer versions for Win7 x64 that I tested (at least the last few official ones...).

@Web-eWorks

This comment has been minimized.

Copy link
Contributor

commented Mar 26, 2019

If the joystick is not being detected, it might be an issue with SDL, as that's what Pioneer uses for all of the low-level joystick handling. What version of SDL does your system have installed?

@gerrygk

This comment has been minimized.

Copy link
Author

commented Mar 26, 2019

I tried v20180203 now with Linux, setting up the joystick works just as I remembered.

How do I check the SDL version?

@impaktor

This comment has been minimized.

Copy link
Member

commented Mar 26, 2019

How do I check the SDL version?

(For GNU/Linux) Check in yout package manager

@gerrygk

This comment has been minimized.

Copy link
Author

commented Mar 26, 2019

Using synaptic package mgr I get a whole bunch of libsdl entries

@gerrygk

This comment has been minimized.

Copy link
Author

commented Mar 26, 2019

Could you give me some more detailed information?

@gerrygk

This comment has been minimized.

Copy link
Author

commented Mar 26, 2019

After some research I now checked by using "dpkg -l | grep sdl".

The result is:

ii libsdl-image1.2:amd64 1.2.12-8 amd64 Image loading library for Simple DirectMedia Layer 1.2, libraries
ii libsdl-mixer1.2:amd64 1.2.12-14 amd64 Mixer library for Simple DirectMedia Layer 1.2, libraries
ii libsdl-net1.2:amd64 1.2.8-5 amd64 Network library for Simple DirectMedia Layer 1.2, libraries
ii libsdl1.2debian:amd64 1.2.15+dfsg2-0.1 amd64 Simple DirectMedia Layer
ii libsdl2-2.0-0:amd64 2.0.8+dfsg1-1ubuntu1.18.04.3 amd64 Simple DirectMedia Layer
ii libsdl2-image-2.0-0:amd64 2.0.3+dfsg1-1 amd64 Image loading library for Simple DirectMedia Layer 2, libraries
ii libsdl2-mixer-2.0-0:amd64 2.0.2+dfsg1-2 amd64 Mixer library for Simple DirectMedia Layer 2, libraries
ii libsdl2-net-2.0-0:amd64 2.0.1+dfsg1-3 amd64 Network library for Simple DirectMedia Layer 2, libraries
ii libsdl2-ttf-2.0-0:amd64 2.0.14+dfsg1-2 amd64 TrueType Font library for Simple DirectMedia Layer 2, libraries

@Web-eWorks

This comment has been minimized.

Copy link
Contributor

commented Mar 26, 2019

Hmm. I'm not aware of any regressions in SDL 2.0.8 that would be causing this issue. Could you take a look in your pioneer logfile for lines containing SDL_JoystickOpen and post the relevant lines if there are any?

It's also possible that your joystick isn't becoming visible to the program until after Pioneer has enumerated joysticks and set them up. I'm not sure why this would happen, and you would be seeing the same issue on the previous version if that were the case.

@gerrygk

This comment has been minimized.

Copy link
Author

commented Mar 27, 2019

Here's an extract from output.txt:

System Name: Linux
Host Name: 
Release(Kernel) Version: 4.15.0-46-generic
Kernel Build Timestamp: #49-Ubuntu SMP Wed Feb 6 09:33:07 UTC 2019
Machine Arch: x86_64
Domain Name: (none)



--------------------
SDL Version (build) 2.0.9
SDL Version (dynamic) 2.0.9
SDL Versions match
SDL_image Version (build): 2.0.4
SDL_image Version (dynamic): 2.0.4
SDL_image Versions match
Assimp Version: 4.1.0
FreeType Version: 2.9.1
GLEW dynamic version: 2.1.0
--------------------

Initialized OpenGL 3.1, with extensions, renderer
invalid axis binding 'disabled,Key107,Key105' in config file for BindAxisPitch
invalid axis binding 'Joy030000006d04000015c2000000000000/Axis0/DZ0.15/E1,Key117,Key111' in config file for BindAxisRoll
invalid axis binding 'Joy030000006d04000015c2000000000000/Axis2/DZ0.15/E1,Key106,Key108' in config file for BindAxisYaw

Moderator EDIT: code block, please / impaktor

@gerrygk

This comment has been minimized.

Copy link
Author

commented Mar 27, 2019

As one can see, with no SDL_JoystickOpen Lines, but JS axis binding doesn't work.

Also, I can't open the .pioneer/config.ini file with any editor.

Some further error reports in output.txt are:

import [libs/autoload.lua]: libs/autoload.lua did not return anything
import [ui/GalacticView.lua]: ui/GalacticView.lua did not return anything
import [ui/InfoView.lua]: ui/InfoView.lua did not return anything
import [ui/StationView.lua]: ui/StationView.lua did not return anything
nanosvg: /app/share/pioneer/data/icons/icons.svg 1024x1024
import [pigui/game.lua]: pigui/game.lua did not return anything
nanosvg: /app/share/pioneer/data/icons/logo.svg 512x512
import [pigui/init.lua]: pigui/init.lua did not return anything
import [pigui/mainmenu.lua]: pigui/mainmenu.lua did not return anything
import [modules/AIWarning/AIWarning.lua]: modules/AIWarning/AIWarning.lua did not return anything
import [modules/Advice/Advice.lua]: modules/Advice/Advice.lua did not return anything
import [modules/Assassination/Assassination.lua]: modules/Assassination/Assassination.lua did not return anything
import [modules/AutoSave/AutoSave.lua]: modules/AutoSave/AutoSave.lua did not return anything
import [modules/BreakdownServicing/BreakdownServicing.lua]: modules/BreakdownServicing/BreakdownServicing.lua did not return anything
import [modules/BulkShips.lua]: modules/BulkShips.lua did not return anything
import [modules/CargoRun/CargoRun.lua]: modules/CargoRun/CargoRun.lua did not return anything
import [modules/Combat/Combat.lua]: modules/Combat/Combat.lua did not return anything
import [modules/CrewContracts/CrewContracts.lua]: modules/CrewContracts/CrewContracts.lua did not return anything
import [modules/CrimeTracking/CrimeTracking.lua]: modules/CrimeTracking/CrimeTracking.lua did not return anything
import [modules/DeliverPackage/DeliverPackage.lua]: modules/DeliverPackage/DeliverPackage.lua did not return anything
import [modules/DonateToCranks/DonateToCranks.lua]: modules/DonateToCranks/DonateToCranks.lua did not return anything
import [modules/EasterEgg/Message.lua]: modules/EasterEgg/Message.lua did not return anything
import [modules/FuelClub/FuelClub.lua]: modules/FuelClub/FuelClub.lua did not return anything
import [modules/GoodsTrader/GoodsTrader.lua]: modules/GoodsTrader/GoodsTrader.lua did not return anything
import [modules/Mining.lua]: modules/Mining.lua did not return anything
import [modules/MusicPlayer.lua]: modules/MusicPlayer.lua did not return anything
import [modules/NewsEventCommodity/NewsEventCommodity.lua]: modules/NewsEventCommodity/NewsEventCommodity.lua did not return anything
import [modules/Pirates.lua]: modules/Pirates.lua did not return anything
import [modules/PolicePatrol/PolicePatrol.lua]: modules/PolicePatrol/PolicePatrol.lua did not return anything
import [modules/SearchRescue/SearchRescue.lua]: modules/SearchRescue/SearchRescue.lua did not return anything
import [modules/SecondHand/SecondHand.lua]: modules/SecondHand/SecondHand.lua did not return anything
import [modules/StationRefuelling/StationRefuelling.lua]: modules/StationRefuelling/StationRefuelling.lua did not return anything
import [modules/StatsTracking/StatsTracking.lua]: modules/StatsTracking/StatsTracking.lua did not return anything
import [modules/System/Explore.lua]: modules/System/Explore.lua did not return anything
import [modules/System/OutOfFuel.lua]: modules/System/OutOfFuel.lua did not return anything
import [modules/Taxi/Taxi.lua]: modules/Taxi/Taxi.lua did not return anything
import [modules/TradeShips.lua]: modules/TradeShips.lua did not return anything
@Web-eWorks

This comment has been minimized.

Copy link
Contributor

commented Apr 2, 2019

Hmm. I don't know what the issue is here.

@gerrygk those invalid axis errors appear to be coming from the older version of Pioneer; the code logging those errors isn't used for input bindings any more. Otherwise, there doesn't appear to be anything salient in the log.

@gerrygk

This comment has been minimized.

Copy link
Author

commented Apr 4, 2019

Ok. Must be from tested PSS v 20180203, sorry.

@gerrygk

This comment has been minimized.

Copy link
Author

commented Apr 4, 2019

Yes, I remember that all the files of the new version are being stored somewhere in .var in my home dir.

@gerrygk

This comment has been minimized.

Copy link
Author

commented Apr 4, 2019

Just checked .var/app/net.pioneerspacesim.Pioneer/.pioneer/output.txt.

Invalid axis bindings reports are the same...

@gerrygk

This comment has been minimized.

Copy link
Author

commented Apr 4, 2019

invalid axis binding 'disabled,Key107,Key105' in config file for BindAxisPitch
invalid axis binding 'Joy030000006d04000015c2000000000000/Axis0/DZ0.15/E1,Key117,Key111' in config file for BindAxisRoll
invalid axis binding 'Joy030000006d04000015c2000000000000/Axis2/DZ0.15/E1,Key106,Key108' in config file for BindAxisYaw

@Web-eWorks

This comment has been minimized.

Copy link
Contributor

commented Apr 4, 2019

@gerrygk those errors are thrown by the legacy input system trying to read the config entries for the new input system's bindings.

The legacy system is no longer used except in a very small handful of cases where it's simpler to rewrite the entire screen than convert it to the new input system. The code responsible for binding joysticks all uses the new input system code, so you can safely disregard those errors.

I don't have the time right now, but when I do, I'll sit down and implement some better logging and error checking for input detection.

@impaktor

This comment has been minimized.

Copy link
Member

commented Apr 16, 2019

So we have error messages that are for a system that's not in use?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
You can’t perform that action at this time.