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
      last edited by

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

      if i run that from the terminal it says path does not exist..

      Yes, it's missing a letter:

      cat /proc/bus/input/devices
      
      D 1 Reply Last reply Reply Quote 0
      • D
        Dennis @mitu
        last edited by

        @mitu ahhhh lol.. i also have a xbox one hooked up:
        I: Bus=0019 Vendor=0000 Product=0001 Version=0000
        N: Name="Power Button"
        P: Phys=PNP0C0C/button/input0
        S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0C:00/input/input0
        U: Uniq=
        H: Handlers=kbd event0
        B: PROP=0
        B: EV=3
        B: KEY=10000000000000 0

        I: Bus=0019 Vendor=0000 Product=0003 Version=0000
        N: Name="Sleep Button"
        P: Phys=PNP0C0E/button/input0
        S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0E:00/input/input1
        U: Uniq=
        H: Handlers=kbd event1
        B: PROP=0
        B: EV=3
        B: KEY=4000 0 0

        I: Bus=0019 Vendor=0000 Product=0001 Version=0000
        N: Name="Power Button"
        P: Phys=LNXPWRBN/button/input0
        S: Sysfs=/devices/LNXSYSTM:00/LNXPWRBN:00/input/input2
        U: Uniq=
        H: Handlers=kbd event2
        B: PROP=0
        B: EV=3
        B: KEY=10000000000000 0

        I: Bus=0019 Vendor=1283 Product=0000 Version=0000
        N: Name="ITE8713 CIR transceiver"
        P: Phys=
        S: Sysfs=/devices/virtual/rc/rc0/input8
        U: Uniq=
        H: Handlers=kbd event3
        B: PROP=0
        B: EV=100017
        B: KEY=fff 0 4200108fc32e 237605100000000 0 700158000 419200004001 8e968000000000 10000000
        B: REL=3
        B: MSC=10

        I: Bus=0003 Vendor=045e Product=02d1 Version=0203
        N: Name="Microsoft X-Box One pad"
        P: Phys=usb-0000:00:14.0-2/input0
        S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb2/2-2/2-2:1.0/input/input9
        U: Uniq=
        H: Handlers=event8 js0
        B: PROP=0
        B: EV=20000b
        B: KEY=7cdb000000000000 0 0 0 0
        B: ABS=3003f
        B: FF=107030000 0

        I: Bus=0019 Vendor=0000 Product=0006 Version=0000
        N: Name="Video Bus"
        P: Phys=LNXVIDEO/video/input0
        S: Sysfs=/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:00/input/input10
        U: Uniq=
        H: Handlers=kbd event9
        B: PROP=0
        B: EV=3
        B: KEY=3e000b00000000 0 0 0

        I: Bus=0000 Vendor=0000 Product=0000 Version=0000
        N: Name="HDA Intel PCH Mic"
        P: Phys=ALSA
        S: Sysfs=/devices/pci0000:00/0000:00:1b.0/sound/card0/input11
        U: Uniq=
        H: Handlers=event10
        B: PROP=0
        B: EV=21
        B: SW=10

        I: Bus=0000 Vendor=0000 Product=0000 Version=0000
        N: Name="HDA Intel PCH Headphone"
        P: Phys=ALSA
        S: Sysfs=/devices/pci0000:00/0000:00:1b.0/sound/card0/input12
        U: Uniq=
        H: Handlers=event11
        B: PROP=0
        B: EV=21
        B: SW=4

        I: Bus=0000 Vendor=0000 Product=0000 Version=0000
        N: Name="HDA Intel PCH HDMI/DP,pcm=3"
        P: Phys=ALSA
        S: Sysfs=/devices/pci0000:00/0000:00:1b.0/sound/card0/input13
        U: Uniq=
        H: Handlers=event12
        B: PROP=0
        B: EV=21
        B: SW=140

        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

        I: Bus=0003 Vendor=046d Product=c077 Version=0111
        N: Name="Logitech USB Optical Mouse"
        P: Phys=usb-0000:00:14.0-3.1/input0
        S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.1/2-3.1:1.0/0003:046D:C077.000F/input/input27
        U: Uniq=
        H: Handlers=mouse0 event5
        B: PROP=0
        B: EV=17
        B: KEY=70000 0 0 0 0
        B: REL=903
        B: MSC=10

        I: Bus=0003 Vendor=03f0 Product=034a Version=0110
        N: Name="Chicony HP Elite USB Keyboard"
        P: Phys=usb-0000:00:14.0-3.4/input0
        S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.4/2-3.4:1.0/0003:03F0:034A.0010/input/input28
        U: Uniq=
        H: Handlers=sysrq kbd event6 leds
        B: PROP=0
        B: EV=120013
        B: KEY=1000000000007 ff9f207ac14057ff febeffdfffefffff fffffffffffffffe
        B: MSC=10
        B: LED=7

        I: Bus=0003 Vendor=03f0 Product=034a Version=0110
        N: Name="Chicony HP Elite USB Keyboard System Control"
        P: Phys=usb-0000:00:14.0-3.4/input1
        S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.4/2-3.4:1.1/0003:03F0:034A.0011/input/input29
        U: Uniq=
        H: Handlers=kbd event7
        B: PROP=0
        B: EV=13
        B: KEY=c000 10000000000000 0
        B: MSC=10

        I: Bus=0003 Vendor=03f0 Product=034a Version=0110
        N: Name="Chicony HP Elite USB Keyboard Consumer Control"
        P: Phys=usb-0000:00:14.0-3.4/input1
        S: Sysfs=/devices/pci0000:00/0000:00:14.0/usb2/2-3/2-3.4/2-3.4:1.1/0003:03F0:034A.0011/input/input30
        U: Uniq=
        H: Handlers=kbd event13
        B: PROP=0
        B: EV=1f
        B: KEY=3f000300ff 0 0 483ffff17aff32d bf54444600000000 1 130f938b17c000 677bfad9415fed 9ed68000004400 10000002
        B: REL=1040
        B: ABS=100000000
        B: MSC=10

        mituM 1 Reply Last reply Reply Quote 0
        • 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.