Project

General

Profile

Graphics » History » Version 15

doak complex, 01/23/2020 08:31 PM
Add todos for adding information how to switch rendering solution

1 1 Wolfgang Wiedmeyer
h1. Graphics
2
3 14 doak complex
By default, _Replicant_ devices use the _Android software renderer_, which relies on the CPU for graphics rendering. Using the dedicated graphics processor (GPU) currently requires non-free software on all of the supported devices. As free-software replacements are not yet available, the GPU cannot be used with _Replicant_ for the moment (see [[GraphicsResearch]]). The software rendering is the reason why _Replicant_ devices appear slow at times and is responsible for a lot of crashes that can happen during usage.
4 11 Fil Bergamo
5 14 doak complex
_llvmpipe_ has more complete EGL support than the _Android software renderer_ (see #705), so more apps work with it, like _Firefox_-based browsers or more recent _webviews_ (see #1780). Unfortunately, _llvmpipe_ is still too slow to be the default renderer, but it is possible to switch back and forth between _llvmpipe_ and the _Android software renderer_.
6 1 Wolfgang Wiedmeyer
7 13 doak complex
h2. Enabling _llvmpipe_ as software renderer
8 1 Wolfgang Wiedmeyer
9 15 doak complex
TODO: The following enables it globally. Add information about scripts to switch only "non-system"-components (_SurfaceFlinger_, _bootanimation_, _system server_ ?) to _llvmpipe_.
10
TODO: Also add information which files are used for this (@/etc/libGLES_android@ and other files within @/data/data/<app>@). Refer to "this mail":https://lists.osuosl.org/pipermail/replicant/2019-August/002054.html.
11
12 1 Wolfgang Wiedmeyer
Make sure [[ADB]] is running as root and the system partition [[ADB#Modifying-the-system-partition|is mounted writable]].
13
14
The following command switches the software renderer implementation:
15
<pre>
16
adb shell "grep -q "ro.libagl=1" /system/build.prop && sed "s/ro.libagl=1/ro.libagl=0/" -i /system/build.prop || sed "s/ro.libagl=0/ro.libagl=1/" -i /system/build.prop" 
17
</pre>
18
19 14 doak complex
Then reboot the device. _llvmpipe_ should now be enabled. To switch back to the default _Android software renderer_, run the above command again and reboot the device.
20 6 Jeremy Rand
21 13 doak complex
There are also issues with certain apps when using _llvmpipe_, although crashes should be less frequent. Usually, the screen stays black if an app does not work with _llvmpipe_.
22
In case the screen compositor (_SurfaceFlinger_) is used with _llvmpipe_, this could have an effect to other apps. For instance with _Gallery_ and _Orbot_ it happens, that some GUI elements are visible, while the main screen is black. The GUI of _Simple File Manager_ works as long as no image is viewed in fullscreen. 
23 2 Wolfgang Wiedmeyer
24 14 doak complex
h2. Known issues with the _Android software renderer_
25 1 Wolfgang Wiedmeyer
26 14 doak complex
* Selecting the third option besides photo and video (_Panorama mode_) will crash the _Camera_ app.
27
* Video playback in the browser does not work. (issue #1533)
28
* Screenshots do not work. (see [[Screenshots]] for a workaround)
29
* Selecting wallpapers from storage does not work.
30
* Screen content is sometimes shortly visible before unlocking. (issue #1275, happens with _llvmpipe_ as well)
31
* Previews of the windows in the tasks switcher are missing.
32
* Switching between apps, apps and the launcher or different views inside an app is sometimes slow and the device may seem unresponsive.
33
* There are issues with using folders with the _Trebuchet launcher_. (issue #1790, happens with _llvmpipe_ as well)
34 1 Wolfgang Wiedmeyer
35 14 doak complex
h3. Popular apps from _F-Droid_ that do not work
36 2 Wolfgang Wiedmeyer
37 14 doak complex
* All _Firefox_-based browsers like "_IceCatMobile_":https://f-droid.org/repository/browse/?fdfilter=icecat&fdid=org.gnu.icecat and _Orfox_
38
* "_Document Viewer_":https://f-droid.org/repository/browse/?fdfilter=document+viewer&fdid=org.sufficientlysecure.viewer
39
* "_LibreOffice Viewer_":https://f-droid.org/repository/browse/?fdfilter=libreoffice&fdid=org.documentfoundation.libreoffice
40
* "_RedReader_":https://f-droid.org/repository/browse/?fdfilter=redreader&fdid=org.quantumbadger.redreader cannot display images ("upstream bug":https://github.com/QuantumBadger/RedReader/issues/279)
41 8 Denis 'GNUtoo' Carikli
42
h2. See also
43 9 Denis 'GNUtoo' Carikli
44 14 doak complex
* There is a page about [[GraphicsResearch]] that gather information to improve graphics support.