The next entry in the “sneak peek” preview of changes to the upcoming beta. This blogpost focuses more on the technical aspects and bugfixes rather than the large additions and new features to be covered in the main blogpost (also meaning it’s not as polished). So for those that enjoy a behind-the-scenes look at Batocera, read on!
Raspberry Pi 4 now runs Xorg
In layman’s terms, this means you can access the file manager! On Raspberry Pi 4 (and 4 only), plug in a keyboard and press
[F1] on the system list to access the same file manager as you do on x86_64.
Ultimarc configuration tool
This advanced CFG-file driven configuration tool allows users to configure the firmware settings of their Ultimarc compatible arcade equipment. Check out its manual at https://github.com/katie-snow/Ultimarc-linux/blob/master/README.cfg
btop system monitor
htop is too simple for system monitoring? Well, for those desiring more out of the SSH system monitoring tools,
btop has been introduced into Batocera! What benefits does
btop bring over
htop? A picture speaks a thousand words:
btop requires that your terminal supports UTF-8 encoding in order to display correctly, you will be warned if this is not detected upon starting it up.
Citra slowdown fix
If you’ve been playing 3DS games on Batocera in the last two versions of stable you may have noticed severe slowdowns with games that otherwise ran fine with v31 and earlier. This was because of certain flags in the building process being changed upstream. Batocera now builds with the correct flags in place (for our purposes) and Citra is running at its original speed again!
Flycast got some love this patch, with many outstanding issues with it being fixed:
- Fixed libretro Flycast crashing on default API settings.
- Fixed Flycast not creating the appropriate directories on first-run.
- Corrected the incorrect controller mapping layout, for both Dreamcast and Arcade platforms.
Legacy Recalbox filename support removed
Being originally forked from Recalbox, some aspects of Batocera were still compatible with Recalbox’s system files. This isn’t really the case anymore, so Batocera began migrating all the old configs to the new locations/formats to maintain compatibility to those users still using Recalbox’s configs.
In v34, this code will be removed. If you’ve used any Batocera version since 5.20 or something, you should be good. But in case you’re on an older version, it’s recommended to incrementally upgrade to v33 first and running it at least once before upgrading to v34.
Evsieve is a utility that allows for the remapping of various input events to any output events. What makes this different from other tools such as evmapy is that evsieve works on a very low level, and is not limited to the input/output of a single device. For instance, it would be possible to use evsieve to make the input events of two separate controllers appear as the input events of a single controller to the system.
Although evsieve is much more powerful, it’s also more complicated to use, so improvements that can be made using evsieve will come in at a slow pace. Hopefully, this will allow Batocera to fix some long-standing issues such as the Joycons appearing as two separate controllers in their paired configuration.
More mounting options at boot
batocera-boot.conf now supports the
DEVICE type of mounting. This allows for the arbitrary mounting of folders on devices connected with a UUID onto any of Batocera’s available mounting keys. To use it:
- Add a new line containing
- Add the appropriate keyword followed by an @ character (eg.
- Add the UUID of the drive containing the folder (eg.
- If not using the root of the drive, append a : and then add the folder path (eg.
For more information, read up the wiki article on it.
Bug fixes/minor changes
- emulatorlauncher has been symlinked from
/usr/bin, allowing for simpler commands in scripts
- Fixed DuckStation showing an error message about locale on game launch.
- Prevent Syncthing from attempting to upgrade itself, breaking itself in the process.
- Dependencies are now tagged in a more logical fashion (
batocera-system/Config.in), this should help with altering the built packages in the future.
- Fixed yabasanshiro not starting.
- Lightgun control fixed by using
udev as the default input driver in RetroArch.
- Mupen64Plus audio buffer settings added to ES.
- FuturePinball: L2/R2 added as alternatives to flipper control.
- AV1 decoder added to Kodi
- Moonlight no longer has its config overwritten every launch, options added into ES.
- picade’s dtb has been added.
- Fixed Cemu controller config generation
- Enable video players globally even when Kodi is not enabled on a given platform
- Multi-line descriptions are now supported in es_features.yml
The full blog post of all the major changes will be coming out soon. In the meanwhile, you can test the latest beta by updating (switch to the “beta” branch) out and report your findings to the forum post here. Not all platforms have been built yet, keep an eye on the post for updates!