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

      if i run that from the terminal it says path does not exist.... i think thats also the problem with the: sudo nano /etc/modprobe.d/rp-usbhid-quirks.conf file? which is indeed saved now but doesnt work.... i have ubuntu running

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