The blogpost for v33! Yet again, another huge patch, rivaling that of even v32. In addition, we have a truckload of new retro computer/second generation systems integrated into Batocera!
The release candidate is out and available right now! Check out its discussion thread.
New emulators
Systems added
- A whole bunch of systems, old and new, can now be emulated via MAME directly:
- Phillips CD-i
- CreatiVision/Educat 2002/Dick Smith Wizzard/FunVision
- Various plug’n’play TV games and handheld LCD games
- Megaduck/Cougar Boy
- Game.com
- Adventure Vision
- Casio PV-1000
- Gamate
- FM-7/FM-77AV
- Gamepock
- APF-MP1000/MP-1000/M-1000
- BBC Micro/Archimedes
- Coleco ADAM (expansion of ColecoVision)
- Arcadia 2001
- Game Master/Systema 2000/Super Game/Game Tronic
- Bally Astrocade
- TI-99/4A and TI-99/4
- Tomy Tutor/Pyūta/Grandstand Tutor
- TRS-80/Tandy Color Computer (coco)
- Demul, for running Sega Dreamcast-based arcade machines such as NAOMI, NAOMI 2, Atomiswave, Hikaru (experimental), Gaelco and Cave CV1000 games. x86_64 only Edit: Unfortunately, it seems that this emulator is not in a ready state yet. It should be functioning fine in the v34 dev build released shortly after stable.
- Libretro: OpenMSX for MSX+ and MSX Turbo
Raspberry Pi
Systems added
- libretro: PPSSPP enabled for RPi3 and RPi4
- libretro: PSXReARMed selected as the default PSX emulator, performance has increased back to acceptable levels
RPi Zero
Raspberry Pi Zero’s gotten some love this patch with some highly optimised default emulators:
- Final Burn Alpha for arcade games
- Stella2014 for Atari games
New device support
Beelink GT King and GT King Pro
The S922X powered Beelink GT King and GT King Pro are now officially supported by Batocera!
No documentation is available yet… good luck!
Edit: User HellHammer has kindly created a tutorial for installation of Batocera using CoreElec: https://wiki.batocera.org/hardware:gt_king
Experimental Pi Piboy DMG
This wicked little Raspberry Pi CM4 in a GameBoy-like form factor is officially supported! A community-maintained fork of this was floating around for a while but its changes have been altered appropriately in order to work with the main Batocera project. Many thanks to the efforts of everyone involved to make this happen!
Raspberry Pi Zero 2
The next generational leap of the Raspberry Pi Zero! Instead of an incremental improvement to the already existing CPU, this model uses the same CPU as the Raspberry Pi 3 does, while retaining the Zero’s incredible small form-factor. A marvel of how quickly engineering and technology can progress in such a short amount of time!
Orange Pi Zero2
An powerful SBC in a similar form-factor to the Raspberry Pi Zero now introduces Batocera to its list of compatible operating systems!
Radxa Zero
Wait wasn’t this mentioned in v32? Well there was a lot of commotion behind the scenes about whether it was going to be implemented in v32 or v33, ultimately it went into beta for v32 but never made it to stable v32. v33 stable will be the “official” release for Batocera support on this device!
Pixelcade
Batocera now officially supports the LCD and dot matrix displays of the Pixelcade arcade cabinets! For those who have the luxury of owning one, you have more than one option in regards to what software you’d like to use. The currently hovered game will be shown on the Pixelcade’s display. It also supports games shown during the screensaver, if you are using “Slideshow” or “Random Video”.
Pixelcade has instructions on how to install it into Batocera on their website.
Note that this is currently only available for Pi platforms, but theoretically should work fine on any other platform with just a bit of implementation work.
Edit: That implementation work has been completed! Pixelcade is fully functional on x86_64 as well now.
New features
Global decorations
Batocera has upgrade the video backend (Wayland, you may have heard of it), allowing for drawing images over the top of whatever’s being displayed on screen. This allows decorations to be used on just about any system now!
Mega Bezel integration
The critically acclaim RetroArch shader pack is finally here! These enhanced bezels use real-time shaders to generate a reflection on the side of the image in order to enhance the CRT-like effect of the bezel. Check out the demonstration video below:
In addition, duimon has kindly given a refresher to the default built-in decoration set.
By default, Batocera will use his “dark” set, and the light set (what most people would consider to be the “default” one) is available for download in the content downloader.
MangoHUD integration
In addition to that, for those interested in how many resources their Batocera machines are utilising, MangoHUD’s integration into Batocera has been improved! That combined with the above allows you to do this now:
You can also opt to just display the game’s title and cover art.
And it’s no longer limited to just libretro cores! This video shows it off pretty well:
Controller overlays/tattoos
Batocera being able to emulate so many different kinds of consoles and systems, knowing what buttons are currently mapped to your controller can be confusing at times. Well no more! The newly introduced controller overlays allow you to see what the default mappings for the controller for the system you’re currently playing are! No more blindly guessing where the “Square” button is on your Xbox controller!
If you have any requests for controller layouts not already included, feel free to request these in the Discord (preferably with a picture of the controller in question and what its default bindings are).
Tied to this feature, you can instead opt to use your own custom image as the tattoo instead. This could be useful for streamers and the like!
This is what it looks like when all the above additions are used at the same time:
Decoration changes
Related to the above, the Decoration menu in Game Settings has been revamped! All the settings related to Decoration Set have been moved here as well.
This too is where you’ll find the settings for the newly added controller overlays mentioned above. How convenient!
English spelling/grammar/clarity overhaul
Option labels and names have minor corrections all the time that are usually self-evident, but for v33 there has been a major review of all the English strings Batocera uses for EmulationStation. This means that some menu option names you may be familiar with have new names.
We try to avoid changing already-existing strings as often as possible. Thank you for your understanding.
Refresh rate on x86_64
A highly requested feature, it is now possible to set the refresh rate of your screen in addition to the resolution for xorg-based platforms (including x86_64).
Unfortunately this doesn’t make batocera.conf
resolution changes portable between platforms yet, as xorg applies refresh rate changes different to the way drm and tvservice do, but maybe one day.
Default sharp bilinear shader
Up to now, Batocera has employed the use of “Smooth games” (bilinear filtering) as a part of its default settings to overcome the uneven pixel degredation present in most modern displays when playing retro games (also somewhat to help with smaller handheld displays that may have non-compliant resolutions). It was a resource-light, sane default to have. But now, that’s been replaced by the use of the sharp bilinear simple filter! Behold:
As a reminder, this is what it used to look like with ordinary bilinear filtering:
It is still possible to restore the old behaviour by setting the shader set to “None”. When no shader is used, Batocera will by default turn bilinear filtering back on. Unless you also manually specify that too to “Off”…
Syncthing and rclone
File synchronisers rejoice! Syncthing and rclone functionality are now built-into Batocera! Documentation is still in the works, but if you’re tech-savvy and already familiar with SSH you can try it right now in the beta.
For Syncthing
In order to enable it, add system.syncthing.enabled=1
as a new line to your batocera.conf
file. This will enable the web GUI (accessible from http://batocera:8384
) where it can be configured further.
For more info, refer to the wiki’s article on it.
For rclone
rclone is for more technical users who may already be familiar with the software. It’s by far the more powerful option but requires scripting knowledge to properly use. There is an example of how to set up rsync to create automated backups on the wiki guide.
SquashFS additions
Did you know you could use SquashFS on your WINE-compatible games and still run them? I sure didn’t, but now you can do so for even more systems!
DOS and PlayStation 3 game folders can now be squashed as a read-only file system using Batocera itself! To do so, open SSH and run the following commands:
For DOS:
cd /userdata/roms/dos
mksquashfs skweek.pc skweek.pc.squashfs
For PS3:
cd /userdata/roms/ps3
mksquashfs "Hatsune Miku Project DIVA F is the best game on the PS3 and this is not open for debate.ps3" "Hatsune Miku Project DIVA F is the best game on the PS3 and this is not open for debate.ps3.squashfs"
Other systems that have been included to read SquashFS:
- scummvm
- daphne
- wiiu
- mugen
- ecwolf
Game launch at boot
You use Batocera for one specific purpose. You know who you are. Now there’s an option to automatically launch a chosen game at boot! You can enable it in the game options for that selected game, go to ADVANCED GAME SETTINGS and scroll all the way to the bottom!
These can be adjusted in the per-game settings accessed by pressing Hotkey + and going to Advanced Game Options -> Launch This Game at Startup at the bottom of the list.
Scraper improvements
The scraper’s menu has been improved, removing the extra “setup” step that used to be required when doing scraping in the past. Now, the settings exist in their own menu.
In addition, the “games to ignore” options have been expanded. It’s now possible to also ignore games that have been scraped in a certain amount of past time!
And a new source has been added: HfsDB
DuckStation quick menu
The DuckStation quick menu has been enabled! Personally, I never even knew this existed until someone pointed out the fact that you couldn’t access it on Batocera.
Turns out the binding for opening it did exist, but the config generator didn’t write the key into the config file for DuckStation! All is well now, but it’s clear that some work needs to be done, navigation is twitchy and there’s no “back” button meaning you can accidentally lock yourself into a submenu.
Despite this, it’s still useful for say manually swapping discs or checking your achievements without needing to reach for a keyboard! This I assume is especially helpful for handheld PC users.
Libretro Automatic Frame Delay
An option introduced with RetroArch 1.9.13, this allows “auto-setting” warriors to utilise the benefits of the reduced input lag of setting a proper frame delay without having to go and manually tweak the setting for every game on every system! We’ve already gone and added the toggle for the automatic setting in GAME SETTINGS -> LATENCY REDUCTION -> AUTOMATIC FRAME DELAY. Don’t worry power-users, you’ll still be able to adjust the frame delay as you usually have by by turning this setting to “OFF”. But just note, even with it “ON”, your custom frame delay setting will still be used! Read up more info on their blog post about it
On that note, libretro’s variable refresh rate can also be altered from this menu too!
Dolphin enhancements
Dolphin (the emulator for Wii/GameCube) has had a whole bunch of its options made accessible from within EmulationStation. Just press SELECT on your controller while in the GameCube/Wii gamelist, and go to Advanced System Settings to see them. Here’s a peak:
Aspect Ratio is now specific to Dolphin! This means there will no longer be a huge list of aspect ratios that don’t do anything, only the actually supported ratios that Dolphin can use.
Of course, this means if you were actually using the global way of setting the aspect ratio for this system, you’ll have to go and re-set these options. Sorry! But technology marches on…
Wii TV mode can now also be selected here. The Wii itself supported selecting between 4:3 or 16:9 in its internal console settings, and most Wii games support both ratios. Now it’s easier than ever to play these games in their true 4:3 aspect ratio on your CRT TV!
SSAA can now be used instead of MSAA for anti-aliasing!
Pre-caching shaders can now be activated here. Note that if you activate this option, your games may take about a minute of compiling when launching for the first time, but every time after that should be instant.
Ubershaders are now activated by default! Asynchronous is used by default, but you are now free to select asynchronous instead; or maybe you’d like to turn them off for some reason. Skip draw can also be selected, but causes visual glitches/artifacts to appear. Should only for extremely weak hardware!
RPCS3 enhancements
RPCS3 (the PS3 emulator) also got some love!
SPU Decoder can now be changed here. The default “Recompiler (LLVM)” should be fine for most games, but “Recompiler (ASMJIT)” may be required for a few to avoid issues. ASMJIT also has the benefit of not needing to compile (as many) PPU modules before the first launch, but that becomes a non-issue after the game has been launched at least once.
TV Mode (which RPCS3 itself refers to as “aspect ratio”, it’s been named this way to be consistent with Dolphin’s treatment of the same option) can now be selected here. The PS3 supports selecting between 4:3 and 16:9 as its output ratios and most games support both natively. Now it’s easier than ever to play these games in their true 4:3 aspect ratio on your CRT TV!
Additional Framelimit RPCS3 has the ability to enforce an additional framelimit on top of the game’s native frame limit. It’s recommended to leave this on “OFF” for all games that support it, however some games may crash if they exceed a certain framerate (amazing)!
Shader Mode In similar vein to Dolphin’s Ubershaders, this allows you to switch between compilation methods. It’s recommended to leave at its default settings, otherwise the game may pause the screen while still running in the background.
Vsync Everybody’s favourite! Just note, however, this isn’t “true” Vsync, as Batocera automatically converts the video signal to Vsync on ordinary LCD displays. However, for certain displays this is not good enough so Vsync needs to be enforced by the emulator itself. This option allows you to do that.
Stretch to Display Area Does what it says on the tin. For 16:9 displays, this option doesn’t actually make a difference, but on 4:3 or other aspect ratios it will cause the game to fill the entire screen.
PPSSPP enhancements
Rendering Mode has been added. This allows you to disable the screen buffer which is ordinarily used by games to apply certain post-effects. When “skip buffer” is used, performance is dramatically increased and input delay is reduced (very useful for low-powered handhelds and the like).
Auto FrameSkip is now its own, separate setting. This allows for setting a custom frameskip upper limit independent that isn’t forced to 1 when you want to enable auto frameskip!
Commodore 64 (and other VICE supported systems) improvements
The default Vice core (which runs systems like C64) has gotten an update to its default configuration values. Earlier it had been assumed that the black border around the games was for overscan cut-off prevention, but some games actually utilised this area to display certain HUD elements and other critical information! By default, the Vice core will now show all of the border area (and use the correct aspect ratio too, for that manner). This change actually had quite a bit of debate about it, check out here for more info: https://github.com/batocera-linux/batocera.linux/pull/4760
Before:
After:
Xemu option additions
Xemu now has render scaling options, allowing up to x8 upscaling! Also, the aspect ratio option now supports widescreen.
Other things
- We’ve got yet another new splash video made by user @Lichshield#6228:
And this time a recreated (remastered? remake?) static splash image by yours truly:
Here it is available in glorious 4K.
- Hebrew and English (UK) have been added as available localisations for ES.
- You can now choose to use the “Full” aspect ratio, which will by default stretch the image to the aspect ratio of your screen, irrelevant of the source’s original aspect ratio. This can result in incorrect proportions, but allows you to utilise the entirety of your screen! Ultrawide monitor users… be careful with this.
MAME now supports pad2key in order to support user-made custom MAME shortcuts being assigned to spare buttons on the controller. Power users rejoice!
Nintendo Switch Joy-Cons are automatically configured out of the box! Just note that this is only for using the Joy-Cons separately, combined mode does not work for now.
Pico-8 now supports multi-carts via the use of M3U playlists.
It is now possible to disable auto-incrementing savestate slots.
Wake on Lan (WoL) is now functional in Batocera. Check out its wiki page for more details.
smartmontools
has been integrated. Run it from SSH to check the health of your S.M.A.R.T. disk drives!
As always you can check out the full log of changes at the changelog. Happy retro gaming!