| .vscode | ||
| public | ||
| src | ||
| src-tauri | ||
| styles | ||
| .gitignore | ||
| .taurignore | ||
| Cargo.toml | ||
| index.html | ||
| README.md | ||
| Trunk.toml | ||
Razer Linux Desktop
A Tauri + Leptos desktop app for configuring supported Razer devices on Linux.
Supported are:
- Razer Basilisk V3
- Razer Basilisk V3 Pro
This desktop app is a port of the good work from geezmolycos. The port and maintenance of this app is entirely done with Codex GPT 5.5 xhigh.
CachyOS / Arch Setup
Install the Tauri Linux build dependencies:
sudo pacman -S --needed \
webkit2gtk-4.1 \
base-devel \
curl \
wget \
file \
openssl \
appmenu-gtk-module \
libappindicator-gtk3 \
librsvg \
xdotool
Make sure the Rust Tauri CLI and Trunk are available:
cargo install tauri-cli --locked
cargo install trunk --locked
Build
From this directory:
NO_STRIP=true cargo tauri build
NO_STRIP=true avoids a known AppImage bundling failure on rolling Linux
distributions where linuxdeploy's bundled strip can fail on newer ELF
sections.
The AppImage is written under:
target/release/bundle/appimage/
Install Desktop Launcher
This installs the built AppImage into a stable per-user path and creates a desktop launcher. The launcher continues to work after updates because the AppImage is always copied to the same filename.
appimage="$(find target/release/bundle/appimage -maxdepth 1 -name 'razer-linux-desktop_*_amd64.AppImage' -print -quit)"
mkdir -p "$HOME/.local/opt/razer-linux-desktop"
mkdir -p "$HOME/.local/share/applications"
mkdir -p "$HOME/.local/share/icons/hicolor/128x128/apps"
install -m 0755 "$appimage" \
"$HOME/.local/opt/razer-linux-desktop/razer-linux-desktop.AppImage"
install -m 0644 src-tauri/icons/128x128.png \
"$HOME/.local/share/icons/hicolor/128x128/apps/one.daichendt.razer-linux-desktop.png"
cat > "$HOME/.local/share/applications/one.daichendt.razer-linux-desktop.desktop" <<EOF
[Desktop Entry]
Type=Application
Name=Razer Linux Desktop
Comment=Configure Razer devices on Linux
Exec=$HOME/.local/opt/razer-linux-desktop/razer-linux-desktop.AppImage
Icon=one.daichendt.razer-linux-desktop
Terminal=false
Categories=Settings;HardwareSettings;
StartupNotify=true
EOF
update-desktop-database "$HOME/.local/share/applications" 2>/dev/null || true
gtk-update-icon-cache "$HOME/.local/share/icons/hicolor" 2>/dev/null || true
kbuildsycoca6 2>/dev/null || true
After this, the app should appear in the desktop environment launcher as
Razer Linux Desktop.
Update Installed App
Pull the latest source, rebuild, and replace the stable AppImage:
git pull --ff-only
NO_STRIP=true cargo tauri build
appimage="$(find target/release/bundle/appimage -maxdepth 1 -name 'razer-linux-desktop_*_amd64.AppImage' -print -quit)"
install -m 0755 "$appimage" \
"$HOME/.local/opt/razer-linux-desktop/razer-linux-desktop.AppImage"
The desktop launcher does not need to be recreated unless the launcher metadata or icon changes.
Uninstall
rm -f "$HOME/.local/share/applications/one.daichendt.razer-linux-desktop.desktop"
rm -f "$HOME/.local/share/icons/hicolor/128x128/apps/one.daichendt.razer-linux-desktop.png"
rm -rf "$HOME/.local/opt/razer-linux-desktop"
update-desktop-database "$HOME/.local/share/applications" 2>/dev/null || true
gtk-update-icon-cache "$HOME/.local/share/icons/hicolor" 2>/dev/null || true
kbuildsycoca6 2>/dev/null || true