Select libagl/llvmpipe per app
It would be useful to be able to select libagl or llvmpipe renderer on a per-app basis. This would allow apps that need llvmpipe to work, while apps that don't need llvmpipe can run faster with libagl.
#2 Updated by Jeremy Rand 8 months ago
- % Done changed from 0 to 10
Experimental branch at https://notabug.org/JeremyRand/frameworks_native (specifically the replicant-6.0-egl branch). I haven't verified whether it builds without errors. If anyone would like to build it and post binaries (if it doesn't error), that would be welcome. (Make sure you verify the OpenPGP signature on the tip of the branch, it should be signed by my key.)
#4 Updated by Jeremy Rand 2 months ago
Some notes about the patch I linked above:
Requires ro.zygote.disable_gl_preload to be set. You can check for this by typing the following in an adb shell:
It should say "true".
You can create an EGL override by running the following in a root adb shell:
su -c "mkdir -m 770 /data/data/org.mozilla.fennec_fdroid/os_override" $(stat -c "%U" /data/data/org.mozilla.fennec_fdroid/) su -c "ln -s /system/lib/egl/libGLES_mesa.so /data/data/org.mozilla.fennec_fdroid/os_override/libGLES_impl.so" $(stat -c "%U" /data/data/org.mozilla.fennec_fdroid/)
The above example enables llvmpipe for the app "org.mozilla.fennec_fdroid".
You can access debug output by grepping logcat for "libEGL".
Docs for old patch by Jookia, which may still be useful: https://lists.osuosl.org/pipermail/replicant/Week-of-Mon-20171204/001457.html