#!/system/xbin/bash # # Copyright (C) 2017 Jeremy Rand # Partially based on code by Wolfgang Wiedmeyer 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 . set -euf -o pipefail grep -q "ro.libagl=0" /system/build.prop && renderer="llvmpipe" || renderer="android" if [ "${renderer}" == "android" ] then echo "Android software renderer is already enabled!" exit 1 fi echo "Remounting system partition as writable..." mount -o rw,remount /system echo "Enabling Android software renderer..." sed "s/ro.libagl=0/ro.libagl=1/" -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 "Android software renderer will be enabled after we reboot now..." am start -a android.intent.action.REBOOT