Batocera 35 and Vontar X3
Latest update:
In the dining room there is an old (2013) 1080p telly with an old (2020)
Android TV box connected to it. The TV box contains an ancient
Amlogic S905X3 SoC inside. It has just enough power to play
Youtube & 1080p movies from a network drive but not much else.
Some time ago I heard about repurposing this particular model (Vontar
X3) as a retro-gaming console, but anticipating battles similar to
those with openwrt-on-outers--where 2 devices with the exact same name
have slightly different hardware revisions (& as a result, nothing
works as expected)--I've been putting off the adventure.
The easiest Linux gaming distro to deploy is a French one called
Batocera. Its
wiki describes perfomance of a particular device in terms of console
generation support:
Gén |
Consoles |
3 |
NES |
4 |
SNES, Sega Mega Drive |
5 |
PlayStation (psx), PlayStation Portable (psp) |
(I've skipped the irrelevant generations.)
In my tests, while the modest S905X3 runs most psx & psp games
acceptably, some titles have such a perceived frame drop (that do not
occur on a desktop PC running the same emulator as Batocera) that it
makes them unplayable. The prominent unsuccessful examples are CTR:
Crash Team Racing (psx) and MotorStorm: Arctic Edge (psp).
The last Batocera version for the Vontar X3 is 35 (the OS images for
this device haven't been updated since '22). I dd'ed
batocera-s905gen3-tvbox-gen3-35-20220910.img onto a 32GB SD card,
inserted the card into the TV box, pressed its reset button with a
toothpick, plugged in the power cable, & saw this:
The TV's info popups indicated that the resolution of this shaky image
was 1080i (interlaced?) instead of the expected 1080p. I then tried 2
completely different (albeit much newer) TVs, as well as a capture
card--none of them had any problems negotiating a proper resolution
with Batocera.
After pointlessly suffering with various kernel parameters, I ended up
with the following kludge to disable the interlaced mode:
Connect the device to your LAN via the ethernet port. Batocera runs
Avahi, hence we can just say
$ ssh root@batocera.local
(The password is 'linux'.)
Run
# batocera-resolution listModes | head -10
max-1920x1080:maximum 1920x1080
max-640x480:maximum 640x480
0.0.1920x1080.60:HDMIA 1920x1080 60Hz (1920x1080i)
0.1.1920x1080.60:HDMIA 1920x1080 60Hz (1920x1080)
0.2.1920x1080.60:HDMIA 1920x1080 60Hz (1920x1080)
0.3.1920x1080.60:HDMIA 1920x1080 60Hz (1920x1080i)
0.4.1920x1080.50:HDMIA 1920x1080 50Hz (1920x1080)
0.5.1920x1080.50:HDMIA 1920x1080 50Hz (1920x1080i)
0.6.1920x1080.24:HDMIA 1920x1080 24Hz (1920x1080)
0.7.1920x1080.24:HDMIA 1920x1080 24Hz (1920x1080)
inside Batocera. Take a note of a mode you'd like to see.
Turn the device off. Extract the SD card out of it & insert it into
a PC. The card has 2 partition: the 1st one is fat32 that has
batocera-boot.conf
file. Add a line to it:
es.resolution=0.1.1920x1080.60
The picture will still incessantly jerk from left to right, but only
during the boot phase:
# batocera-info
Disk format: ext4
Temperature: 66°C
Architecture: tvbox-gen3
Model: Shenzhen Haochuangyi Technology Co., Ltd H96 Max
System: Linux 5.10.134
Available memory: 624/932 MB
Cpu model: ARMv8 Processor rev 0 (v8l)
Cpu number: 4
Cpu max frequency: 1908 MHz
There is little to add here. You copy your .nes/.sfc/.chd/.iso files
to /userdata/roms/{nes,snes,psx,psp}
either directly onto the 2nd
partition of the SD card, or via ssh, or even smb, for Batocera runs
Samba.
- I couldn't find any guidance on how to pronouce it:
there is a type of beetles called /bə'tosərə/, but some youtubers say
it as /bαto'sɛrα/.
Tags: untagged
Authors: ag