diff --git a/Readme.md b/Readme.md index a701f27..bccace6 100644 --- a/Readme.md +++ b/Readme.md @@ -26,6 +26,15 @@ sudo pacman -S rust systemd-libs libevdev pkgconf sudo dnf install cargo systemd-devel libevdev libevdev-devel ``` +#### Debian 12 +```bash +sudo apt install pkg-config cargo libudev-dev libevdev-dev libevdev2 && curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh +``` +Compiling requires rustc >1.70.0, but Debian 12's apt repository goes up to 1.63. Hence the rust installer from https://www.rust-lang.org/tools/install is used instead. + +From Debain 13 onward, you can use `apt install rustup` instead of the Rust install script. + + ### Hardware This is tested with a Wii MotionPlus Wiimote, and a Guitar Hero World Tour guitar. It should work with the other Guitar Hero Wii guitars (which have a slot for a Wiimote), and other Wiimotes, as long as both are recognised by the Linux kernel, though they have not been tested. @@ -34,12 +43,38 @@ This is tested with a Wii MotionPlus Wiimote, and a Guitar Hero World Tour guita Provided in the `etc` folder are an example udev rule and systemd service to automatically run Roadii when a supported Wii guitar controller is connected. This presumes you are using SteamOS, adapting to other Linux systems is left as an exercise for the reader. +### Steam Deck + 1. Install `roadii` and `evsieve` executables to `/home/deck/bin` 2. Copy `etc/systemd/system/roadii@.service` to `/etc/systemd/system`, and `etc/udev/rules.d/99-roadii.rules` to `/etc/udev/rules.d`. 3. Reload the udev rules with `sudo udevadm control --reload` Now you're ready to connect your Wii guitar via Bluetooth! +### Non-Steam deck + +1. Install `roadii` and `evsieve` executables anywhere, as long as it's in PATH +2. Run the code below + +```bash +# Use a path lookup to determine install locations +evsieve_path=$(type -a -P evsieve) +roadii_path=$(type -a -P roadii) + +# Replace default Steam Deck locations with fetched locations +sed -i "s~/home/deck/bin/roadii~$roadii_path~g" etc/systemd/system/roadii@.service +sed -i "s~/home/deck/bin/evsieve~$evsieve_path~g" etc/systemd/system/roadii@.service + +# Copy the service & udev rules to their target locations +sudo cp etc/systemd/system/roadii@.service /etc/systemd/system +sudo cp etc/udev/rules.d/99-roadii.rules /etc/udev/rules.d + +# Reload the udev rules +sudo udevadm control --reload +``` + +Now you're ready to connect your Wii guitar via Bluetooth! + ## Usage With the udev rules and systemd service configured, the guitar will appear as several devices; ignore any which mention Nintendo, as `evsieve` has taken exclusive access to them - the one you care about now is simply called "Wiitar".