X-Git-Url: https://glassweightruler.freedombox.rocks/gitweb/waydroid.git/blobdiff_plain/b10a83417d0fad4eef0dfec67802858ca8b92637..refs/heads/lineage-17.1:/scripts/install.sh diff --git a/scripts/install.sh b/scripts/install.sh index 5fb5ced..ae541b7 100644 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -1,39 +1,41 @@ #!/bin/bash -echo "Generating device properties" -GRALLOC=`getprop ro.hardware.gralloc` -if [ -z $GRALLOC ] || [ ! -f /vendor/lib/hw/gralloc.$GRALLOC.so ]; then - GRALLOC=`getprop ro.hardware` - if [ -z $GRALLOC ] || [ ! -f /vendor/lib/hw/gralloc.$GRALLOC.so ]; then - GRALLOC=`getprop ro.product.board` - if [ -z $GRALLOC ] || [ ! -f /vendor/lib/hw/gralloc.$GRALLOC.so ]; then - GRALLOC=`getprop ro.board.platform` - if [ -z $GRALLOC ] || [ ! -f /vendor/lib/hw/gralloc.$GRALLOC.so ]; then - GRALLOC=`getprop ro.arch` - if [ -z $GRALLOC ] || [ ! -f /vendor/lib/hw/gralloc.$GRALLOC.so ]; then - GRALLOC="gbm" - fi - fi - fi +SUPPORTED_ARCHS="x86_64 aarch64 armv8l" +UNAME_ARCH=`uname -m` + +for a in $SUPPORTED_ARCHS; do + if [ $UNAME_ARCH == $a ]; then + ARCH=$a fi +done +if [ -z ${ARCH} ]; then + echo "ERROR: Your system with arch $UNAME_ARCH is not supported" + exit fi -EGL=`getprop ro.hardware.egl` -if [ ! -z $EGL ]; then - EGL_PROP="ro.hardware.egl=${EGL}" +if [ $UNAME_ARCH == "aarch64" ]; then + ARCH="arm64" fi - -MEDIA_PROFILES=`getprop media.settings.xml` -if [ ! -z $MEDIA_PROFILES ]; then - MEDIA_PROFILES_EXTRA=`getprop media.settings.xml | sed "s/vendor/vendor_extra/" | sed "s/odm/odm_extra/"` - MEDIA_PROFILES_PROP="media.settings.xml=${MEDIA_PROFILES_EXTRA}" +if [ $UNAME_ARCH == "armv8l" ]; then + ARCH="arm64" +fi +if [ $UNAME_ARCH == "armv7l" ]; then + ARCH="arm" +fi +if [ $UNAME_ARCH == "i386" ]; then + ARCH="x86" fi -CCODEC=`getprop debug.stagefright.ccodec` -if [ ! -z $CCODEC ]; then - CCODEC_PROP="debug.stagefright.ccodec=${CCODEC}" +if [ $UNAME_ARCH == "i686" ]; then + ARCH="x86" fi +echo "Generating device properties" +rm -f generate-props.sh +wget https://github.com/Anbox-halium/anbox-halium/raw/lineage-17.1/scripts/generate-props.sh +chmod +x generate-props.sh +. generate-props.sh + echo "Asking for root access" -sudo -s <> anbox.prop -else - echo "NOTE: Edit /home/anbox/anbox.prop based on your device screen resolution" - echo "spurv.display_height=1920" >> anbox.prop +if grep -q "anbox.display_height" anbox.prop.bak; then + grep "anbox.display_height" anbox.prop.bak >> anbox.prop fi -if grep -q "spurv.display_width" anbox.prop.bak; then - grep "spurv.display_width" anbox.prop.bak >> anbox.prop -else - echo "NOTE: Edit /home/anbox/anbox.prop based on your device screen resolution" - echo "spurv.display_width=1080" >> anbox.prop +if grep -q "anbox.display_width" anbox.prop.bak; then + grep "anbox.display_width" anbox.prop.bak >> anbox.prop +fi +if grep -q "anbox.display_height_padding" anbox.prop.bak; then + grep "anbox.display_height_padding" anbox.prop.bak >> anbox.prop +fi +if grep -q "anbox.display_width_padding" anbox.prop.bak; then + grep "anbox.display_width_padding" anbox.prop.bak >> anbox.prop fi -echo "ro.hardware.gralloc=${GRALLOC}" >> anbox.prop +echo "${GRALLOC_PROP}" >> anbox.prop echo "${EGL_PROP}" >> anbox.prop echo "${MEDIA_PROFILES_PROP}" >> anbox.prop echo "${CCODEC_PROP}" >> anbox.prop +echo "${EXT_LIB_PROP}" >> anbox.prop +echo "${VULKAN_PROP}" >> anbox.prop +echo "${DPI_PROP}" >> anbox.prop +echo "${GLES_VER_PROP}" >> anbox.prop +echo "${XDG_PROP}" >> anbox.prop +echo "${WAYLAND_DISP_PROP}" >> anbox.prop +echo "${PULSE_PROP}" >> anbox.prop +if [ -f NO_SENSORS ]; then + echo "anbox.stub_sensors_hal=1" >> anbox.prop + rm NO_SENSORS +fi +# TODO: Drop this +echo "anbox.active_apps=full" >> anbox.prop + +# TODO: Get rid of this +rm -f vendor-fixup.sh +wget https://github.com/Anbox-halium/anbox-halium/raw/lineage-17.1/scripts/vendor-fixup.sh +chmod +x vendor-fixup.sh +./vendor-fixup.sh $ARCH echo "Geting latest lxc config" mkdir /var/lib/lxc/anbox cd /var/lib/lxc/anbox -rm -f config -wget https://github.com/Anbox-halium/anbox-halium/raw/lineage-17.1/lxc-configs/config +rm -f config* +if [ `lxc-info --version | cut -d "." -f 1` -gt 2 ]; then + wget https://github.com/Anbox-halium/anbox-halium/raw/lineage-17.1/lxc-configs/config_2 +else + wget https://github.com/Anbox-halium/anbox-halium/raw/lineage-17.1/lxc-configs/config_1 +fi +mv config_* config +sed -i "s/LXCARCH/$UNAME_ARCH/" config +wget https://github.com/Anbox-halium/anbox-halium/raw/lineage-17.1/lxc-configs/config_nodes +if [ ! -e /dev/hwbinder ]; then + sed -i "/host_hwbinder/d" config_nodes +fi if ! grep -q "module-native-protocol-unix auth-anonymous=1" /etc/pulse/touch-android9.pa; then echo "Pulseaudio config patching" @@ -109,14 +151,10 @@ echo "Going back to phablet user" EOF cd /home/phablet -echo "Installing anbox launcher" -rm anbox.rudiimmer_1.0_all.click -wget https://build.lolinet.com/file/lineage/anbox_arm64/anbox.rudiimmer_1.0_all.click -pkcon install-local anbox.rudiimmer_1.0_all.click --allow-untrusted - echo "Restarting Pulseaudio service" initctl --user stop pulseaudio initctl --user start pulseaudio echo "Installing Finished!" -echo "Run anbox container with /home/anbox/run-container.sh on terminal" +echo "Run anbox container with \"sudo /home/anbox/run-container.sh\" on terminal" +echo "Stop anbox container with \"sudo /home/anbox/stop-container.sh\" on terminal"