[Replicant] [PATCH 0/7] Per process libagl/llvmpipe

Joonas Kylmälä joonas.kylmala at iki.fi
Sun Oct 13 18:25:43 UTC 2019


Hi,

thanks for the reply!

I'm planning to push these patches tomorrow so if you have any
objections please do that now.

Joonas

Andrés Domínguez:
> Hi.
> 
> As Joonas says, that last patch should not be pushed, without it we have
> the expected behavior: it uses the system default opengles renderer.
> 
> Andrés Domínguez
> 
> El jue., 10 oct. 2019 a las 20:07, Joonas Kylmälä (<joonas.kylmala at iki.fi>)
> escribió:
> 
>> Hi,
>>
>> so we didn't get anyone to review these patches except the last one:
>> <https://redmine.replicant.us/issues/1844#note-13>. The last patch
>> turned out to be not needed as my testing showed and reading the patch's
>> logic it is doing nothing except forcing llvmpipe which is not wanted. I
>> suggest we push these patches except the last one now even if there is
>> no review as more than one week has passed.
>>
>> I'm still hoping to hear from at least some of you in the To field of
>> this email whether you are okay pushing the patches.
>>
>> Joonas
>>
>> Joonas Kylmälä:
>>> Hi,
>>>
>>> I got this setup working successfully if I don't apply the last patch.
>>> Without the last patch I can choose the default renderer with
>>> instructions at
>>>
>> https://redmine.replicant.us/projects/replicant/wiki/Graphics#Enabling-llvmpipe-as-software-renderer
>> .
>>>
>>> And then if the system default renderer is llvmpipe and I want browser
>>> to work with libagl I run: mkdir /etc/libGLES_android && touch
>>> /etc/libGLES_android/com.android.browser.
>>>
>>> And if the system default renderer is libagl and I want browser to work
>>> with llvmpipe I run: mkdir /etc/libGLES_mesa/ && touch
>>> /etc/libGLES_mesa/com.android.browser
>>>
>>> Without the last patch:
>>>
>>> Tested-by: Joonas Kylmälä <joonas.kylmala at iki.fi>
>>>
>>> Joonas
>>>
>>> Andrés Domínguez:
>>>> Selection of libagl or llvmpipe at EGL link time. It's based
>>>> on the work of Jookia and JeremyRand, but it uses files for
>>>> configuration instead of properties or symlinks.
>>>>
>>>>
>>>> First it looks for files with the names libGLES_mesa and
>>>> libGLES_android (in this order) inside
>>>> /data/data/<app directory>/, it links to the first it finds.
>>>> Then it looks for a file with process name inside
>>>> /system/etc/libGLES_mesa/ and /system/etc/libGLES_android/
>>>> (again in this order). This is useful for processes that
>>>> don't have app folder in the data partition, like
>>>> surfaceflinger, system-server or bootanimation.
>>>> Surfaceflinger should definitely use libagl, because it's
>>>> extremely slow with llvmpipe.
>>>>
>>>> The solution is not elegant but it's simple and I don't
>>>> except this to be used in Replicant 9 or latter.
>>>>
>>>> Andrés Domínguez
>>>>
>>>>
>>>> Andrés Domínguez (2):
>>>>   Change symlinks to files and static paths
>>>>   Allow overrides of zygote's libGLES preload. Default to mesa
>>>>
>>>> JeremyRand (5):
>>>>   EGL Loader patch to use both LLVMpipe and libagl at once
>>>>   EGL renderer override: use symlinks instead of properties to specify
>>>>     overrides.
>>>>   Fix some type fails in EGL renderer override
>>>>   Fix documentation typo in EGL renderer override
>>>>   Fix checking of access() return value in EGL renderer override
>>>>
>>>>  opengl/libs/EGL/Loader.cpp | 140 ++++++++++++++++++++++++++++++-------
>>>>  1 file changed, 114 insertions(+), 26 deletions(-)
>>>>
>>> _______________________________________________
>>> Replicant mailing list
>>> Replicant at osuosl.org
>>> https://lists.osuosl.org/mailman/listinfo/replicant
>>>
>>
> 


More information about the Replicant mailing list