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 6.2k 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
      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.