mirror of
https://github.com/ChrisTitusTech/linutil.git
synced 2024-12-27 05:49:45 +00:00
77 lines
3.1 KiB
Bash
77 lines
3.1 KiB
Bash
|
#!/bin/sh -e
|
||
|
|
||
|
. ../common-script.sh
|
||
|
|
||
|
checkGpu() {
|
||
|
if lspci | grep -i nvidia > /dev/null; then
|
||
|
printf "%b\n" "${RED}Waydroid is not compatible with NVIDIA GPUs.${RC}"
|
||
|
exit 1
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
installWaydroid() {
|
||
|
if ! command_exists waydroid; then
|
||
|
printf "%b\n" "${YELLOW}Installing Waydroid...${RC}"
|
||
|
case "$PACKAGER" in
|
||
|
pacman)
|
||
|
"$AUR_HELPER" -S --needed --noconfirm waydroid
|
||
|
if command_exists dkms; then
|
||
|
"$AUR_HELPER" -S --needed --noconfirm binder_linux-dkms
|
||
|
"$ESCALATION_TOOL" modprobe binder-linux device=binder,hwbinder,vndbinder
|
||
|
fi
|
||
|
;;
|
||
|
apt-get|nala)
|
||
|
curl https://repo.waydro.id | "$ESCALATION_TOOL" sh
|
||
|
"$ESCALATION_TOOL" "$PACKAGER" install -y waydroid
|
||
|
if command_exists dkms; then
|
||
|
"$ESCALATION_TOOL" "$PACKAGER" install -y git
|
||
|
mkdir -p "$HOME/.local/share/" # only create it if it doesnt exist
|
||
|
git clone https://github.com/choff/anbox-modules.git "$HOME/.local/share/anbox-modules"
|
||
|
cd "$HOME/.local/share/anbox-modules"
|
||
|
"$ESCALATION_TOOL" cp anbox.conf /etc/modules-load.d/
|
||
|
"$ESCALATION_TOOL" cp 99-anbox.rules /lib/udev/rules.d/
|
||
|
"$ESCALATION_TOOL" cp -rT ashmem /usr/src/anbox-ashmem-1
|
||
|
"$ESCALATION_TOOL" cp -rT binder /usr/src/anbox-binder-1
|
||
|
"$ESCALATION_TOOL" dkms install anbox-ashmem/1
|
||
|
"$ESCALATION_TOOL" dkms install anbox-binder/1
|
||
|
fi
|
||
|
;;
|
||
|
dnf)
|
||
|
"$ESCALATION_TOOL" "$PACKAGER" install -y waydroid
|
||
|
if command_exists dkms; then
|
||
|
"$ESCALATION_TOOL" "$PACKAGER" install -y git
|
||
|
mkdir -p "$HOME/.local/share/" # only create it if it doesnt exist
|
||
|
git clone https://github.com/choff/anbox-modules.git "$HOME/.local/share/anbox-modules"
|
||
|
cd "$HOME/.local/share/anbox-modules"
|
||
|
"$ESCALATION_TOOL" cp anbox.conf /etc/modules-load.d/
|
||
|
"$ESCALATION_TOOL" cp 99-anbox.rules /lib/udev/rules.d/
|
||
|
"$ESCALATION_TOOL" cp -rT ashmem /usr/src/anbox-ashmem-1
|
||
|
"$ESCALATION_TOOL" cp -rT binder /usr/src/anbox-binder-1
|
||
|
"$ESCALATION_TOOL" dkms install anbox-ashmem/1
|
||
|
"$ESCALATION_TOOL" dkms install anbox-binder/1
|
||
|
fi
|
||
|
;;
|
||
|
*)
|
||
|
printf "%b\n" "${RED}Unsupported package manager: $PACKAGER${RC}"
|
||
|
exit 1
|
||
|
;;
|
||
|
esac
|
||
|
else
|
||
|
printf "%b\n" "${GREEN}Waydroid is already installed.${RC}"
|
||
|
fi
|
||
|
}
|
||
|
|
||
|
setupWaydroid() {
|
||
|
printf "%b\n" "${YELLOW}Setting up Waydroid...${RC}"
|
||
|
"$ESCALATION_TOOL" systemctl enable --now waydroid-container
|
||
|
"$ESCALATION_TOOL" waydroid init
|
||
|
printf "%b\n" "${GREEN}Waydroid setup complete.${RC}"
|
||
|
}
|
||
|
|
||
|
checkEnv
|
||
|
checkEscalationTool
|
||
|
checkAURHelper
|
||
|
checkGpu
|
||
|
installWaydroid
|
||
|
setupWaydroid
|