X-Git-Url: https://glassweightruler.freedombox.rocks/gitweb/waydroid.git/blobdiff_plain/2bd67a7f49f545b5b82c5a44378129267c0f202f..131ead44653298e9e961554b63ea66cd9f0f6cb4:/scripts/install.sh diff --git a/scripts/install.sh b/scripts/install.sh index 6e8e046..526a038 100644 --- a/scripts/install.sh +++ b/scripts/install.sh @@ -1,5 +1,33 @@ #!/bin/bash +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 +if [ $UNAME_ARCH == "aarch64" ]; then + ARCH="arm64" +fi +if [ $UNAME_ARCH == "armv8l" ]; then + ARCH="arm64" +fi +if [ $UNAME_ARCH == "armv7l" ]; then + ARCH="arm" +fi +if [ $UNAME_ARCH == "i386" ]; then + ARCH="x86" +fi +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 @@ -20,22 +48,24 @@ fi echo "Installing packages" apt update -apt install -y lxc1 qtwayland5 qml-module-qtwayland-compositor +apt install -y lxc1 || apt install -y lxc apt install -y libgbinder sensorfw-qt5 libsensorfw-qt5-plugins || touch NO_SENSORS if [ ! -f NO_SENSORS ]; then - rm anbox-sensors_0.1.0_arm64.deb - wget https://github.com/Anbox-halium/anbox-sensors/releases/download/v0.1.0/anbox-sensors_0.1.0_arm64.deb - dpkg -i anbox-sensors_0.1.0_arm64.deb || touch NO_SENSORS + rm anbox-sensors_0.1.0_${ARCH}.deb + wget https://github.com/Anbox-halium/anbox-sensors/releases/download/v0.1.0/anbox-sensors_0.1.0_${ARCH}.deb + dpkg -i anbox-sensors_0.1.0_${ARCH}.deb || touch NO_SENSORS fi echo "Geting anbox images" -if [ -f anbox_arm64_system.img ]; then - mv anbox_arm64_system.img anbox_arm64_system.img.bak - mv anbox_arm64_vendor.img anbox_arm64_vendor.img.bak +if [ -f anbox_${ARCH}_system.img ]; then + mv anbox_${ARCH}_system.img anbox_${ARCH}_system.img.bak + mv anbox_${ARCH}_vendor.img anbox_${ARCH}_vendor.img.bak fi rm -f latest-raw-images.zip -wget https://build.lolinet.com/file/lineage/anbox_arm64/latest-raw-images.zip +wget https://build.lolinet.com/file/lineage/anbox_${ARCH}/latest-raw-images.zip unzip latest-raw-images.zip +mkdir -p /home/anbox/rootfs +mkdir -p /home/anbox/data echo "Geting latest runner script" rm -f run-container.sh @@ -44,21 +74,24 @@ chmod +x run-container.sh rm -f stop-container.sh wget https://github.com/Anbox-halium/anbox-halium/raw/lineage-17.1/scripts/stop-container.sh chmod +x stop-container.sh +rm -f anbox-net.sh +wget https://github.com/Anbox-halium/anbox-halium/raw/lineage-17.1/scripts/anbox-net.sh +chmod +x anbox-net.sh if [ -f anbox.prop ]; then mv anbox.prop anbox.prop.bak fi if grep -q "anbox.display_height" anbox.prop.bak; then grep "anbox.display_height" anbox.prop.bak >> anbox.prop -else - echo "NOTE: Edit /home/anbox/anbox.prop based on your device screen resolution" - echo "anbox.display_height=1920" >> anbox.prop fi if grep -q "anbox.display_width" anbox.prop.bak; then grep "anbox.display_width" anbox.prop.bak >> anbox.prop -else - echo "NOTE: Edit /home/anbox/anbox.prop based on your device screen resolution" - echo "anbox.display_width=1080" >> 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 "${GRALLOC_PROP}" >> anbox.prop echo "${EGL_PROP}" >> anbox.prop @@ -76,11 +109,27 @@ if [ -f NO_SENSORS ]; then rm NO_SENSORS fi +# 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" @@ -100,11 +149,6 @@ 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