Releases: rg35xx-cfw/rg35xx-cfw.github.io
Batocera Lite for RG35XX Test Release Alpha 0.4
Important:
This is a test alpha release to gather feedback, while most of the functionality of retroarch is there, this release is not ready for continuous usage. If you want a stable release use GarlicOS, or MinUI.
The general status of this firmware (both the retroarch standalone and batocera builds) can be tracked here #1. Please report back with status via issues or in the Retro Handhelds Batocera/GPU Discord Channel
Installation:
- Flash the batocera_lite_rg35xx_20230410.img to a sdcard of at least 8GB
- Insert the card on your RG35XX and power it on
- Wait until the system expands the SDCARD partitions and boots into Batocera EmulationStation (note that this first boot takes about one and a half minute)
ChangeLog:
- Build is now based on full batocera build
- EmulationStation menus to select core should now work:
- To change it for a full system: Select a system and press
SELECT
,ADVANCED SYSTEM OPTIONS
,EMULATOR
and set the emulator of your choice - For a specific rom, select the rom, then press and keep pressed
B
, thenADVANCED GAME OPTIONS
,EMULATOR
and set the emulator of your choice
- To change it for a full system: Select a system and press
- Note that many core options are now changed in the
ADVANCED SYSTEM
/GAME OPTIONS
- Added multiple ports, all ports should have working controls now (SDLPoP, devolutionx, Cannonball, Sonic1, Sonic2, SonicCD, etc.)
- Added additional standalone emulators: GSPlus, Hatari, Amiberry Drastic, flycast, OpenBOR, PPSSPP, Mupen64, vice etc.)
- Updated input driver for compatibility with revisions 6C or lower. Thanks to Dark-Seraph for the gpio driver.
- USB Ethernet (ASIX based chipsets) and USB Wireless (RTL8192, RTL8188 based chipsets) should now work. Note that usb needs to be plugged after the system boots, and in some cases you need to insert the USB C to USB A adapter first, then connect the Ethernet or Wifi adapter.
Known Issues:
- Battery charging only works when the device is on, if the power is connected after shutting down the console, the console powers on again (#8)
- Battery calibration curves have not been added to the firmware yet
- Initial governor support is in but not available via batocera menu. Change the following
SHARE/system/batocera.conf
variable to change the behavior:system.cpu.governor=performance
tosystem.cpu.governor=ondemand
(#10) - Current cores have not been explicitly optimized for this handheld, so performance may vary and in some cases be worse than expected. Please create a ticket with an example of a emulator/core/rom that is not performing correctly.
Batocera Lite for RG35XX Test Release Alpha 0.3
Important:
This is a test alpha release to gather feedback, while most of the functionality of retroarch is there, this release is not ready for continuous usage. If you want a stable release use GarlicOS, or MinUI.
The general status of this firmware (both the retroarch standalone and batocera builds) can be tracked here, and you can follow development updates here
ChangeLog:
- SDCard structure now based on regular batocera structure (1st partition contains the system, second partition is for content).
- Future system updates can be added by just replacing the some files in the first partition, no need to reflash the SDCARD.
- SDCard auto expand: during the first boot the sdcard will expand the second partition to fill the whole sdcard. After that happens batocera populates the required folders for roms, etc.
- Added virtual memory. It should be possible to run some N64 games now. Note that launching those titles may fail at first, just try again.
- Fixed motor running all the time in some models (#2)
- Fixed led status during charging, power on, low battery
- Fixed power off: Note that only work when the console is not connected to the power (See #8 )
- Added initial governor support (currently only set on performance, additional work will be tracked in #10)
- Controls are now configured as a joystick, so it's possible to navigate the keyboard like interface in Retroarch and EmulationStation search/text entry, etc.
- External USB controllers work, some may need configuration. Note that at this point batocera control mappings are ignored, so you need to configure secondary controls in retroarch.
Things not working/broken on this release:
- Brightness control shortcuts not working. You can still change brightness via ES settings menu.
- Volume level gets reset when starting a rom
- Headphone detection is not working
- HDMI audio does not work
- ADB does not work
General notes
This is Alpha v0.3 batocera lite release for the RG35XX. Below are a list of things that are currently broken or require clarification:
- The batocera lite EmulationStation has limited functionality in this release. Only navigating and launching roms work, however adjusting configurations like shaders, overlays, etc. can only be done via RetroArch config at this point.
- The EmulationStation configuration is located in
/userdata/system/configs/emulationstation/es_systems.cfg
- Headphone detection does not work
- HDMI video out works in mirroring only if the HDMI cable is connected before booting
- Some combination of cores+roms may not work due to the system’s low memory
- Text entry in batocera and RetroArch is currently broken
- There’s no overclocking/underclocking control
- USB external devices should work but need to be (re-)connected after boot. In some cases they also need external power, so a Y OTG USB-C/USB-A helps.
Installation:
- Flash the scard image into a SDCARD of at least 4GB
- Insert the flashed SDCARD into the RG35XX and boot. The first time batocera will expand the SDCARD. Once it finishes you can power off, and insert the SDCARD into your computer to copy the roms. The roms folder is located in the
SHARE
partition underroms
- You can also use a secondary SDCARD for the roms & bios. The method to use a secondary card is different in this build.
- Once you boot into EmulationStation, go to
Settings -> System Settings -> Storage Device
and select your roms partition. - Restart and the system should use now that partition for content.
- If the card is a new card or didn't have a batocera structure, it will be created during that first boot. Add your content after that.
- In some cases the secondary card may not have the correct retroarch configuration. Copy the
retroarch.cfg
below to this pathsystem/.config/retroarch/retroarch.cfg
- Once you boot into EmulationStation, go to
NOTE:
- The first you start RetroArch it will take a bit longer but after that the system should take about 15-20s to fully boot into RetroArch/EmulationStation.
- Also the first time you start a rom, the system will generate some configuration files for retroarch and will take a bit longer.
General Notes:
- Roms and bios:
- By default all roms are in the /userdata/roms path and bios in /userdata/roms/bios path, but you can change those paths via retroarch-> settings-> directories
- Cores:
- Cores are located internally in the /usr/lib/libretro/ path
- Shaders are located in /usr/share/batocera/shaders
- Video filters are located in /usr/share/video_filters
- Audio filters are located in /usr/share/audio_filters
- Networking:
- Networking is not fully working yet. The system will recognize an EDIMAX USB wifi, but it’s currently not possible to configure it
- USB Ethernet networking works with old USB 2.0 ASIX Ethernet adapters AX88178A
Batocera Lite for RG35XX Test Release Alpha 0.2
Important:
This is a test alpha release to gather feedback, while most of the functionality of retroarch is there, this release is not ready for continuous usage. If you want a stable release use GarlicOS, or MinUI.
The general status of this firmware (both the retroarch standalone and batocera builds) can be tracked here, and you can follow development updates here
ChangeLog:
Update 2023/03/17: There's a temporary fix for the motor issue, download the kernel-motor-test.zip
file and replace the kernel.dtb
from the first partition of the sdcard (thanks @jonsrp for the hint).
- First batocera lite build
- Power button now works (although it may restart in some cases)
- Volume controls work
- Brightness controls work with
MENU
+Volume +
/Volume -
- It's possible to switch to RetroArch boot (instead of emulationstation) by adding a file named
startRA
at the top of the second sdcard. Remove the file to boot again into EmulationStation.
General notes
This is the first batocera lite release for the RG35XX. Below are a list of things that are currently broken or require clarification:
- There's an issue impacting some models that leaves the haptic motor running. In some cases removing the sdcard, resetting, inserting the sdcard and resetting solves the problem temporarily. This issue is not consistent and does not happen on all models.
- The batocera lite EmulationStation has limited functionality in this release. Only navigating and launching roms work, however adjusting configurations like shaders, overlays, etc. can only be done via RetroArch config at this point.
- The EmulationStation configuration is located in
/userdata/system/configs/emulationstation/es_systems.cfg
- Headphone detection does not work
- HDMI video out works in mirroring only if the HDMI cable is connected before booting
- Some combination of cores+roms may not work due to the system’s low memory
- Text entry in batocera and RetroArch is currently broken
- There’s no overclocking/underclocking control
- USB external devices should work but need to be (re-)connected after boot. In some cases they also need external power, so a Y OTG USB-C/USB-A helps.
Installation:
- Flash the scard image into a SDCARD of at least 4GB
- Insert your roms SDCARD (e.g. the stock firmware SDCARD) into the second SDCard Port (*). Note that batocera expects the roms system folders to be named following this format. They system looks for roms in the following folders:
- Second SDCard slot: 4th partition (e.g. the stock RG35XX keeps roms there)
- Second SDCard slot: 2nd partition (e.g. standard batocera sdcards)
- Second SDCard slot: 1st partition (add a roms folder to the top of a sdcard)
- First SDCard slot: 2nd partition (in the /userdata/roms folder)
- Boot
- Note: The first you start RetroArch it will take a bit longer but after that the system should take about 15-20s to fully boot into RetroArch/EmulationStation.
Notes:
- Roms and bios:
- By default all roms are in the /userdata/roms path and bios in /userdata/roms/bios path, but you can change those paths via retroarch-> settings-> directories
- You can use the RG35XX stock sdcard (or garlicOS) and the system will mount it in the /mnt/sdcard path
- Alternatively you can use a single partition sdcard with your roms, or another distribution card like a batocera compatible card.
- Cores:
- Cores are located internally in the /usr/lib/libretro/ path
- Shaders are located in /usr/share/batocera/shaders
- Video filters are located in /usr/share/video_filters
- Audio filters are located in /usr/share/audio_filters
- Networking:
- Networking is not fully working yet. The system will recognize an EDIMAX USB wifi, but it’s currently not possible to configure it
- USB Ethernet networking works with old USB 2.0 ASIX Ethernet adapters AX88178A
- USB Wifi network works with EDIMAX RTL8192CU based dongles
- Controllers:
- External controllers and some usb hubs may work. It’s technically possible to map 2-4P games to controllers.
- Memory:
- Memory is only 256MB on the system, so some roms won’t work. This version has another 512M of virtual memory (swap) but not all cores benefit from it directly. Some large roms may run into out of memory issues, also some cores like Parallel-N64 and mupen64plus may not work via the menu due to the memory.
Batocera Development Testing Release (based on v0.7)
This is a test development release for testing the new updated SDL2 & EGL PVR drivers by @JohnnyonFlame
It's based on v0.7 and is just intended for testing.
You can find the full image and the incremental build. If you already have v0.7 installed, just extract boot.tar.xz and copy over the boot/batocera file that contains the rootfs.
The toolchain SDK for development against the batocera for RG35xx lite release v0.7. It should be compatible with future versions since the baseline is now fairly stable.
The image contains an updated kernel that allows adb to be used. Simply flash the image, mount the sdcard on your computer and in the first partition:
- Make a copy of the uImage (e.g.
cp uImage base_uImage
) - Copy the adb_uImage to uImage (
cp adb_uImage uImage
) - reboot
Once the device boots you should be able to use adb shell to connect to the device. Note that using the adb version disables usb access.
Note that by default graphical applications will fail, you will need to set up the following environment variables:
export HOME=/userdata/system
export SDL_RENDER_DRIVER=opengles2
cd $HOME
Also, if you want to test applications you may want to stop EmulationStation:
killall retroarch-launcher.sh
killall emulationstation
Note that this version has the rootfs in ext2 format with r/w enabled. So you can add your own binaries and libraries /usr/bin
(or /usr/local/bin
and /usr/lib
(or /usr/local/lib
).
Batocera 37-dev for RG35XX Beta v0.8
- Moved completely away from X11 graphics. Thanks to the excellent work by @JohnnyonFlame we now have a GPU fbdev based SDL2 version that performs significantly better
- As part of this change the tearing issues with refresh have now been solved as he fixed the VSYNC issues
- Rebased all the changes to be in sync with the latest batocera v37 development branch, so there are several standalone emulators and cores updated
- Replaced pico8 core retro8 with fake8
- General performance improvements
- Solved the audio volume issue. Audio volume should now be consistent across the system, also the audio slide overlay is visible in EmulationStation frontend
- System charging algorithm has been disabled in this build since it led to more confusion than convenience. However, if you want the system to enter into charging after shutdown delete the file boot/firstBoot from the first partition (BATOCERA)
NOTE: If you update instead of flash, copy the batocera.conf
file attached below to SHARE/system/batocera.conf
Batocera 36 for RG35XX Beta v0.7
Important:
This is the first beta release of batocera 36 for the RG35XX. While most of the functionality of retroarch is there, this release may not be ready for day to day use. If you want a stable release use GarlicOS, or MinUI.
The general status of this firmware (both the retroarch standalone and batocera builds) can be tracked here #1. Please report back with status via issues or in the Retro Handhelds Batocera/GPU Discord Channel
Installation:
To install into a new SDCARD:
- Flash the
batocera-rg35xx-36-20230420.img.gz
to a SDCARD of at least 8GB - Insert the card on your RG35XX and power it on
- Wait until the system expands the SDCARD partitions and boots into Batocera EmulationStation (note that this first boot takes about one and a half minute)
To update from v0.6:
- Mount the v0.6 SDCARD on your computer
- extract the
boot.tar.xz
file - Copy the contents of the archive into the first partition of your SDCARD. You will see the files uInit, ramdisk.img, uEnv.txt, etc.
- Reboot
2023/04/20 v0.7 ChangeLog:
- First full batocera beta release (no longer lite)
- Added initial charging logic, it's now finally possible to charge the device while being powered off:
- When the system is powered off but connected to the power it no longer powered off but enters the charging mode.
- This also happens If your device is powered off but you connected it to power
- When the system is in charging mode, press power button briefly to boot
- Fixed led status (broken in v0.6)
- Updated external roms folder mount points to allow compatibility with non-batocera structure roms folders. It’s now possible to reuse OFW or GarlicOS sdcard roms and bios folders (Thanks @XQuader for the patch).
- Fixed internet connection status message (no longer showing
Status Not Connected
after a successful connection) - Fixed DeSmume and melonDS NDS cores
- Added support for Space Cadet Pinball port
- Added eDuke32 port
- Added libretro-ecwolf
- Added mame (current) libretto core
- Added od-commander file browser
- Enabled scraper content download for all platforms (thanks batocera @nadenislamarre)
- Earphones detection/audio switching is working (probably fixed in v0.6 but not tested before)
- Consolidated build system to use batocera standard image
- Rootfs has not changed to squashfs format. This is due to space savings and to allow updates
- ADB can now be enabled by switching the kernel. Mount the first partition of the SDCARD on your PC, make a copy of uImage, and copy adb_uImage to uImage. After the system reboots adb will be available.
- Fixed direct launch into retroarch. Add an empty file to the first partition of the SDCARD named
startRA
. The configuration may be missing, so you may need to theretroarch.cfg
below to the/userdata/system/.config/retroarch/retroarch.cfg
(via network or mounting the second partition of the SDCARD)
Thanks to @XQuader for the batocera shares mount patch.
Known Issues:
- There are some issues with USB detection on some boards. So far there's no clear indication which boards may have this problem, but some devices will only have USB working after the first flash of the new firmware. After the system restarts USB no longer works.
- Second SDCards only work if they are in FAT32 format
- Audio level is currently broken. It resets to 100% after launching a rom/port
- Charger logic is still incomplete. For instance rebooting does not completely reboots but requires the user to press power again.
- Current cores have not been explicitly optimized for this handheld, so performance may vary and in some cases be worse than expected. Please create a ticket with an example of an emulator/core/rom that is not performing correctly.
Update:
- Daphne emulator does not have the correct keys configured, below you can find the file
daphne.keys
. Just copy that file to/userdata/system/config/evmapy/
Batocera Lite for RG35XX Test Release Alpha 0.5 for 6.0C revisions
This is a test release for troubleshooting board revision 6.0C issues, don't install it if your console is working correctly.
Please report issues or how this works on your device in this ticket: #23