Hi everyone, I’m trying to get Batocera up-and-running on my Picade (2020) using the Picade X HAT. I’ve followed both: Using Batocera Linux on a Picade Arcade Machine – Mike Jolley and Batocera Picade | andrewfitzy.github.io as guides, but it’s not working.
These guides are now a couple/few years old and Batocera has changed since then, but I can’t find anything in the release notes to indicate these changes would affect how the picade.dtbo
overlay or the 10-picade.rules
file would be handled. I’ve also posted on the “official” Batocera Reddit as the forum and Discord have been disabled because they can’t keep up with moderation.
I’ve tried using the built-in picade.dtbo
overlay that comes with Batocera, as well as compiling it myself using dtc
and the X HAT repository. In Mike’s guide, he mentions a couple of changes for versions 31/32, and I’ve tried those as well.
I threw in my RetroPie microSD and confirmed that yes, the joystick, buttons, and sound still work, ruling out messing up my X HAT in this process.
Finally, I tried this a second time with another clean install of Batocera.
I believe if anyone knows how device tree overlays and .rules
files work more intimately would be able to help me solve this problem. I am researching those and understand how they work, but I can’t get it to work with Batocera as everything seems in the right place.
Could anyone help?
I have:
picade.dtbo
in /overlays/
10-picade.rules
in /userdata/system/udev/rules.d/
and /etc/udev/rules.d/
- guide mentions newer versions of Batocera may use the latter location
asound.conf
in /etc/
- I realize there was an update to PipeWire WirePlumber, so might have to figure out sound later but at least need to get the joystick and buttons working first
- This at the end of
/config.txt
- I’ve tried both with and without explicit key mapping:
[all]
dtoverlay=picade
dtparam=audio=off
# key mapping
dtparam=up=103
dtparam=down=108
dtparam=left=105
dtparam=right=106
dtparam=button1=30 # A Key
dtparam=button2=31 # S Key
dtparam=button3=16 # Q Key
dtparam=button4=44 # Z Key
dtparam=button5=45 # X Key
dtparam=button6=17 # W Key
dtparam=enter=23 # I Key
dtparam=escape=1 # Escape
dtparam=coin=54 # Right Shift
dtparam=start=28 # Enter
Hi,
I have the same problem it worked with Batocera 39 but after i update to 40 no controls.
a fresh Batocera 40 dosn’t help me too. Please help us ;). By the way this key mapping makes much more sense in my eyes.
dtoverlay=picade
dtparam=audio=off
dtparam=button1=44 # Z Key
dtparam=button2=45 # X Key
dtparam=button3=30 # A Key
dtparam=button4=31 # S Key
dtparam=button5=16 # Q Key
dtparam=button6=17 # W Key
dtparam=Space=14 # Space
dtparam=escape=1 # Escape
dtparam=coin=54 # Right Shift
dtparam=start=28 # Enter
1 Like
Thanks for your reply! I’ve only done minimal work on this since posting - the Batocera Discord is my next stop.
I’ve tried “promoting” the “10-picade.rules” files to “99-picade.rules” so they are applied later, but no luck. I may “demote” the other “99-.rules” files to “98-.rules” in hopes of resolving any conflict (if there is any).
This is all experimentation as I learn more about udev and “.rules” files, as I believe the issue is how Batocera specifically handles custom .dtbo overlays and rules files, which is information that can only be provided by the code, documentation and developers. I’m learning what I can about how they build their Linux distro to diagnose this as their forums are locked - why I’m going to try Discord next.
Are you certain this worked on v39? If so I can look at the diff between versions to try to determine what behavior changed and would significantly narrow down my search!
I just switched back to 39 and everything has working again.
Since 32 is the picade.dtbo build in at batocera. I also check it at Version 40.
But somehow it stopped working.
1 Like
Quick question: did v39 “work out of the box” as a fresh flash/burn/installation or did you have to follow the steps from one of the guides?
I copy my line’s from my first post to the config.txt. And you have to remap in Batocera for some emus.
Right, you didn’t have to provide the “.dtbo” file since it’s now there from v32 as you mentioned.
And you didn’t have to manually download and copy the “10-Picade.rules” or “asound.conf” files either?
Nope you don’t need this stuff
1 Like
Awesome. So it’s mostly working just broken with latest release.
I had time to work on this again and tried some additional things to no avail. I did download v39 and just as you said, it only took the config.txt
changes and it work with sound and input.
The bad news is that I don’t have a fix for v40, the good news is that it was only broken this latest release and I will open up an Issue on GitHub, probably tomorrow. I’m sure we can get some attention/traction there.