tree b932fd862f82c896333488f43f943ce7ac7069d8 parent b1cd41e23a3c71962b1573099ac99dce28a791d3 author Denis 'GNUtoo' Carikli 1607362203 +0100 committer Denis 'GNUtoo' Carikli 1607363786 +0100 gpgsig -----BEGIN PGP SIGNATURE----- iQIzBAABCAAdFiEEeC+d2+Nrp/PU3kkGX138wUF34mMFAl/ObNwACgkQX138wUF3 4mN8aA//cUQqva/Y5+saN65L9AyKDKUGim4COOBOi3GSJO9xxPDBC6TxS1Bu/kJE eFqPNa5vlCdvipT0+hzWPbRCqbrBkLOlaEre/mrd4b5XOreGSNeIAueC+6BTWKwv TU3kb2pCHTsnGQmX8+pQ+k9WfAlax2gAyBc18chwIPlru2qZ8RwQoN+6MWcztM1w ADtwyAgA1oNAh/b4BMc3YeKCGUBoHOAguSJZ4v9URxUGRyPwUHyyJx31LlMXTMAX inJZULQGayn/taLdN2M+Fz5tc6CSbIxBfuRHGzH4mvmc3GUixTgXP2YvBzg1Ta9x P1P8Ny9tb/KGnIro58lj2jk9OKRZa5WFkPMPm5TXzopQwHK/rUKZyJk8GLAeAkyH ZY3Ni+WwNGeAGvfWS6SpAWNsYdY5rCJBc/Dr41orM+4wEpA7zKQkph290x/uw8IC lsEH3v4bEoTCxDN7OtGoCkePO3rT2Gp7J5HNHexYeScEULuWd0JxaeBzL+tZ1W0V bxxBx3tytvOOj+rLQG+b80ftFB4PiA76hqk26ksheWIcDhIxokkAu7HfAVqTI795 fxQ5NbowMD/SM0FbmZVYrJ8PBpGk/AdnvX6xnTWzhCvqTYMidH5yUUui2huivuPU oxqdybxGcduFYo+tz9044A6Els2K7L/7wuOF6+6nx5t0dR73vZY= =rR3w -----END PGP SIGNATURE----- Workaround slow llvmpipe At first all the devices were using libagl. The issue is that certain applications like browsers based on Gecko didn't work as the OpenGL implementation wasn't complete enough. Then all devices were switched to llvmpipe, however the OMAP4 devices had a black screen at boot. Some attempts were made to enable specific devices to override the OpenGL implementation without much success. Since that didn't work, it would probably have required to move the OpenGL implementation in devices or common devices repositories and require changes in too much repositories. To avoid that, the following commit was made in framework/native to rid of the black screen of the OMAP4 devices at boot: 108a3f6c45c354116578f2d4bf6979c3b8aa0fb8 108a3f6c4 Enable llvmpipe on the Samsung devices with an OMAP4 SOC The real effect of that commit was to disable the ti_hwc and make the devices fall back on the default implementation which worked with llvmpipe. The issue is that, with that change, for some reasons graphics were painfully slow: On the Galaxy Tab 2, and the Galaxy Nexus, there was barely enough speed to enable users to go in the settings, enable root, and run a shell script to activate back the old libagl implementation. I then tried to force EGL_SLOW_CONFIG but it didn't work anymore with the default implementation as it failed to be selected. This made me conclude that the correct solution was probably to enable ti_hwc to use llvmpipe somehow. As this probably requires more work, and that work is ongoing to make Replicant use a kernel closely based on upstream Linux, it makes more sense for me to find a quick workaround here to have more time to work on Replicant versions that will have a kernel closely based on upstream Linux. This workaround was found in device/generic/qemu/ in init.ranchu.rc: # Disable GPU support setprop ro.kernel.qemu 1 setprop ro.kernel.qemu.gles 0 It appears to disable OpenGL somehow as running the tor-browser 10.0.5 resulted in the tor-browser crashing when clicking on the URL bar, and the following log: I Gecko : Can't find symbol 'eglGetNativeClientBufferANDROID'. I Gecko : Can't find symbol 'eglQuerySurfacePointerANGLE'. I Gecko : Can't find symbol 'eglDupNativeFenceFDANDROID'. I Gecko : Can't find symbol 'eglQueryDisplayAttribEXT'. I Gecko : Can't find symbol 'eglQueryDeviceAttribEXT'. I Gecko : Can't find symbol 'eglStreamConsumerGLTextureExternalAttribsNV'. I Gecko : Can't find symbol 'eglCreateStreamProducerD3DTextureANGLE'. I Gecko : Can't find symbol 'eglStreamPostD3DTextureANGLE'. I Gecko : Can't find symbol 'eglSwapBuffersWithDamageEXT'. However the graphics speed is now similar to the speed we had with libagl. So it is probably similar to reverting to libagl, without having to modify too much repositories. There is also some more background information on that bug in the Replicant bugtracker[1][2]. [1]https://redmine.replicant.us/issues/2171 [2]https://redmine.replicant.us/issues/1994 Signed-off-by: Denis 'GNUtoo' Carikli