Skip to content

v1.2.8 — ROCKNIX/panfrost: the port was hiding Mesa from itself

Latest

Choose a tag to compare

@EapRules EapRules released this 12 Aug 00:12
· 1 commit to main since this release

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 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 visible symptom was eglGetDisplay -> 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 ldd32 output 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.