Search Unity

New Input System not receiving joystick input on Linux

Discussion in 'Input System' started by wolfybytes, Aug 7, 2019.

  1. wolfybytes

    wolfybytes

    Joined:
    Aug 22, 2014
    Posts:
    13
    It looks like joystick support for Linux was added in the 0.2.6-preview. I'm currently using the 0.2.10 preview and when I make builds to Linux, the keyboard inputs work but the joystick inputs do not.

    Any idea what the issue could be?
     
  2. Rene-Damm

    Rene-Damm

    Joined:
    Sep 15, 2012
    Posts:
    1,779
    Investigating. We had a platform QA pass recently that uncovered a number of issues. Finding out whether this was one of them.
     
    wolfybytes likes this.
  3. wolfybytes

    wolfybytes

    Joined:
    Aug 22, 2014
    Posts:
    13
    Any further progress on this issue?
     
  4. Rene-Damm

    Rene-Damm

    Joined:
    Sep 15, 2012
    Posts:
    1,779
    Unfortunately not yet. On some platforms, we sometimes have a bit of roundtrip time on tests. Should know more very soon.

    BTW one thing, could you check what you're seeing in the input debugger (Window >> Analysis >> Input Debugger) in the editor with the joystick plugged in? Is the joystick appearing under "Devices > Unsupported"? Also, which joystick are you using?
     
    wolfybytes likes this.
  5. wolfybytes

    wolfybytes

    Joined:
    Aug 22, 2014
    Posts:
    13
    Thanks for the quick reply Rene-Damm. I'm developing on a Windows machine and the windows machine is running the joystick just fine. I'm able to create builds for Windows and run them with a controller. It's when I try to export a Linux build and run it on our target machine that things stop working.

    The joystick is a HID controller and the Input System was able to read and use it very easily.
     

    Attached Files:

  6. wolfybytes

    wolfybytes

    Joined:
    Aug 22, 2014
    Posts:
    13
    Hey Rene-Damm, I've updated to 9.4 and this makes Linux builds crash though Windows builds seem to work fine.

    Updating to 9.5 cleared my input actions so all of my action maps are blank. Each time I clicked to add a new Action to an Action map it would create a new Action map instead.

    Any further progress or ETA on Linux support with the Input System? Thanks!
     
  7. Rene-Damm

    Rene-Damm

    Joined:
    Sep 15, 2012
    Posts:
    1,779
    Ouch. Do you happen to still have the .inputactions file that this happens with? Would love to take a look and see if I can repro.

    I recently fixed an issue in the Linux joystick code that would have rendered joysticks non-functional on Linux. There's a QA pass coming up which will hopefully go over this part.

    Sorry that this is slow coming.
     
  8. wolfybytes

    wolfybytes

    Joined:
    Aug 22, 2014
    Posts:
    13
    I downgraded back to 9.4 and it works fine, but I'll include the .inputactions file so you can give it a look.

    Thank you so much for a heads up on that update. Looking forward to getting things up and running on my end.
     

    Attached Files:

  9. wolfybytes

    wolfybytes

    Joined:
    Aug 22, 2014
    Posts:
    13
    Any news on Linux support? Still having issues with this joystick on Linux in preview-1.0
     
  10. Rene-Damm

    Rene-Damm

    Joined:
    Sep 15, 2012
    Posts:
    1,779
    We recently gave it a check and Linux joystick support (at least the hardware we tried) was working for us. So, should be looking good.

    If with 1.0-preview, you find that there's still joysticks on Linux that aren't recognized or aren't recognized correctly, please file a bug with the Unity bug reporter and we'll have a look.
     
  11. wolfybytes

    wolfybytes

    Joined:
    Aug 22, 2014
    Posts:
    13
    Thanks Rene-Damm. Just sent in a bug report.
     
  12. Kerosini

    Kerosini

    Joined:
    Aug 16, 2014
    Posts:
    13
    Hi,

    I have curently the same problem, that wolfybytes reported here a year ago. I develop and test on windows and every thing works fine. On Linux my whole box of gamecontrollers are not working (xbox 360 controller and wireles SNES-USB-Remakes). Inputsystem is v 1.0.1. The Devices are working on Ubuntu 18.04 fine. In my Unity-gameproject there are not listed on InputSystem.devices and InputSystem.GetUnsupportedDevices().
    Is there a workaround yet?
     
  13. chilon

    chilon

    Joined:
    Feb 10, 2019
    Posts:
    9
    EDIT: I eventually narrowed this down to a problem with auto-switching between control schemes. When I changed the "devices" list from a list of many different specific gamepads to the generic "Gamepad" option, it started working fine. I think there is a bug with this feature on Linux, but at least it works now.

    I'm using Unity Editor 2021.1.15f1 on Linux with version 1.0.2 of the input system, which I believe is the latest version. Keyboard works fine. I assigned the gamepad controls by using the "Listen" button in the Input Actions window, then pressing the respective button on the gamepad. This correctly populated the Binding Path so Unity is obviously capable of understanding my gamepad. When I click "Open Input Debugger" I see the state updating properly.

    However the gamepad doesn't work at all when I run my game through the debugger or produce a build of my game.

    In the "Input Debugger" my gamepad shows up under "Devices > Gamepad". When I click "Gamepad" then I see the inputs under "Controls (Editor State)" updating in real time to reflect which buttons are being pressed on my gaepad. When I hold down some buttons, then click "State" (the button to the right of the "Controls (Editor State)" title) and then the state for "Player (Current)" always shows empty controls. If I go to "Editor (Current)" then the "State" shows the state of buttons that were held down when I opened the "state" window (future presses don't change anything).

    I guess the New Input System is a "no go" on Linux? Such a shame, I just finished porting all my code to it :(

    I'm using a standard Xbox 360 pad here.
     
    Last edited: Jul 31, 2021