Releases: rg35xx-cfw/rg35xx-cfw.github.io
Batocera Lite/Koriki Alpha for RG35XX Plus - 20240116
This is an early alpha image of batocera Lite/koriki for the RG35XX Plus, things are starting to work, but there many features missing at this point.
Important: there are still several performance issues with this release, while there are cores/emulators that are running fine, some others are not there yet. In general the build needs to be updated with optimizations, but there's still work to do.
Installation
New install:
- Flash image to a new sdcard
- Insert sdcard into the RG35XX Plus
- Press power a few seconds to boot
Update from 2023/12/17 or 2023/12/20 version:
- Extract the boot.tar.xz file
- Copy its contents to the third partition of the SDCARD (boot-resource or BOOT)
ChangeLog:
2024/01/16:
- Fixed audio click noise (not perfect but now very subtle)
- Fixed audio volume controls (volume can be controlled with the keys and is saved during reboots)
- Fixed audio not working on some emulators/cores
- Added brightness controls (level is saved across reboots)
- Added samba support. You can mount the SHARE partition as a network drive
- What works: amstrad, mame, atari2600, atari5200, atari7800, wonderswan color, amiga(uae4arm), c64 (libretro x64), pico8, scummvm (core), vectrex, dosbox, pcengine, g&w, nes, gb, snes, gbc, gba, openbor, sg-1000, mastersystem, megadrive, gamegear, spectrum, neogeo, neocd, ngpc, psx, psp, odyssey2, drastic, n64 (.zip with parallel libretro core, z64/n64 with mupen64plus)
- What is broken: scummvm standalone (unless using an external mouse), colecovision (missing core), Intellivision (probably a bios issue), msx2 (core missing), megacd, x86k (bios issue), flycast standalone
- Dreamcast is not working via flycast standalone, but it works via libretro_flycast.so. If you run into issues, download the
es_systems_dreamcast.cfg
file and add it to[SHARE]/system/configs/emulationstation
folder as a workaround
2023/12/20:
- Fixed Overclock settings that were not correctly setup. In EmulationStation, change default setting in emulationstation settings
- mupen64 now working
- Added additional cores (gearcoleco, gem, race, vm, bk, gearbox, meteor, quicknes, cannonball, mame2003-xtreme, crocosd, supafaust, etc.). Note that not all cores are mapped in EmulationStation yet, in some cases you will need to open retroarch, and select the core manually to test.
Things that don't work:
- Bluetooth
Brightness controlAudio has a static click sound when starting/stopping an emulator- Some cores/Standalone emulators:
- Flycast
Drastic (requires a minor update)- Amiga performance is not there yet
Controls in ES are not mapped initially, just press a button and map them using ES mapping tool- HDMI (not tested)
- Sleep/Supend
- SDCard auto-expansion does not work at this time. You need to use two SDCards at this point
- Boot time needs to be improved
- ~~Error 256 when launching roms. If you get that error mount the sdcard on your computer and create a folder system/logs on the last partition of the SDcard (SHARE). ~~
- Batocera bezels (not tested)
- Menu language change (graphical themes get updated, but the menu remains in English)
- Drastic works but stylus mapping is not correct
Things that work:
- Wifi
- Controls
- Many cores/emulators
- EmulationStation
- Simplemenu
Additional features:
- Switching default launcher (ES/Batocera, Simplemenu/Koriki, or Retroarch):
- Create a new file in
[SHARE]/system/customlauncher
with the textsimplemenu
in it. - The next time the system starts will launch simplemenu instead of EmulationStation
- Possible values for the custom launcher file are:
simplemenu
,emulationstation
, andretroarch
- Create a new file in
- One or two SDCARDs?
- Since SDCARD SHARE partition expansion does not work at this time, the best solution is to use a second sdcard for content.
- If you want to use just one SDCARD, you will need to expand the last partition of the SDCARD (partition 4) to use the maximum space available, not that modifying the partition table of the batocera card may break the internal bootloader, so if the sdcard does not boot after expanding the card, refresh the image and use a second card for content.
- General performance:
- Expect some cores/emulators to perform better than the original RG35XX, but don't be surprised if some of them perform worse at this point. Cores and emulators have not been optimized yet
Buildroot/Batocera Lite SDK Toolchain for RG35XX plus - 20231212
This is a toolchain for the RG35XX plus for developers to port additional tools, ports, etc.
Batocera lite rootfs for RG35XX plus - Developers Only
This partition image is only for developers to test. It's not ready for end users, there are still many things unfinished.
- Download & unzip
- Flash the image in the attached file (rootfs.ext2) on top of stock p5, or use chroot
- You need to have a single partition sdcard on the second SDCARD slot for roms, bios and content (system folder)
- If you get error 256 in batocera, create a folder [SHARE]/system/logs
What works:
- Controls
- Sound
- Wireless
- Most emulators (cores, and standalone)
What's missing:
- Shutdown/Reboot
- Brightness control (already solved, will be in next release)
- Bluetooth
- Proper SDcard structure (not the current stock 7 partition structure)
- Flycast (standalone and core) is currently broken
- Data partition expansion
- ... and many other big and small issues
Batocera Lite/Koriki Pre-Alpha for RG35XX Plus - 20231220
This is a very early image of batocera Lite/koriki for the RG35XX Plus, many things are broken at this point but the build is mostly functional.
Important: there are still several performance issues with this release, while there are cores/emulators that are running fine, some others are not there yet. In general the build needs to be updated with optimizations, but there's still work to do.
Installation
New install:
- Flash image to a new sdcard
- Insert sdcard into the RG35XX Plus
- Press power a few seconds to boot
Update from 2023/12/17 version:
- Extract the boot.tar.xz file
- Copy its contents to the third partition of the SDCARD (boot-resource or BOOT)
ChangeLog:
2023/12/20:
- Fixed Overclock settings that were not correctly setup. In EmulationStation, change default setting in emulationstation settings
- mupen64 now working
- Added additional cores (gearcoleco, gem, race, vm, bk, gearbox, meteor, quicknes, cannonball, mame2003-xtreme, crocosd, supafaust, etc.). Note that not all cores are mapped in EmulationStation yet, in some cases you will need to open retroarch, and select the core manually to test.
Things that don't work:
- Bluetooth
- Brightness control
- Audio has a static click sound when starting/stopping an emulator
- Some cores/Standalone emulators:
- Flycast
- Drastic (requires a minor update)
- Amiga performance is not there yet
- Controls in ES are not mapped initially, just press a button and map them using ES mapping tool
- HDMI (not tested)
- Sleep/Supend
- SDCard auto-expansion does not work at this time
- Boot time needs to be improved
- Error 256 when launching roms. If you get that error mount the sdcard on your computer and create a folder system/logs on the last partition of the SDcard (SHARE).
Things that work:
- Wifi
- Controls
- Many cores/emulators
- EmulationStation
- Simplemenu
Additional features:
- Switching default launcher (ES/Batocera, Simplemenu/Koriki, or Retroarch):
- Create a new file in
[SHARE]/system/customlauncher
with the textsimplemenu
in it. - The next time the system starts will launch simplemenu instead of EmulationStation
- Possible values for the custom launcher file are:
simplemenu
,emulationstation
, andretroarch
- Create a new file in
- One or two SDCARDs?
- Since SDCARD SHARE partition expansion does not work at this time, the best solution is to use a second sdcard for content.
- If you want to use just one SDCARD, you will need to expand the last partition of the SDCARD (partition 4) to use the maximum space available.
- General performance:
- Expect some cores/emulators to perform better than the original RG35XX, but don't be surprised if some of them perform worse at this point. Cores and emulators have not been optimized yet
Batocera 37-dev for RG35XX Beta v0.8.1
ChangeLog:
- Fixed the following retroarch issues:
- Enabling Threaded Video option resulted in a crash
- Close Content resulted in a crash
- Shaders were not working
- Re-enabled scrapers that were mistakenly disabled in v0.8
- Updated libretro cores: ppsspp, mgba, snes-next
NOTE: If you update instead of flash, copy the batocera.conf
file attached below to SHARE/system/batocera.conf
RetroArch (GPU enabled) for RG35XX Test Release Alpha 0.1
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 goal of this release is to gather feedback from the users while the rest of the system gets complete. It's also a good test build to determine whether the GPU addition improve things beyond those cores that require GL.
General notes
This release is basically the same skeleton as the Batocera EmulationStation build, but the batocera build requires more team before it can be released, so I decided to release the retroarch only version so anyone can play with this version.
The general status of this firmware (both the retroarch standalone and batocera builds) can be tracked here, and you can follow development updates here
Below are a list of things that are currently broken or require clarification:
- Power button is not working for shutdown. In order to shutdown you need to remove the sdcard, reset and
- Brightness control is not working
- Volume control works with Menu (Hotkey)+Volume keys
- 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 retroarch is currently broken
- There’s no overclocking/underclocking control
- USB external devices work but need to be (re-)connected after boot
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 (*)
- Boot
- Note: The first boot will take a bit longer but after that the system should take about 15-20s to fully boot into retroarch.
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
- 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 37 for RG35XX SDK Beta 0.8
This release includes the updated SDK toolchain after the repository rebuilt based on batocera v37.
- SDK: arm-buildroot-linux-gnueabihf_sdk0buildroot.tar.gz
- batocera rootfs update: boot.tar.xz
After installing the last v0.7 or dev 0.7 version, update boot/batocera
using the boot.tar.xz
archive.
Batocera toolchain SDK for RG35XX Alpha 0.5
This is the toolchain SDK for development against the batocera for RG35xx lite release v0.5. It should be compatible with future versions since the baseline is now fairly stable.
The image below (batocera_lite_rg35xx_20230418_v0.6_adb.zip) 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 DISPLAY=:0
export HOME=/userdata/system
export SDL_RENDER_DRIVER=opengles2
cd $HOME
Also, if you want to test applications you may want to stop EmulationStation. To do so, edit the file /etc/X11/xinit/xinitrc
comment out the retroarch-launcher.sh line, and remove the comment from the xterm at the end of the script. Then run killall retroarch-launcher.sh & startx
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 Lite for RG35XX Test Release Alpha 0.6
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:
This version changes the bootloader so it's not possible to update. To install:
- Flash the
batocera_lite_rg35xx_20230412_v0.6.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)
Second SDcard or reformatted SHARE partition installation
IMPORTANT: if you use an sdcard that you already have with content for the sdcard, you may have issues with audio volume and with controls. Read the following:
- If you have a new sdcard in port 2, just go to the Settings -> System Settings -> Storage and select your second card as the storage. Then reboot and batocera will create the required file structure there. You can then power off the console, take the card out and insert it on your computer and copy your content.
- If you have an existing second card (e.g. from version v0.3 or v0.4) you need to copy two files:
- Copy
batocera.conf
to the second card pathbatocera/system/batocera.conf
- Copy
es_input.cfg
to the second card pathbatocera/system/configs/emulationstation/es_input.cfg
- Copy
- If you have an existing card with roms that is not batocera, batocera will create a batocera folder with the typical batocera structure at the top of the sdcard. By default batocera will look for roms in batocera/roms, and bios in batocera/bios. Just move your existing roms & bios to that location.
- If you use one single SDCard but have reformatted the second partition (SHARE) you also need to copy the
batocera.conf
andes_input.cfg
as described above.
2023/04/12 v0.6 ChangeLog:
- Updated bootloader and uboot for latest board revisions compatibility
- By default the installation has the 2600mAh battery curve, but there's also a 2100mAh battery curve in the first partition
- If you have a 2100mAh battery, insert the sdcard on your computer, move the file
kernel.dtb
to2600mAh-gpu.dtb
, and copy the file2100mAh-gpu.dtb
tokernel.dtb
- If you have a 2100mAh battery, insert the sdcard on your computer, move the file
- Updated the kernel to include overclock/underclock support.
- By default the frequency is set to 1008 MHz (same as previous releases) but it's possible to choose 5 levels of under/overclock: Powersave (240 MHz), Low (720 MHz), None (1008 MHz), High (1200 MHz), Turbo (1392 MHz) and Extreme (1488 MHz).
- To change the clock frequency, open batocera
Settings -> System Settings -> Overclock
and select the desired frequency. - When you exit the menu batocera will indicate that you need to reboot for the changes to be applied, but you can ignore that message. The selected frequency will be applied and saved in the configuration for the next boot.
Many thanks to @Black-Seraph for the battery calibration and dtb updates.
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)
- Drastic and NDS cores are not working on this version.
- 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.
Batocera Lite for RG35XX Test Release Alpha 0.5
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:
Two methods:
- Full image installation
- Flash the
batocera_lite_rg35xx_20230410_v0.5.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)
- Update (from v0.4)
- Extract the file
batocera_lite_r35xx_20230410_v0.5_update.img
(you should see abatocera
file) - Insert your v0.4 SDCard on your computer
- In the first partition, replace the file
boot/batocera
with thebatocera
file that you just extracted - Copy the
batocera.conf
file below to/userdata/system/batocera.conf
- Copy the
es_input.cfg
file below to/userdata/system/configs/emulationstation/es_input.cfg
- Insert the card back on the RG35XX and play!
Second SDcard or reformatted SHARE partition installation
IMPORTANT: if you use an sdcard that you already have with content for the sdcard, you may have issues with audio volume and with controls. Read the following:
- If you have a new sdcard in port 2, just go to the Settings -> System Settings -> Storage and select your second card as the storage. Then reboot and batocera will create the required file structure there. You can then power off the console, take the card out and insert it on your computer and copy your content.
- If you have an existing second card (e.g. from version v0.3 or v0.4) you need to copy two files:
- Copy
batocera.conf
to the second card pathbatocera/system/batocera.conf
- Copy
es_input.cfg
to the second card pathbatocera/system/configs/emulationstation/es_input.cfg
- Copy
- If you have an existing card with roms that is not batocera, batocera will create a batocera folder with the typical batocera structure at the top of the sdcard. By default batocera will look for roms in batocera/roms, and bios in batocera/bios. Just move your existing roms & bios to that location.
- If you use one single SDCard but have reformatted the second partition (SHARE) you also need to copy the
batocera.conf
andes_input.cfg
as described above.
2023/04/10 v0.5 ChangeLog:
- Fixed menu hotkeys not working on retroarch, it's now possible to access the menu by selecting
MENU
+B
- Fixed GL shaders, selecting the shaders in batocera EmulationStation options should work (e.g.
GAME RENDERING & SHADERS -> SHADER SET -> ZFAST
- Virtual memory has been enabled again, this should help to avoid some crashes in some games
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 an emulator/core/rom that is not performing correctly.