Skip to content

Releases: EapRules/masseffect-native-arm

v1.0.7 — ROCKNIX/panfrost GL fix

Choose a tag to compare

@EapRules EapRules released this 12 Aug 01:22

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 bundled libstdc++ shadowed what libgallium needed (GLIBCXX_3.4.29), the driver failed to load, and glvnd silently ended up with no driver at all. The symptom was eglGetDisplay -> 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.txt either 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.6

Choose a tag to compare

@EapRules EapRules released this 10 Aug 16:06

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.5

Choose a tag to compare

@EapRules EapRules released this 10 Aug 01:37

Fix for "no 32-bit GL provider found" on ArkOS-family R36S builds: some of them 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 even though the driver was there. The launcher now searches that path first. Confirmed independently by two users (thanks Bheathy and Dangerous-Badger525).

Update via autoinstall + reboot; your imported game data is kept. No .sh editing needed.

v1.0.4

Choose a tag to compare

@EapRules EapRules released this 10 Aug 00:59

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.3 — Knulli support, out of the box

Choose a tag to compare

@EapRules EapRules released this 07 Aug 22:14

The Knulli release

Credit: Slimybirch on Reddit proved this game runs on Knulli Gladiator with a hand-edited launcher and shared exactly what he changed. This release turns that 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 instead of the raw blob they don't support.
  • SDL video backend by capability: the port asks your firmware's SDL which drivers it carries and selects the vendor mali backend when present.
  • Complete diagnostics (same as Dead Space v1.2.3/v1.2.4): the log states its version, surveys your firmware's GL stack, tests drivers step by step, and lists missing 32-bit libraries by name. One run of log.txt tells the whole story.
  • Devices that already worked are untouched (verified identical on the R36S).

Knulli / muOS users: update and try WITHOUT manual edits — and report back either way.

Install

Drop the zip in ports/autoinstall/ and reboot. Updating keeps your game data and saves.

v1.0.2 — smooth camera on every device

Choose a tag to compare

@EapRules EapRules released this 07 Aug 00:02

Fix

  • Jerky right-stick camera (#2): the engine reads the right stick as a touch swipe — the camera only turns while the value keeps changing — so the port feeds it a synthetic ramp. The old ramp stalled once every 3 frames; how bad that felt depended on your device's framerate (tolerable on the R36S, really jerky on the RG34xxSP). The ramp is now time-based (400 ms cycle), identical on every device, and the stall all but disappears. Vertical camera with the stick held at the rail is the case to try.
  • MASSEFFECT_CAMERA_NO_SWIPE=1 still sends raw values if you ever want to compare.
  • Also ships: clean-exit fix follow-ups and a clearer eapx first-install log (the old "cannot adopt" line looked like an error; it never was).

Install

Drop the zip in ports/autoinstall/ (or install via PortMaster) and reboot. Updating keeps your imported game data.

v1.0.1 — exiting actually exits

Choose a tag to compare

@EapRules EapRules released this 06 Aug 19:34

Fixed

  • Freeze on A at the main menu (#1): on firmwares whose SDL mapping inverts the face buttons (several R36S clones on dArkOSRE, muOS devices), the physical A was read as the exit key, and the exit path called an Android method the port did not implement — the engine shut down (music and animations stopped) while the process kept running. MainActivity.finish() is now implemented: a requested exit quits cleanly back to the frontend, on every layout.
  • If your A button acts as back/exit, set the layout to match your device: edit ports/Mass Effect Infiltrator.sh and uncomment the line # export MASSEFFECT_FACE_LAYOUT=xbox. The port prints the active layout (and the raw controller mapping) in log.txt on every launch.

Changed

  • eapx updated to 0.4.2 (progress screen centred in a safe area on non-4:3 panels).
  • Packaging now refuses a stale binary and an out-of-date eapx.

Updating

Drop the new masseffect-portmaster.zip into your PortMaster autoinstall/ folder and reboot. Game data and saves are untouched.

v1.0.0 — Mass Effect Infiltrator native PortMaster port

Choose a tag to compare

@EapRules EapRules released this 01 Aug 22:26

Native PortMaster port of Mass Effect Infiltrator (v1.0.58 gamepad build). No emulator: the original ARM library runs through a bionic/JNI so-loader.

Bring your own game data — the release contains zero EA content.

Device-generic: built against an old glibc (runs on ArkOS/AeolusUX and newer), detects the panel and scales (fit/stretch/integer), detects the audio server, and finds the Mali blob generically.

Install: put masseffect-portmaster.zip in PortMaster's autoinstall/, put your v1.0.58 APK + cache in ports/masseffect/, open PortMaster, reboot, launch. First boot imports ~750 MiB. See the README for details.