Project

General

Profile

Feature #1844

Feature #1539: Graphics acceleration

Select libagl/llvmpipe per app

Added by Jeremy Rand almost 2 years ago. Updated about 2 months ago.

Status:
Feedback
Priority:
Normal
Assignee:
-
Category:
Graphics
Target version:
Start date:
11/02/2017
Due date:
% Done:

10%

Estimated time:
Resolution:
Device:

Description

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.

History

#1

Updated by Jeremy Rand almost 2 years ago

Jookia and I have been tinkering around with this. Unfortunately https://redmine.replicant.us/issues/1843 has been a bit of a roadblock for this research.

#2

Updated by Jeremy Rand 12 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.)

#3

Updated by Kurtis Hanna 12 months ago

  • Target version changed from Replicant 6.0 to Replicant 6.0 0004
#4

Updated by Jeremy Rand 6 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:

getprop ro.zygote.disable_gl_preload

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

#5

Updated by Denis 'GNUtoo' Carikli 3 months ago

  • Status changed from New to Feedback
#6

Updated by Denis 'GNUtoo' Carikli 3 months ago

In order to be integrated in the next Replicant release (0004), the patches have to be sent on the mailing list so we could collectively review them.

Thanks a lot for working on that.

#7

Updated by Jeremy Rand 2 months ago

Newest patches are by adj (on top of earlier patches by Jookia and me), in these two repos:

#8

Updated by Kurtis Hanna about 2 months ago

  • Parent task set to #1539

Also available in: Atom PDF