[Replicant] Status of Mesa's llvmpipe for Android

dllud dllud at riseup.net
Mon Jul 15 14:36:19 UTC 2019


Hi everybody,

Mauro Rossi from the Android-x86 project had the kindness to give a detailed reply to my inquiry about llvmpipe's status on Android builds.

Since all this is public information I am forwarding Mauro's email bellow for future reference.

Summing it up: llvmpipe is not building for Android and there's not a single project using it. Replicant will/would be the only project using llvmpipe on Android. The burden of maintaining it would thus come down to Replicant for the foreseeable future.

It is worth considering having all software rendering done just through Google's SwiftShader. Keeping Mesa around just to use Lima or Panfrost.
Some people, me included, are not comfortable with relying solely on a Google project. Past experience (libAGL) told us that it can quickly get deprecated.
I will rise this discussion on IRC.



-------- Original Message --------
From: Mauro Rossi <issor.oruam at gmail.com>
Sent: July 15, 2019 9:08:32 AM GMT+01:00
To: dllud <dllud at riseup.net>
Subject: Re: Does Android-x86 still use Mesa's llvmpipe?

> Previously Android-x86 was explicitly enabling LLVM for swrast (
> https://osdn.net/projects/android-x86/scm/git/external-mesa/commits/61025f0b269c8c31ec76dba5f72d98590d001949
> ) and this is what Replicant 6 uses.
> However, nowadays, it seems you only enable LLVM for radeonsi (
> https://osdn.net/projects/android-x86/scm/git/external-mesa/blobs/oreo-x86/Android.mk
> ).
>
> Do you no longer use llvmpipe software renderer? Or is it enabled
> somewhere else?

Wu Zhen patches used in mesa 17/17.1 were not compatible with newer mesa,
so in oreo-x86 and later release Chih-Wei decided to use Swiftshader

Due to this change the evolution of swrast llvmpipe in mesa was not
mantained nor tested,
so at the moment I don't know if building it it may work for Android,
or what changes may be required.

The porting of Wu Zhen patches has stopped working, so at some point I have
abandoned them.
The last branches having the ported Wu Zhen patches buildable (but they
were not working) is 18.1.x_oreo-x86
https://github.com/maurossi/mesa/commits/18.1.0_oreo-x86

If you want to try if swrast is now working better with as is code,
the Android.mk build rules changes are in this old commit:
https://github.com/maurossi/mesa/commit/f7c2a171a4320a5a713861440f5f3df2611d7b1e

NOTE: remember to add 'softpipe' and 'llvmpipe' in BoardConfig.mk
BOARD_GPU_DRIVERS


NOTE: the dependency from gralloc in commit "android: support creating
texture from gralloc buffer (v2)"
was the reason the patches were not accepted for upstreaming in mesa,
while egl/android should now support swrast,
"drisw: support image extension (v2)" was not working as intended with new
mesa


More information about the Replicant mailing list