Releases: EapRules/realracing3-native-arm
Release list
v1.0.6 — ROCKNIX/panfrost GL fix
Fixed
-
ROCKNIX devices in panfrost mode could not start. The port bundles its own libraries (built against an old glibc so it runs on every firmware) and puts them first on the library path. Mesa's EGL driver is loaded by glvnd through a plain
dlopen, which walks that same path — so on a firmware with newer Mesa, the bundledlibstdc++shadowed whatlibgalliumneeded (GLIBCXX_3.4.29), the driver failed to load, and glvnd silently ended up with no driver at all. The symptom waseglGetDisplay -> EGL_NO_DISPLAY / EGL_BAD_PARAMETER, which looks like a broken EGL and was really the port's own search path.The Mesa driver is now probed first, and only if it fails does the port let the firmware's copies of the shadowed libraries take precedence — reverted if that does not help, since a firmware with older libraries must keep the bundled ones. The driver's dependency audit is written to
log.txteither way.Diagnosed from field logs on the Dead Space port by @AmmoniumDichromate.
ROCKNIX status
- libmali mode: works — set the device's GPU driver to
libmali. - panfrost mode: reaches a live GL context now (it could not before) but renders black and crashes shortly after — a fixed-function GLES 1.1 path on Mesa/Panfrost. Documented in the README as a known limitation.
Everything else
No changes for ArkOS/dArkOS/muOS — those use the vendor blob path, which this does not touch.
v1.0.5 — muOS face layout
Fixed
- ABXY on muOS (RG 40XX-H report, #10): the launcher now sets the face-button layout by CFW, as Dead Space and Mass Effect Infiltrator already do. muOS curates its SDL mappings to match the printed labels, so the port's Nintendo-style swap double-swapped there and the buttons felt Xbox-mapped.
REALRACING3_FACE_LAYOUTstill overrides either way.
Compatibility
- RG 40XX-H (muOS) joins the list: install, video and audio confirmed working on v1.0.4 by @twinch1 — this release fixes the last reported item (face buttons).
No other changes. If you're on v1.0.4 and not on muOS, there is no need to update.
v1.0.4
ROCKNIX / Wayland fix (please test!): on firmwares that run a Wayland compositor, the port picked the vendor GL wrapper and its EGL could not join the session (EGL_NOT_INITIALIZED after a clean install — RG-DS reports). The launcher now detects the Wayland session and uses the firmware's own Mesa EGL, which is how ROCKNIX's official ports run.
muOS ABXY fix: the face-button default now follows the CFW — no more Xbox-feeling layout on the RG 40XX-H family, and no .sh editing that an update wipes.
Update via autoinstall + reboot; imported game data is kept.
v1.0.3
Fix for "unusable GPU driver" on ArkOS R36S: some ArkOS builds keep their working 32-bit GL set in /usr/local/lib/arm-linux-gnueabihf, a path the launcher didn't search — the port refused to start with "This firmware ships no 32-bit Mali blob" even though the driver was there. The launcher now searches that path first. Credit to Bheathy on Reddit for finding it.
Update via autoinstall + reboot; your imported game data is kept. No .sh editing needed anymore.
v1.0.2
ROCKNIX fix: on firmwares whose mali-hook resolves libmali.so.1 for its gbm entry points (reported on an RG DS running ROCKNIX), the port's GL shim shadowed the real blob with a GLES1 alias and the screen stayed black after a successful install. The shim now hands that soname to the firmware's own blob.
Also ships eapx 0.4.4: your game data is now accepted as loose files, as an Android/obb backup zip, or as that backup's extracted folder — and the first-boot import screen renders correctly on the console.
If you hit the black screen on ROCKNIX, please update and report back.
v1.0.1 — Knulli support, out of the box
The Knulli release
Credit: Slimybirch on Reddit got this game running on Knulli Gladiator with a hand-edited launcher and shared the exact change. This release turns it into automatic detection:
- New GL tier: firmwares shipping a split wrapper set (
libEGL.so+libGLESv2.so, the Batocera/Knulli layout) are detected and used directly — with the game's mixed GLES1+GLES2 dispatch kept on a single driver. - SDL video backend by capability: the port asks your firmware's SDL which drivers it carries and selects the vendor
malibackend when present. - Complete diagnostics: the log states its version, surveys your firmware's GL stack, tests drivers step by step, and lists missing 32-bit libraries by name.
- Devices that already worked are untouched (verified identical on the R36S).
Knulli users: update and try WITHOUT manual edits — reports welcome either way (performance there is still 'good enough to play', per the first field report).
Install
Drop the zip in ports/autoinstall/ and reboot. Updating keeps your imported game data.
Real Racing 3 v1.0.0
First public release.
Runs the original Android 2.7.0 (ROW, armeabi-v7a) library natively on Linux/ARM handhelds - no emulator, no Android runtime.
Bring your own game. This release contains zero EA game content. You need two things: the 2.7.0 APK for the native libraries, and a backup of the app's data directory (~2.4 GB) for everything else. The data can no longer be downloaded - the game's asset server is gone. Get the Mali/ETC texture family. The first launch imports whatever you drop in ports/realracing3/ - folder, ZIP or APK, any filename.
Required library: lib/armeabi-v7a/libRealRacing3.so, SHA1 615c9aa4a92faaf9a0f34750e344e5e8a6b9aedf. Any legitimate 2.7.0 copy works; validation checks the bytes the loader patches, not one whole-file hash.
Tested on an R36S (RK3326, Mali-G31) at 640x480, around 15-20 fps. Reports from other devices very welcome.