RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login

    DragonRise USB Driver Issue

    Scheduled Pinned Locked Moved Ideas and Development
    dragonriseusb controllerdriversinput device
    3 Posts 1 Posters 6.4k Views
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • D
      DancingPigeon
      last edited by

      The generic DragonRise based N64 controllers that you get off of ebay appear to have an issue with how their axes work. Currently they register Joystick movements in jstest in a really odd manner:

      DPAD-L: Axis -0
      DPAD-R: Axis +0
      DPAD-U: Axis -3
      DPAD-D: Axis +3

      Joystick-L: Axis -2 (Axis -0 Binary)
      Joystick-R: Axis +2 (Axis 0 Binary)
      Joystick-U: Axis -3 Binary
      Joystick-D: Axis +3 Binary

      As you can see, the driver is currently interpreting Joystick X movement as both Axis 0 and 3, with 3 displaying the analog data, and 0 replicating the same input data but in binary form i.e. either fully press or no press. Unfortunately the Joystick Y movement is completely broken and only interprets binary Y movement and has no analog data at all. Reportedly this problem does not exist in Windows, although I am experiencing it on mac using both Joystick and Gamepad Tester and Controllers Lite (can't confirm the duplication, can confirm the input Axis being used), and haven;t been able to confirm.

      My question is- is this a driver issue, or is there something physically wrong with these controllers? I have two and both operate in a similar manner.

      1 Reply Last reply Reply Quote 0
      • D
        DancingPigeon
        last edited by

        Also to note:

        https://github.com/libretro/retroarch-joypad-autoconfig/blob/master/udev/DragonRise_Inc._Generic___USB__Joystick.cfg

        Note that the linux kernel driver for this controller was broken from
        kernel 4.4 until 4.9. With the broken driver the joystick axes
        numbers will be off. This can be fixed by reverting commit
        18339f59c3a6698ee17d32970c9e1e450b16e7c3 and rebuilding hid-dr.ko.

        I'm going to pull one apart tomorrow and see if I can see how the buttons are soldered. I haven't looked into which version of the linux kernel RetroPie currently uses- is it between 4.4 and 4.9?

        1 Reply Last reply Reply Quote 0
        • D
          DancingPigeon
          last edited by

          The fix has now been applied:

          https://github.com/raspberrypi/linux/issues/1755

          1 Reply Last reply Reply Quote 0
          • First post
            Last post

          Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.

          Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.