Juyao Dual Arcade 2 player on Ubuntu
-
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=10If you run
cat /etc/modprobe.d/rp-usbhid-quirks.conf
(assuming this is the module options file you created withnano
), what's the output ? -
@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
-
@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 runningcat /sys/module/usbhid/parameters/quirks
I assume you've rebooted the system after adding the file.
-
@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/ -
@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 ? -
@mitu Ubuntu 18.04.3 LTS, the latest.. clean install yesterday
do I need to run the terminal as admin? -
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 setsudo modprobe usbhid quirks=0x0314:0x0328:0x040
then check again if your encoder is detected as 2 gamepads.
-
@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
-
.. 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 (?). -
@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 -
@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. -
@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
-
@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 theusbhid.quirks=0x16c0:0x05e1:0x040
fragment toGRUB_CMDLINE_LINUX_DEFAULT
then runupdate-grub
and reboot. -
@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
-
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?
-
Got of working via the retroarch mania thanks again for the amazing help
-
@dennis Thanks for asking, answers were really helpful to me.
I have the sameJuyao 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_idthe 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.
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.