Recalbox Forum

    • Register
    • Login
    • Search
    • Recent
    • Tags
    • recalbox.com
    • Gitlab repository
    • Documentation
    • Discord

    Problems while building my arcade with - DragonRise Inc. Generic USB Joystick

    GamePad/GPIO/USB encoder
    while building arcade dragonrise inc
    5
    25
    22761
    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.
    • Dragu
      Dragu Banned last edited by Dragu

      I had no problems with 2 dragonrise, for the configuration I just connect my buttons 1,2,3,4 and so on. Same way for both encoder. It seems that retroarch choose by itself player 1 and 2, so possible inverted USB connections. They should be Number 1 and 2 on the raspberry, they are the 2 middle USB connectors on the board.
      Impossible to map Player 2 buttons as additional buttons to Player 1. In Dosbox it is possible and necessary.
      I also tried to use an additional control (PS3 + Wlan-Stick) together with dragonrise Player 1. Retroarch ignore and continues just without PS3.
      But perhaps newer versions have other behavior.

      1 Reply Last reply Reply Quote 0
      • Dragu
        Dragu Banned last edited by Dragu

        @Substring
        I must come back to this because I have with my 2 Dragonrise now the same issue in Retroarch.
        When I look into Settings - Input - Input User 2Binds - User 2 Device Index he show me same as for User 1 : Dragonrise Generic USB Joystick (#0) and no #1, even as in emulation station and in retroarchcustom.cfg they are both defined.
        Anyway in Dos everything work fine, but just first controller usable in Retroarch.

        joypad_autoconfig_dir = "~/configs/retroarch/inputs/"
        input_joypad_driver = "udev"
        input_player1_analog_dpad_mode = "0"
        input_player2_analog_dpad_mode = "0"
        input_enable_hotkey_btn = "8"
        input_enable_hotkey = "escape"
        menu_swap_ok_cancel_buttons = "true"
        input_player1_left_axis = "-0"
        input_state_slot_increase_axis = "-3"
        input_player1_down_axis = "+3"
        input_rewind_axis = "-0"
        input_player1_r_btn = "5"
        input_state_slot_decrease_axis = "+3"
        input_player1_select_btn = "10"
        input_player1_start_btn = "9"
        input_player1_y_btn = "0"
        input_screenshot_btn = "2"
        input_player1_right_axis = "+0"
        input_player1_a_btn = "4"
        input_player1_l_btn = "2"
        input_player1_x_btn = "1"
        input_load_state_btn = "1"
        input_save_state_btn = "0"
        input_reset_btn = "4"
        input_hold_fast_forward_axis = "+0"
        input_player1_up_axis = "-3"
        input_exit_emulator_btn = "9"
        input_player1_b_btn = "3"
        input_menu_toggle_btn = "3"
        input_player1_joypad_index = "0"
        input_player2_r_btn = "5"
        input_player2_a_btn = "4"
        input_player2_right_axis = "+0"
        input_player2_start_btn = "9"
        input_player2_up_axis = "-3"
        input_player2_y_btn = "0"
        input_player2_select_btn = "10"
        input_player2_l_btn = "2"
        input_player2_b_btn = "3"
        input_player2_left_axis = "-0"
        input_player2_down_axis = "+3"
        input_player2_x_btn = "1"
        input_player2_joypad_index = "1"
        video_scale_integer = "false"
        input_libretro_device_p2 = "1"
        fps_show = "false"
        input_libretro_device_p1 = "1"
        

        In the Libreto Github they write :

        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.

        input_driver = "udev"
        input_vendor_id = 121
        input_product_id = 6
        input_device = "DragonRise Inc. Generic USB Joystick "
        input_device_display_name = "DragonRise generic DualShock gamepad"

        Substring 1 Reply Last reply Reply Quote 0
        • Substring
          Substring @Dragu last edited by

          @dragu still have my 4.9 pi3 kernel.image ? 😉

          Former dev - Please reply with @substring so that i am notified when you answer me
          Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

          1 Reply Last reply Reply Quote 0
          • Dragu
            Dragu Banned last edited by

            @Substring
            Cela me semble un problème pur de Retroarch ou de la version. Retroarch semble incapable de mapper des devices physiques à des joueurs distincts. Dans des jeux comme Mario World on peut utiliser le controleur sélectionné, mais pas le choisir, comme Retroarch le regarde comme seul et unique. Résultat : Il faut éventuellement changer les fiches USB, un joueur seul devra toujours jouer la même console, on oublit les tables de salon multiplace, et de même un controlleur supplémentaire sans fil pour le joueur 1. Tout cela un petit peu programmé avec les pieds et la bouche.

            1 Reply Last reply Reply Quote 0
            • Dragu
              Dragu Banned last edited by Dragu

              @Substring
              This issue from Retroarch that it is unable to distinct 2 joysticks with the same name, basing just on udev, and that this error is from 2014 on, now 4 years, is somewhere a failure and for me difficult to stand even for a licence free software. As so many people has the problem, in Lakka, in Retropie, in Recalbox and other.
              Is there still something happening with Retroarch, or they switched off the light ?

              Substring 1 Reply Last reply Reply Quote 0
              • Substring
                Substring @Dragu last edited by

                @dragu retroarch does constantly move, indeed. They released 1.7.1 a few days ago. I have no idea if your bug has been submitted, but that would mean that people owning 2 ps3 pads would face the same problem ...

                Have you tried the sdl2 input driver ?

                Former dev - Please reply with @substring so that i am notified when you answer me
                Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

                1 Reply Last reply Reply Quote 0
                • Dragu
                  Dragu Banned last edited by Dragu

                  @Substring
                  I also messed around with sdl2, nothing changed. So this seems always a problem when you have 2 wired clone controllers. In game, the cores use both, but in Retroarch you cannot change the user assignement. As example very strange behavior in the Retroarch Menu interface.
                  Settings --> Input --> User 1 Bind --> User 1 Device Index. In my case you can circle the options between : Dragonrise #0, Port #2, Port #3, Port #4, Disabled.
                  You have seen that Port #1 is missing, so he just on USB ports, ignoring your nice ES, this from Retropie and Lakka.
                  But worse, if you circle second time on Dragonrise #0, he pass the handle to your second controller and you must now continu in the Retroarch Menu with User 2.
                  Nice Bulls**t. 😉

                  1 Reply Last reply Reply Quote 0
                  • Dragu
                    Dragu Banned last edited by Dragu

                    @Substring

                    I found something interesting with dmesg :

                    login as: root
                    root@Recalbox's password:
                    #
                    # dmesg | grep DragonRise
                    [    1.923431] usb 1-1.2: Manufacturer: DragonRise Inc.
                    [    2.123462] usb 1-1.3: Manufacturer: DragonRise Inc.
                    [    2.613596] input: DragonRise Inc.   Generic   USB  Joystick   as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.2/1-1.2:1.0/0003:0079:0006.0001/input/input0
                    [    2.613853] dragonrise 0003:0079:0006.0001: input,hidraw0: USB HID v1.10 Joystick [DragonRise Inc.   Generic   USB  Joystick  ] on usb-3f980000.usb-1.2/input0
                    [    2.615054] input: DragonRise Inc.   Generic   USB  Joystick   as /devices/platform/soc/3f980000.usb/usb1/1-1/1-1.3/1-1.3:1.0/0003:0079:0006.0002/input/input1
                    [    2.615295] dragonrise 0003:0079:0006.0002: input,hidraw1: USB HID v1.10 Joystick [DragonRise Inc.   Generic   USB  Joystick  ] on usb-3f980000.usb-1.3/input0
                    #
                    
                    

                    Is there an error in the last line and position, should it not be input 1 instead of input 0 ?

                    Substring 1 Reply Last reply Reply Quote 0
                    • Substring
                      Substring @Dragu last edited by Substring

                      @dragu should compare with 2 xinmos. I believe it's normal when a controller handles a single player

                      As long as they are mapped on separate /dev/input/eventX

                      Former dev - Please reply with @substring so that i am notified when you answer me
                      Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

                      1 Reply Last reply Reply Quote 0
                      • Dragu
                        Dragu Banned last edited by

                        @Substring
                        I totaly agree with you that 1 controller handles a single player. But here he just forget controller #1. So I think that you should be able to map controller #0 to all possible players, with controller #1 (not existing) should be the same.
                        If I now define in Retroarch Menu, that Player 1 is not existing, after this he map the controller #0 to Player 2, also in game.

                        Substring 1 Reply Last reply Reply Quote 0
                        • Substring
                          Substring @Dragu last edited by

                          @dragu do your encoders respond on separate events when you try evtest ?

                          Former dev - Please reply with @substring so that i am notified when you answer me
                          Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

                          1 Reply Last reply Reply Quote 0
                          • Dragu
                            Dragu Banned last edited by

                            @Substring
                            Absolutely

                            # evtest
                            No device specified, trying to scan all of /dev/input/event*
                            Available devices:
                            /dev/input/event0:      DragonRise Inc.   Generic   USB  Joystick
                            /dev/input/event1:      DragonRise Inc.   Generic   USB  Joystick
                            /dev/input/event2:      1byone Keyboard
                            Select the device event number [0-2]:
                            

                            and he even dont forget my keyboard 😉

                            Substring 1 Reply Last reply Reply Quote 0
                            • Substring
                              Substring @Dragu last edited by

                              @dragu so it's a pure ra problem

                              Former dev - Please reply with @substring so that i am notified when you answer me
                              Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

                              1 Reply Last reply Reply Quote 0
                              • Dragu
                                Dragu Banned last edited by

                                @Substring
                                Small chance that they resolve with newer version. 😉

                                Substring 1 Reply Last reply Reply Quote 0
                                • Substring
                                  Substring @Dragu last edited by

                                  @dragu have you checked their github to see if an issue points at your problem ?

                                  Former dev - Please reply with @substring so that i am notified when you answer me
                                  Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

                                  1 Reply Last reply Reply Quote 0
                                  • Dragu
                                    Dragu Banned last edited by

                                    @Substring
                                    Not yet deep inside. Just find traces everywhere. So I will collect. We have 1.6.9 so that's important also.

                                    Substring 1 Reply Last reply Reply Quote 0
                                    • Substring
                                      Substring @Dragu last edited by

                                      @dragu they won't bother with a not up to date RA ...

                                      Former dev - Please reply with @substring so that i am notified when you answer me
                                      Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

                                      1 Reply Last reply Reply Quote 0
                                      • Dragu
                                        Dragu Banned last edited by Dragu

                                        @Substring
                                        Perhaps, but the time that this story is trailing over the versions...
                                        Discussion in Retropie : https://github.com/RetroPie/RetroPie-Setup/issues/1798
                                        (The USB Socket toggeling remember Bells phone time with a lot of young ladies and electric plugs 😄 )
                                        and in the Retroarch Github I found the following about controllers :
                                        https://github.com/libretro/retroarch-joypad-autoconfig/tree/master/udev

                                        What I cannot find in our version is the definition : input_device_display_name,
                                        this is perhaps a possibility to distinct the twins ?

                                        1 Reply Last reply Reply Quote 0
                                        • Dragu
                                          Dragu Banned last edited by

                                          @Substring
                                          May be one solution, if not resolved in new version to add usb port number in udev rules ? Like this you would have different device names.

                                          Substring 1 Reply Last reply Reply Quote 0
                                          • Substring
                                            Substring @Dragu last edited by

                                            @dragu what a pain

                                            Former dev - Please reply with @substring so that i am notified when you answer me
                                            Ex dev - Merci de me répondre en utilisant @substring pour que je sois notifé

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

                                            Want to support us ?

                                            88
                                            Online

                                            99.6k
                                            Users

                                            28.1k
                                            Topics

                                            187.1k
                                            Posts

                                            Copyright © 2021 recalbox.com