Releases: EapRules/deadspace-native-arm
Release list
v1.2.8 — ROCKNIX/panfrost: the port was hiding Mesa from itself
Fixed
-
ROCKNIX devices in panfrost mode could not start (#12). 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 visible symptom waseglGetDisplay -> EGL_NO_DISPLAY / EGL_BAD_PARAMETER, which looks like a broken EGL and was really the port's own search path.Now the Mesa driver is probed first, and only if it fails does the port let the firmware's own copies of the shadowed libraries take precedence — reverting if that doesn't help, since a firmware with older libraries must keep the bundled ones. Either way the driver's dependency audit is written to
log.txt, so a future failure names the exact library.Diagnosed from field logs by @AmmoniumDichromate, whose
ldd32output pinned the missing symbol precisely.
If you're on ROCKNIX
There is also a working alternative that needs no update: switching the device's GPU driver to libmali makes the port run today (reported working on an RG DS). This release is about making it work in panfrost mode too — reports from either mode are welcome.
Everything else
No changes for ArkOS/dArkOS/muOS — those use the vendor blob path, which this doesn't touch.
v1.2.7
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.2.6
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.2.5
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.2.4 — Knulli support, out of the box
The Knulli release
Credit where it's due: this fix exists because Slimybirch on Reddit got the port running on Knulli Gladiator by hand-editing the launcher and shared exactly what he changed. This release turns his edit into automatic detection:
- New GL tier: firmwares that ship a split wrapper set (
libEGL.so+libGLESv2.soin the 32-bit dirs — the Batocera/Knulli layout) are now detected and used directly. Previously the search committed to the rawlibmaliblob next to them, which those firmwares don't actually support — the silent black-screen everyone on Knulli/muOS saw. - SDL video backend by capability: the port now asks your firmware's SDL which video drivers it has; if it carries the vendor
malibackend (Batocera-derived SDLs do), it selects it automatically. - Everything is detected by capability — no firmware names, no hardcoding. Devices that already worked are untouched (verified identical on the R36S).
Knulli / muOS users: please update and try WITHOUT any manual edits — and report back either way. If it still fails, the log now contains everything (v1.2.3 diagnostics included).
Install
Drop the zip in ports/autoinstall/ and reboot. Updating keeps your imported game data.
v1.2.3 — one log tells the whole story
For everyone whose Dead Space doesn't start: this release is for you
No fixes in this one — something better: complete diagnostics. If the game doesn't start on your device, the new log.txt now answers every question in a single run:
- Which port version you're actually running (first line of the log).
- A
sys:survey: your firmware, kernel, and exactly which GL libraries your device ships in every searched directory. - The GPU-driver preflight logs what it accepted or rejected and why.
- If the window still can't be created: a step-by-step EGL trace (with named error codes) plus a full dependency audit of your GPU driver — every missing 32-bit library listed by name, not just the first one.
- The "unusable GPU driver" screen now returns you to the menu instead of a black screen.
muOS / Knulli users with the black screen: update, run once, share your log.txt — it now contains everything needed to ship the actual fix.
Install
Drop the zip in ports/autoinstall/ and reboot. Updating keeps your imported game data.
v1.2.2 — GL driver preflight: no more silent black screens
Fix
- The GL provider search now verifies a driver can actually be LOADED, not just that the file exists. On some firmwares (notably muOS on 64-bit userlands) a 32-bit Mali blob is present but its own 32-bit libraries were never installed — v1.2.0/v1.2.1 picked it and died silently. v1.2.2 dlopen-tests every candidate first, falls through to the next option, and if nothing works the on-screen message now tells you exactly which library is missing (full detail in
log.txt).
If you're on muOS and the game didn't start
Update, run once, and share your log.txt (or the on-screen message) on the thread/issue — it now names the exact missing 32-bit library, and with that we can look at shipping it in the next release.
If you're on ArkOS/AeolusUX with the "no 32-bit GPU driver" screen
That firmware genuinely ships no 32-bit GL stack — it's a firmware limitation, not a port bug. ROCKNIX ships full 32-bit GL on the same devices.
Install
Drop the zip in ports/autoinstall/ and reboot. Updating keeps your imported game data.
v1.2.1 — cursor on scaled panels, visible by default, ATC colors
Fixes
- Cursor could only reach a 640x480 corner on scaled panels (#5): the software cursor is now mapped through the same transform as the game's viewport, so on 1024x768 (and any other panel) it reaches the whole screen. The pointer sprite also scales up so it stays legible.
- Cursor now visible from boot: the game opens on touch-only menus, so the pointer shows immediately — no need to find Start first. A stick with resting drift can no longer hide it before you actually move. Prefer a clean screen? Set
DEADSPACE_CURSOR_HIDDEN=1. - Bluish tint with the Vita RIP (ATC) data fixed: the software ATC decoder swapped red and blue. Warm colors are warm again.
- Clearer eapx first-install log (the old "cannot adopt" line looked like an error; it never was).
Install
Same as always: drop the zip in ports/autoinstall/ (or install via PortMaster), put your Dead Space Mobile data next to it, reboot. Updating from v1.2.0 keeps your imported game data.
If you're on a 1024x768 device (dArkOS clones etc.), please report back on #5 — this release was built for you.
v1.2.0 — full-screen on every panel, GPU found by capability
Fixed
- Black screen with audio and a cursor on ArkOS/AeolusUX (and similar firmwares): the launcher only knew the GPU driver filenames of one firmware family. It now searches for a usable 32-bit GL stack in four tiers — known names, any unified Mali blob, a full Mesa/glvnd set (for firmwares that ship Panfrost instead of a blob), and if truly nothing is there, an on-screen explanation instead of a silent black panel.
- Game confined to the bottom-left corner on larger panels (#3, R36H Pro Max 1024x768 and friends): the engine's fixed 640x480 output is now scaled to the real panel. Default keeps the aspect (
fit);stretchandintegerare available viaDEADSPACE_SCALEin the launcher. - Audio routes through PipeWire/PulseAudio when the firmware runs one, plain ALSA dmix otherwise.
Nothing changes on a 640x480 R36S — every branch decides by capability, and the tested device takes the identical path it always took.
Changed
- Community cover art by Gloomy-Soil5721 is now the default cover. Thank you!
- eapx updated to 0.4.2; packaging now refuses a stale binary or an out-of-date installer.
Updating
Drop the new deadspace-portmaster.zip into your PortMaster autoinstall/ folder and reboot. Game data and saves are untouched.
Testing on a device that previously failed? Please report back with your device, firmware and what ports/deadspace/log.txt says near the GL: line — that's what builds the compatibility list.
v1.1.0 — glibc compatibility fix (ArkOS/AeolusUX) + robust donor validation
The compatibility fix promised on the release thread.
Fixed: "glibc_2.34 not found" on ArkOS / AeolusUX. The port is now built against glibc 2.29, so it runs on older firmwares as well as current ones. No downloaded runtime, no Wi-Fi step.
Improved donor validation (bring your own game). The native library is now validated by the exact byte regions the loader patches, not a single whole-file hash — legitimate v1.1.33 copies (regional variants, re-signed APKs, modder NOPs) are accepted; a genuinely different build is rejected with a clear message before it can crash. First-boot import is transactional and survives a mid-extraction power cut.
Install: put deadspace-portmaster.zip in PortMaster's autoinstall/, put your donor in ports/deadspace/ (Vita RIP zip, or the extracted Full tree under gamedata/donor/), open PortMaster, reboot, launch. To update an existing install, just drop the new zip in autoinstall/ again — game data and saves are kept.