RetroPie forum home
    • Recent
    • Tags
    • Popular
    • Home
    • Docs
    • Register
    • Login
    Please do not post a support request without first reading and following the advice in https://retropie.org.uk/forum/topic/3/read-this-first

    Juyao Dual Arcade 2 player on Ubuntu

    Scheduled Pinned Locked Moved Help and Support
    juyao2 playerubuntu
    30 Posts 3 Posters 5.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.
    • mituM
      mitu Global Moderator @Dennis
      last edited by

      Ok, so this looks according to the docs about this controller:

      I: Bus=0003 Vendor=0314 Product=0328 Version=0110
      N: Name="D_R_M JUYAO Dual Arcade"
      P: Phys=usb-0000:00:14.0-1/input0
      S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb2/2-1/2-1:1.0/0003:0314:0328.000E/input/input26
      U: Uniq=
      H: Handlers=event4 js1
      B: PROP=0
      B: EV=1b
      B: KEY=3fff000000000000 0 0 0 0
      B: ABS=30027
      B: MSC=10

      If you run cat /etc/modprobe.d/rp-usbhid-quirks.conf (assuming this is the module options file you created with nano), what's the output ?

      D 1 Reply Last reply Reply Quote 0
      • D
        Dennis @mitu
        last edited by Dennis

        @mitu said in Juyao Dual Arcade 2 player on Ubuntu:

        cat /etc/modprobe.d/rp-usbhid-quirks.conf

        options usbhid quirks=0x0314:0x0328:0x040

        ps: something that makes it maybe weirder... my friend has a raspberry pi and it works on that... also works on windows (using a different emulator) but i got a mini pc with ubuntu i want to add in my arcade cabinet

        1 Reply Last reply Reply Quote 0
        • mituM
          mitu Global Moderator
          last edited by mitu

          @Dennis said in Juyao Dual Arcade 2 player on Ubuntu:

          options usbhid quirks=0x0314:0x0328:0x040

          This looks correct, matching your device. I don't know why this isn't applied. You can check if the quirks parameter is applied by running

          cat /sys/module/usbhid/parameters/quirks
          

          I assume you've rebooted the system after adding the file.

          D 1 Reply Last reply Reply Quote 0
          • D
            Dennis @mitu
            last edited by Dennis

            @mitu when i run that it gives me:
            (null),(null),(null),(null)

            ps: i used this to install retropie:
            https://markontech.com/linux/how-to-install-retropie-on-ubuntu-tutorial/

            1 Reply Last reply Reply Quote 0
            • mituM
              mitu Global Moderator
              last edited by

              @Dennis said in Juyao Dual Arcade 2 player on Ubuntu:

              @mitu when i run that it gives me:
              (null),(null),(null),(null)

              This means the quirks didn't apply. It's strange - I wonder if the usbhid module is built-in. What version of Ubuntu are you using ?

              D 1 Reply Last reply Reply Quote 0
              • D
                Dennis @mitu
                last edited by Dennis

                @mitu Ubuntu 18.04.3 LTS, the latest.. clean install yesterday
                do I need to run the terminal as admin?

                1 Reply Last reply Reply Quote 0
                • mituM
                  mitu Global Moderator
                  last edited by

                  Usually, if there's something needing admin rights - like loading/unloading module - it'e enough to add sudo before the command to run it as admin.

                  I don't have any more ideas what to check.
                  You can manually unload the driver (sudo rmmod usbhid), then load it with the quirks parameter set

                  sudo modprobe usbhid quirks=0x0314:0x0328:0x040
                  

                  then check again if your encoder is detected as 2 gamepads.

                  D 1 Reply Last reply Reply Quote 0
                  • D
                    Dennis @mitu
                    last edited by

                    @mitu said in Juyao Dual Arcade 2 player on Ubuntu:

                    sudo modprobe usbhid quirks=0x0314:0x0328:0x040

                    you sire... are my new GOD!!... thank you so,so much... this DID the trick... it shows as 2 players AND no more spastic movement in menu! I need to get roms on there and see if all still works.. but i will let you know!

                    thanks a million times

                    mituM 1 Reply Last reply Reply Quote 0
                    • mituM
                      mitu Global Moderator @Dennis
                      last edited by

                      .. this DID the trick ..

                      The command should be the equivalent of setting the module options (usbhid.quirks) with the .conf file, so I don't understand why it's not working via configuration, but it works from the command line (?).

                      D 1 Reply Last reply Reply Quote 0
                      • D
                        Dennis @mitu
                        last edited by Dennis

                        @mitu yeah it does, but does this mean i have to run it each time? Because that wouldn't be the best lol

                        Isn't the problem the line I added?
                        options usbhid quirks=0x0314:0x032..... etc
                        Because via the command line I did not use the 'options' text

                        mituM 1 Reply Last reply Reply Quote 0
                        • mituM
                          mitu Global Moderator @Dennis
                          last edited by

                          @Dennis said in Juyao Dual Arcade 2 player on Ubuntu:

                          Because via the command line I did not use the 'options' text

                          The syntax is a bit different between the .conf file and the command line options, but the effect should be similar - I've tested it on an Ubuntu 18.04 installation, just like yours.

                          Can you double check if the options file is the correct path (file is in /etc/modprobe.d) and extension (.conf) ? If the options file is not correctly created, then the options won't apply automatically. If that's not the case, then you'll probably need to find a way to run the commands I posted earlier on each boot.

                          D 1 Reply Last reply Reply Quote 0
                          • D
                            Dennis @mitu
                            last edited by Dennis

                            @mitu yeah just checked and the file is 100% there.... it is read only btw and user is root... is that the problem.. i even tried adding another conf file without the rp- part.... i dont understand :(

                            Can't I add the line to another file and if yes, do you know how? Could it be the retropie install way I tried? See the url above which steps i used

                            mituM 1 Reply Last reply Reply Quote 0
                            • mituM
                              mitu Global Moderator @Dennis
                              last edited by

                              @Dennis said in Juyao Dual Arcade 2 player on Ubuntu:

                              Can't I add the line to another file and if yes, do you know how? Could it be the retropie install way I tried?

                              No, the RetroPie installation doesn't affect the this part. Now that I'm thinking about it, there is another way - similar to how it's done for the PI: add the arguments to the boot loader (grub). See how it's done here - add the usbhid.quirks=0x16c0:0x05e1:0x040 fragment to GRUB_CMDLINE_LINUX_DEFAULT then run update-grub and reboot.

                              D 1 Reply Last reply Reply Quote 0
                              • D
                                Dennis @mitu
                                last edited by

                                @mitu this totally worked!!! thanks!!! b/c of new years eve and all I dont have time now to test a ROM and see if the controls work... on my friends Pi the controls worked in the menu but not in game... I will let you know!

                                thanks again so much and have a save and happy new year

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

                                  So, both controls are recognized! But now the controls do not work in game for player 1... in the menu I can use all the buttons but when starting a game only the right side of the arcade controls, so player 2 work.... nothing on the left arcade buttons work... also I couldnt exit out of the game for some reason... very weird.. any idea?

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

                                    Got of working via the retroarch mania thanks again for the amazing help

                                    D 1 Reply Last reply Reply Quote 0
                                    • D
                                      delbetu @Dennis
                                      last edited by

                                      @dennis Thanks for asking, answers were really helpful to me.
                                      I have the same Juyao Dual Arcade Joystick and I faced the same issue that you had.

                                      My dual controller was recognized as one controller so I wasn't able to configure them separately.

                                      My solution was this:

                                      cd /opt/retropie/configs/all/retroarch-joypads
                                      cp Xin-Mo Xin-Mo Dual Arcade.cfg D_R_M JUYAO Dual Arcade.cfg
                                      

                                      then edited D_R_M JUYAO Dual Arcade.cfg
                                      replacing vendor and product_id

                                      the final file should look similar to this:

                                      input_device = "D_R_M JUYAO Dual Arcade"
                                      input_driver = "udev"
                                      input_vendor_id = "0314"
                                      input_product_id = "0328"
                                      
                                      input_up_axis = "-1"
                                      input_down_axis = "+1"
                                      input_left_axis = "-0"
                                      input_right_axis = "+0"
                                      
                                      input_select_btn = "7"
                                      input_start_btn = "12"
                                      
                                      input_a_btn = "0"
                                      input_b_btn = "3"
                                      input_x_btn = "5"
                                      input_y_btn = "2"
                                      input_l_btn = "1"
                                      input_r_btn = "4"
                                      
                                      input_l2_btn = "9"
                                      input_r2_btn = "8"
                                      
                                      input_l_x_plus_axis = "+0"
                                      input_l_x_minus_axis = "-0"
                                      input_l_y_plus_axis = "+1"
                                      input_l_y_minus_axis = "-1"
                                      

                                      After doing that, I was able to configure them separately on retroarch.

                                      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.