Skip to content

Instantly share code, notes, and snippets.

@SavageCore
Forked from cdleveille/Install⁄Update Xone
Last active May 28, 2025 05:17
Show Gist options
  • Save SavageCore/263a3413532bc181c9bb215c8fe6c30d to your computer and use it in GitHub Desktop.
Save SavageCore/263a3413532bc181c9bb215c8fe6c30d to your computer and use it in GitHub Desktop.
Install or update xone driver for Steam Deck (desktop shortcut and bash script)
#!/bin/bash
# Download the latest version of the script from the repository and run it
echo -e "\e[1mDownloading the latest version of the script...\e[0m"
echo ""
curl -sSfL "https://github.com/SavageCore/xone-steam-deck-installer/releases/latest/download/xone_install_or_update.sh" >~/xone_install_or_update.sh || {
echo "Failed to download xone_install_or_update.sh. Aborting..."
read -n 1 -s -r -p "Press any key to exit"
exit 1
}
curl -sSfL "https://github.com/SavageCore/xone-steam-deck-installer/releases/latest/download/xone.desktop" >~/Desktop/xone.desktop || {
echo "Failed to download xone.desktop. Aborting..."
read -n 1 -s -r -p "Press any key to exit"
exit 1
}
curl -sSfL "https://github.com/SavageCore/xone-steam-deck-installer/releases/latest/download/xone_debug.desktop" >~/Desktop/xone_debug.desktop || {
echo "Failed to download xone_debug.desktop. Aborting..."
read -n 1 -s -r -p "Press any key to exit"
exit 1
}
curl -sSfL "https://github.com/SavageCore/xone-steam-deck-installer/releases/latest/download/enable-pairing.desktop" >~/Desktop/enable-pairing.desktop || {
echo "Failed to download enable-pairing.desktop. Aborting..."
read -n 1 -s -r -p "Press any key to exit"
exit 1
}
curl -sSfL "https://github.com/SavageCore/xone-steam-deck-installer/releases/latest/download/disable-pairing.desktop" >~/Desktop/disable-pairing.desktop || {
echo "Failed to download disable-pairing.desktop. Aborting..."
read -n 1 -s -r -p "Press any key to exit"
exit 1
}
# Run the script
echo -e "\e[1mRunning the script...\e[0m"
echo ""
clear
chmod +x ~/xone_install_or_update.sh
exec bash ~/xone_install_or_update.sh
#!/bin/bash
# xone install or update script for SteamOS
# by cdleveille
# updated by SavageCore
#
# https://gist.github.com/SavageCore/263a3413532bc181c9bb215c8fe6c30d
# Script version 0.10.1
echo -e "\e[1mYou have the old script from Gist. Updating...\e[0m"
echo ""
curl -sSfL "https://github.com/SavageCore/xone-steam-deck-installer/releases/latest/download/xone_install_or_update.sh" >/tmp/xone_install_or_update.sh || {
echo "Failed to download the latest version of the script. Aborting..."
read -n 1 -s -r -p "Press any key to exit"
exit 1
}
# Preserve the current working directory and arguments
PWD=$(pwd)
ARGS="$@"
# Replace the current script with the new version
mv /tmp/xone_install_or_update.sh "$0"
read -n 1 -s -r -p "Press any key to relaunch the script..."
clear
# Re-run the script with the same environment variables and arguments
cd "$PWD" || {
echo "Failed to change directory. Aborting..."
read -n 1 -s -r -p "Press any key to exit"
exit 1
}
exec bash "$0" "$ARGS"
@mongrelion
Copy link

@SavageCore would it be an idea to upgrade this gist into an actual repository? We would get proper tagging out of the box, issues that can be tagged, also pull requests, discussions, etc.

@SavageCore
Copy link
Author

@SavageCore would it be an idea to upgrade this gist into an actual repository? We would get proper tagging out of the box, issues that can be tagged, also pull requests, discussions, etc.

It would! I've been meaning to for a while now, will get to it soon

@GilesMunn
Copy link

0.10.0 Released 🚀

Changelog

* Support SteamOS 3.7

* Ensure the correct repo is used for the xone driver

Let me know if there's any issues but worked fine on my Deck after updating to 3.7

Thanks for updating this! After scratching my head for a while about why this wasn't working for me (I was getting "Failed to load xone_dongle module"), I tried running it with the debug flag (--debug in the commandline or the debug desktop shortcut) and that worked perfectly - not sure why there was a difference... thanks anyway 👍

@SavageCore
Copy link
Author

Thanks for updating this! After scratching my head for a while about why this wasn't working for me (I was getting "Failed to load xone_dongle module"), I tried running it with the debug flag (--debug in the commandline or the debug desktop shortcut) and that worked perfectly - not sure why there was a difference... thanks anyway 👍

No problem! Debug will force a reinstall, not sure what happened there but at least that fixed it.

@mongrelion, moved to a repo. PR's welcome. Will close comments here in the next couple of days probably.

@mongrelion
Copy link

@SavageCore awesome. Good job!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment