Skip to content

Commit

Permalink
Update copying of driver binary to the user's home directory (was /us…
Browse files Browse the repository at this point in the history
…r/bin)

Disabling of SteamOS readonly file-system no longer necessary
  • Loading branch information
wheaney committed Sep 3, 2023
1 parent 08c09ea commit ce663eb
Show file tree
Hide file tree
Showing 4 changed files with 5 additions and 40 deletions.
6 changes: 2 additions & 4 deletions bin/setup
Original file line number Diff line number Diff line change
Expand Up @@ -27,10 +27,11 @@ cp udev/60-xreal-air.rules $UDEV_FILE
udevadm control --reload
udevadm trigger

echo "Copying scripts to ${USER_HOME}/bin"
echo "Copying driver binary and scripts to ${USER_HOME}/bin"
if [ ! -d "$USER_HOME/bin" ]; then
mkdir $USER_HOME/bin
fi
cp xrealAirLinuxDriver $USER_HOME/bin
cp xreal_driver_config $USER_HOME/bin
cp xreal_driver_uninstall $USER_HOME/bin

Expand All @@ -40,9 +41,6 @@ if systemctl is-active --quiet xreal-air-driver; then
systemctl stop xreal-air-driver
fi

cp xrealAirLinuxDriver /usr/bin
chmod 755 /usr/bin/xrealAirLinuxDriver

sed -i -e "s/{user_home}/$ESCAPED_USER_HOME/g" -e "s/{user}/$USER/g" systemd/xreal-air-driver.service
cp systemd/xreal-air-driver.service /etc/systemd/system
chmod 644 /etc/systemd/system/xreal-air-driver.service
Expand Down
17 changes: 0 additions & 17 deletions bin/xreal_driver_setup
Original file line number Diff line number Diff line change
Expand Up @@ -12,16 +12,6 @@ if [ "$(id -u)" != "0" ]; then
exit 1
fi

# If we're on Steam Deck, check if the file system is readonly, if so, disable readonly and store the state to re-enable later
steam_deck_readonly_fs=0
if [ $(command -v steamos-readonly) ]; then
if steamos-readonly status | grep -q "enabled"; then
steam_deck_readonly_fs=1
echo "Disabling readonly SteamOS partition"
steamos-readonly disable
fi
fi

# create temp directory
tmp_dir=$(mktemp -d -t xreal-air-XXXXXXXXXX)
pushd $tmp_dir > /dev/null
Expand All @@ -47,10 +37,3 @@ pushd driver_air_glasses > /dev/null
echo "Deleting temp directory: ${tmp_dir}"
rm -rf $tmp_dir
cd "$(dirs -l -0)" && dirs -c

# If we disabled the Steam Deck readonly file system, re-enable it
if [ "$steam_deck_readonly_fs" -eq 1 ]; then
echo "Re-enabling readonly SteamOS partition"
steamos-readonly enable
fi

20 changes: 2 additions & 18 deletions bin/xreal_driver_uninstall
Original file line number Diff line number Diff line change
Expand Up @@ -14,16 +14,6 @@ if [ "$(id -u)" != "0" ]; then
exit 1
fi

# If we're on Steam Deck, check if the file system is readonly, if so, disable readonly and store the state to re-enable later
steam_deck_readonly_fs=0
if [ "$for_install" -eq 0 ] && [ $(command -v steamos-readonly) ]; then
if steamos-readonly status | grep -q "enabled"; then
steam_deck_readonly_fs=1
echo "Disabling readonly SteamOS partition"
steamos-readonly disable
fi
fi

[ "$for_install" -eq 0 ] && echo "Removing the udev rule"
rm -f /etc/udev/rules.d/60-xreal-air.rules
udevadm control --reload
Expand All @@ -33,24 +23,18 @@ if systemctl is-active --quiet xreal-air-driver; then
systemctl stop xreal-air-driver
fi
rm -f /etc/systemd/system/xreal-air-driver.service
rm -f /usr/bin/xrealAirLinuxDriver

# If we disabled the Steam Deck readonly file system, re-enable it
if [ "$steam_deck_readonly_fs" -eq 1 ]; then
echo "Re-enabling readonly SteamOS partition"
steamos-readonly enable
fi

[ "$for_install" -eq 0 ] && echo "Removing installed files from ~/ and ~/bin/"
USER=${SUDO_USER:-$USER}
USER_HOME=$(getent passwd $USER | cut -d: -f6)
[ "$for_install" -eq 0 ] && echo "Removing installed files from $USER_HOME"
if [ "$for_install" -eq 0 ]; then
rm -f $USER_HOME/.xreal_driver_config
rm -f $USER_HOME/.xreal_driver_log
fi
rm -f $USER_HOME/.xreal_joystick_debug
rm -f $USER_HOME/.xreal_driver_lock
rm -f $USER_HOME/bin/xreal_driver_config
rm -f $USER_HOME/bin/xrealAirLinuxDriver

# this script is self-deleting, leave this as the last command
rm -f $USER_HOME/bin/xreal_driver_uninstall
2 changes: 1 addition & 1 deletion systemd/xreal-air-driver.service
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ After=network.target

[Service]
Type=simple
ExecStart=/bin/bash -c 'HOME={user_home} /usr/bin/xrealAirLinuxDriver'
ExecStart=/bin/bash -c 'HOME={user_home} {user_home}/bin/xrealAirLinuxDriver'
Restart=on-failure

[Install]
Expand Down

0 comments on commit ce663eb

Please sign in to comment.