The latest version (v1.478) can not find usb controller
#3
I looked at the ‚enhancements‘ of the Unity3D v5.6 game engine libraries and there they have listed this:
- Linux: Switched window management and input handling from X11 to SDL2 on Linux.
I think, that is our problem. I think, your system should support SDL2 also for the input controller.
Helps this?
Hi,
I'm having the same problem.
After i changed my package and installed update 1.481, the controller wasn't recognized anymore.
I tried to see if there is a problem with SDL2 and joystick stuff, but couldn't see any problems as sdl2-jstest worked like a charm.
Also the jstest tools for native joystick support works.
The problem is, that i can't find a previous version (Say, 1.473) for download to downgrade for the time being. I'm stuck without a working sim now :(
Setup:
- Distro, Arch linux (up to date)
- SDL2 joystick test tool (aur/sdl2-jstest-git) or https://github.com/Grumbel/sdl-jstest
- Package aur/next
- 4in1 USB dongle (tried modes: XTR, G4/G5, Aerofly)
- RangeX FX801 RX
- Futaba T14SG TX
How can we troubleshoot this any further?
Maybe some more logging could help.
Thanks
#5
Hi,
please excuse me for this trouble.
I have just uploaded a new beta with player log enabled.
http://www.cgm-online.com/rc-heli-simula...nload-beta.html
All the best,
Klaus
Hello Klaus,
Thanks for your fast response.
Zitat
please excuse me for this trouble.
Sure!! But i do hope we can get this fixed.
Zitat
I have just uploaded a new beta with player log enabled.
Ah great!
I downloaded the beta very early this morning to do a quick test before going to sleep ;)
See attached Player.log file, i can't find anything regarding the absence of SDL2 controllers or something.
With previous versions when starting neXt.x86_64 in the terminal i got messages like these (example when starting a game using unity)
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
Running TIS-100
Set current directory to /home/remspoor/TIS-100/game
Found path: /home/remspoor/TIS-100/game/tis100.x86_64
Mono path[0] = '/home/remspoor/TIS-100/game/tis100_Data/Managed'
Mono path[1] = '/home/remspoor/TIS-100/game/tis100_Data/Mono'
Mono config path = '/home/remspoor/TIS-100/game/tis100_Data/Mono/etc'
displaymanager : xrandr version warning. 1.5
client has 2 screens
displaymanager screen (0)(DVI-I-1): 1920 x 1200
Using libudev for joystick management
Importing game controller configs
/dev/input/js0: driver version: 2.1.0 (20100)
/dev/input/js0: fd 3, buttons 5, axes 6, name PengFei Model PengFei Simulator - G4.5+G5+G5.5+G6 Controller
/dev/input/js0: axis 0: raw 0, mapped 0.000000
/dev/input/js0: axis 1: raw 0, mapped 0.000000
/dev/input/js0: axis 2: raw 0, mapped 0.000000
/dev/input/js0: axis 3: raw 27025, mapped 0.000000
/dev/input/js0: axis 4: raw 0, mapped 0.000000
/dev/input/js0: axis 5: raw -32767, mapped 0.000000
Assigning joystick 1
When starting the downloaded beta, i'm missing the joystick stuff
2
3
4
5
6
7
8
9
10
11
12
13
14
Set current directory to /tmp/i/Linux x86+64bit
Found path: /tmp/i/Linux x86+64bit/neXt.x86_64
Mono path[0] = '/tmp/i/Linux x86+64bit/neXt_Data/Managed'
Mono path[1] = '/tmp/i/Linux x86+64bit/neXt_Data/Mono'
Mono config path = '/tmp/i/Linux x86+64bit/neXt_Data/Mono/etc'
PlayerConnection initialized from /tmp/i/Linux x86+64bit/neXt_Data (debug = 0)
PlayerConnection initialized network socket : 0.0.0.0 55480
Multi-casting "[IP] 192.168.1.1 [Port] 55480 [Flags] 2 [Guid] 460442223 [EditorId] 2725718842 [Version] 1048832 [Id] LinuxPlayer(192.168.1.1) [Debug] 0" to [225.0.0.222:54997]...
Started listening to [0.0.0.0:55480]
Preloaded 'ScreenSelector.so'
Unable to preload the following plugins:
ScreenSelector.so
PlayerConnection already initialized - listening to [0.0.0.0:55480]
Player data archive not found at `/tmp/i/Linux x86+64bit/neXt_Data/data.unity3d`, using local filesystem
I have already tried to find something on this subject, but no go...
Any idea??
Greetz,
Remspoor
EDIT:
I can't download the attachment, so here is the error i get when clicking 'Input Device Calibration -> Start Calibration -> Transmitter'
2
3
4
5
IndexOutOfRangeException: Array index is out of range.
at CalibrateInputDevice.CalibrationStep () [0x000cf] in /Users/klaus/Documents/Projekte/Unity-Projekte/CGM rc Heli Simulator/Assets/C Scripts/CalibrateInputDevice.cs:448
at CalibrateInputDevice.OnGUI () [0x00274] in /Users/klaus/Documents/Projekte/Unity-Projekte/CGM rc Heli Simulator/Assets/C Scripts/CalibrateInputDevice.cs:180
(Filename: /Users/klaus/Documents/Projekte/Unity-Projekte/CGM rc Heli Simulator/Assets/C Scripts/CalibrateInputDevice.cs Line: 448)
- Player.log.txt
No rights to view attachments. Only file names are shown. Register now!
#7
Hello Remspoor,
In that line I use 'Input.GetJoystickNames()[0]' without asking if the array is empty or not. I have fixed that. Of course, it doesn't make any sense to calibrate an joystick without connecting one.
The Unity3D game engine doesn’t recognise any input devices since they have updated their libraries. I still hope they release an fix for this.
All the best,
Klaus
#9
Hi Remspoor,
I don't know if neXt is running at Linux at the moment.
I have just set up a testing environment for this problem.
Please start the test program on your Linux system and try out if the transmitter is not visible. Only the first input channel is shown there. This version takes the first channel of all connected joysticks, if there are more than one. If needed, you can assign it in the start menu.
http://www.cgm-online.com/secure_rc-heli...cktestlinux.zip
I have to file a bug to Unity3D if this is also not working and hope they will fix this quickly. In my opinion, this is an essential show stopper bug for all unity Linux games.
If you like, you can take a look at the test project in Unity3D (runs only on Windows and OSX). You can click onto the script and there you see, that I simply take the value from a variable. I cannot do anything wrong there.
http://www.cgm-online.com/secure_rc-heli...testproject.zip
I have found this tread in the Unity3D forum: https://forum.unity3d.com/threads/no-joy...etected.475870/
All the best,
Klaus
#10
Hi,
we noticed that a normal USB controller like a 'USB Logitech Rumbled 2' is working in neXt. So... where is the difference? Is there anything to do in the Linux system settings to enable the RX2SIM as SDL2 input device?
All the best,
Klaus
#12
Hi Klaus,
Thanks very much for the effort jou are putting into this.
After a quick test with your program, i can say that it is not working.
Concerning the really fresh thread you found. ;)
What i did:
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
remspoor@willy ~ $ sdl2-jstest -l
Found 1 joystick(s)
Joystick Name: 'PengFei Model PengFei Simulator - G4.5+G5+G5.5+G6 Controller'
Joystick GUID: 0300000081170000560e000011010000
Joystick Number: 0
Number of Axes: 6
Number of Buttons: 5
Number of Hats: 0
Number of Balls: 0
GameController:
not a gamepad
remspoor@willy ~ $ SDL_GAMECONTROLLERCONFIG=" 0300000081170000560e000011010000,PengFei Model PengFei Simulator - G4.5+G5+G5.5+G6 Controller,a:b0,b:b1,back:b8,dpdown:h0.4,dpleft:h0.8,dpright:h0.2,dpup:h0.1,guide:,leftshoulder:b4,leftstick:b10,lefttrigger:b6,leftx:a0,lefty:a1,rightshoulder:b5,rightstick:b11,righttrigger:b7,rightx:a2,righty:a3,start:b9,x:b2,y:b3,"
remspoor@willy ~ $ /tmp/JoystickTestLinux $ ./JoystickTest.x86_64
Your test program with a quick setting of SDL_GAMECONTROLLERCONFIG in the same terminal as where starting ./JoystickTest.x86_64 didn't work as well.
So, i still need to make some time to go through the complete thread, because i'm not sure how important it is tho have the other parameters configured the right way.
But the thread is indeed describing the problem we have.
Thanks very much so far,
Remspoor
Hi,
Some good news!
I got neXt working. only thing is, how the configuration needs to be integrated on a linux system.
Side note: i'm using Arch linux so instructions will differ for other distributions.
Steps to get neXt working:
Prepare, if using a TX, the TX to have all aux channels mapped to switches.. This makes it easier to select the channels in controllermap.
Install the tool 'controllermap' and run it.
Bang some sticks and the programed switches.
The output looks like this:
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
remspoor@willy ~ $ controllermap 0
INFO: There are 1 joysticks attached
INFO: Joystick 0: PengFei Model PengFei Simulator - G4.5+G5+G5.5+G6 Controller
INFO: axes: 6
INFO: balls: 0
INFO: hats: 0
INFO: buttons: 5
INFO: instance id: 0
INFO: guid: 0300000081170000560e000011010000
INFO: Watching joystick 0: (PengFei Model PengFei Simulator - G4.5+G5+G5.5+G6 Controller)
INFO: Joystick has 6 axes, 0 hats, 0 balls, and 5 buttons
INFO:
====================================================================================
Press the buttons on your controller when indicated
(Your controller may look different than the picture)
If you want to correct a mistake, press backspace or the back button on your device
To skip a button, press SPACE or click/touch the screen
To exit, press ESC
====================================================================================
INFO: Mapping:
0300000081170000560e000011010000,PengFei Model PengFei Simulator - G4.5+G5+G5.5+G6 Controller,platform:Linux,x:b0,a:a2,b:b4,x:b0,a:b1,b:b3,b:b4,lefttrigger:a2,leftstick:a3,leftstick:a3,leftstick:a3,leftstick:a3,leftstick:a3,leftstick:a3,leftstick:a3,leftstick:a3,leftstick:a3,rightstick:a0,leftstick:a4,rightstick:a1,leftx:a0,lefty:a3,rightstick:a1,leftx:a4,lefty:a3,rightx:a0,rightstick:a1,leftx:a4,lefty:a3,rightx:a0,
0300000081170000560e000011010000,PengFei Model PengFei Simulator - G4.5+G5+G5.5+G6 Controller,platform:Linux,x:b0,a:a2,b:b4,x:b0,a:b1,b:b3,b:b4,lefttrigger:a2,leftstick:a3,leftstick:a3,leftstick:a3,leftstick:a3,leftstick:a3,leftstick:a3,leftstick:a3,leftstick:a3,leftstick:a3,rightstick:a0,leftstick:a4,rightstick:a1,leftx:a0,lefty:a3,rightstick:a1,leftx:a4,lefty:a3,rightx:a0,rightstick:a1,leftx:a4,lefty:a3,rightx:a0,
I found it strange that there seem to be duplicate configuration items, so i hope i did the right thing by cleaning it up to become this:
export SDL_GAMECONTROLLERCONFIG="0300000081170000560e000011010000,PengFei Model PengFei Simulator - G4.5+G5+G5.5+G6 Controller,platform:Linux,x:b0,a:a2,b:b4,x:b0,a:b1,b:b3,b:b4,lefttrigger:a2,leftstick:a3,leftstick:a4,rightstick:a0,rightstick:a1,leftx:a4,lefty:a3,rightx:a0,righty:a1,"
That environment variable needs to be known before neXt is started. So for the time being, i put the line from above in '~/.bashrc' and start neXt from the terminal.
Deadzone:
The controller works, but i had a huge deadzone.
To get rid of the deadzone, i needed to install package 'linuxconsole' to have the tool 'evdev-joystick'. Run it and you get something like this:
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
remspoor@willy ~ $ evdev-joystick --evdev /dev/input/by-id/usb-*-event-joystick --deadzone 0
Event device file: /dev/input/by-id/usb-PengFei_Model_PengFei_Simulator_-_G4.5+G5+G5.5+G6_Controller-event-joystick
New dead zone value: 0
Trying to set all axes deadzone to: 0
Absolute axis 0x00 (0) (X Axis) Setting deadzone value to : 0
(value: 130, min: 0, max: 255, flatness: 0 (=0.00%), fuzz: 0)
Absolute axis 0x01 (1) (Y Axis) Setting deadzone value to : 0
(value: 130, min: 0, max: 255, flatness: 0 (=0.00%), fuzz: 0)
Absolute axis 0x02 (2) (Z Axis) Setting deadzone value to : 0
(value: 53, min: 0, max: 255, flatness: 0 (=0.00%), fuzz: 0)
Absolute axis 0x03 (3) (X Rate Axis) Setting deadzone value to : 0
(value: 126, min: 0, max: 255, flatness: 0 (=0.00%), fuzz: 0)
Absolute axis 0x04 (4) (Y Rate Axis) Setting deadzone value to : 0
(value: 131, min: 0, max: 255, flatness: 0 (=0.00%), fuzz: 0)
Absolute axis 0x28 (40) (Miscellaneous) Setting deadzone value to : 0
(value: 0, min: 0, max: 255, flatness: 0 (=0.00%), fuzz: 0)
Tadaaa, a working neXt again ;)
What i still need to investigate, but gets low prio, is:
How to make the SDL_GAMECONTROLLERCONFIG variable global, looks like it can be placed in '/etc/environment' (in Ubuntu as well).
Can a file with the configuration for controllers be placed in the neXt directory.
How to get rid of the deadzone as a permanent configuration.
Hope this helps at least someone.
Me happily simming again,
Remspoor
- neXt - CGM RC Flight Simulator - English
- News: neXt - CGM RC Flight Simulator
- FAQ
- Feature Suggestions
- Model Setups
- neXt - CGM RC Flight Simulator - Deutsch
- Neuigkeiten: neXt - CGM RC Flight Simulator
- Fragen und Antworten zum neXt
- Gewünschte Funktionen
- Modell Setups
- Verschiedenes
- Marktplatz: Kaufen und Verkaufen
- Align
- FBL-Systeme
- Blade
- Advertising
Related topics
Register now!
Sign up now!