diff options
Diffstat (limited to 'display/renderer/device-files/llvmpipe.sh')
-rw-r--r-- | display/renderer/device-files/llvmpipe.sh | 51 |
1 files changed, 51 insertions, 0 deletions
diff --git a/display/renderer/device-files/llvmpipe.sh b/display/renderer/device-files/llvmpipe.sh new file mode 100644 index 0000000..d40c4ec --- /dev/null +++ b/display/renderer/device-files/llvmpipe.sh @@ -0,0 +1,51 @@ +#!/system/xbin/bash +# +# Copyright (C) 2017 Jeremy Rand <jeremy@veclabs.net> +# Partially based on code by Wolfgang Wiedmeyer <wolfgit@wiedmeyer.de> and Filippo Fil Bergamo +# +# This file is part of "Replicant Renderer Switcher", a set of shell scripts to switch between +# the Android Software Renderer and the llvmpipe renderer in Replicant. +# +# Replicant Renderer Switcher is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# Replicant Renderer Switcher is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see <http://www.gnu.org/licenses/>. + +set -euf -o pipefail + +grep -q "ro.libagl=0" /system/build.prop && renderer="llvmpipe" || renderer="android" + +if [ "${renderer}" == "llvmpipe" ] +then + echo "llvmpipe is already enabled!" + exit 1 +fi + +echo "Remounting system partition as writable..." +mount -o rw,remount /system + +echo "Enabling llvmpipe..." +sed "s/ro.libagl=1/ro.libagl=0/" -i /system/build.prop + +echo "Syncing filesystem..." +sync +sync + +echo "Remounting system partition as read-only..." +mount -o ro,remount /system + +echo "Syncing filesystem..." +sync +sync + +# https://android.stackexchange.com/a/139139 +echo "llvmpipe will be enabled after we reboot now..." +am start -a android.intent.action.REBOOT |