An open call to Wraith Esports. This project exists because the official Wraith configurator is shipped only as a domain-locked WebHID bundle, with no Linux support and no published protocol. Linux users who already own your hardware are stuck reverse-engineering the JavaScript client just to change an RGB color or tune the actuation point on a keyboard they paid for. Please consider open-sourcing your device drivers, protocol documentation, or at the very least the configuration client. Even a permissively licensed reference implementation would let the community build proper native tooling (libratbag/Piper-style daemons, GNOME/KDE settings panels, OpenRGB plugins) and turn your products into first-class citizens on every desktop OS. Maintainers and engineers at Wraith: PRs, contact, or a public spec drop are very welcome — open an
A tiny helper that lets Chrome/Chromium-based browsers talk to the Wraith Esports W75 keyboard and Pixart W1 Freestyle mouse over the WebHID API on Linux.
When a browser tries to open a HID device via WebHID, Linux exposes
/dev/hidraw* nodes as root-only by default, so the configuration software
fails with:
NotAllowedError: Failed to open the device
A single shell script installs udev rules that grant MODE=0666 and
TAG+="uaccess" to the relevant USB IDs, permanently fixing the issue.
| Device | USB ID | Notes |
|---|---|---|
| Wraith Esports W75 | 2e3c:c365 |
Hall-effect magnetic keyboard |
| Pixart W1 Freestyle | 093a:522c |
093a is a shared OEM VID — scoped by idProduct |
Copy and paste this into your terminal:
curl -fsSL https://raw.githubusercontent.com/Oztturk/WraithLinux/main/install-udev-rules.sh | sudo bashThat's it. No clone, no manual download.
Prefer a two-step approach? Same result:
curl -fsSLO https://raw.githubusercontent.com/Oztturk/WraithLinux/main/install-udev-rules.sh
chmod +x install-udev-rules.sh
sudo ./install-udev-rules.shYou can also grab install-udev-rules.sh from the
Releases page and run it the
same way.
The script:
- Writes
/etc/udev/rules.d/99-wraith-w75.rules. - Writes
/etc/udev/rules.d/99-w1-mouse.rules. - Reloads rules with
udevadm control --reload-rules. - Sends a
changeevent to existinghidrawandusbnodes viaudevadm triggerso permissions update immediately.
The standalone .rules files in this repo are kept for reference — the
installer embeds their content, so it has no runtime dependency on them.
- Close every open Chrome/Chromium/Brave/Edge tab.
- Unplug the keyboard / mouse, wait ~2 seconds, plug it back in.
- Reopen the browser and connect from the configuration software.
Verify with:
ls -l /dev/hidraw*
getfacl /dev/hidrawN # replace N with the node you care aboutYou should see crw-rw-rw- or a user:<your-user>:rw- ACL entry.
- Open
chrome://device-log/, filter byHID, and watch the connection attempt. If you still seeFailed to openinstead ofOpened device, the rules did not apply. udevadm info -a -n /dev/hidrawN | grep -E 'idVendor|MODE|TAG'shows whether the rule actually matched that node.- Clear old grants under
chrome://settings/content/hidand reauthorize the device — stale permission records sometimes confuse the picker.
- Firefox does not currently support WebHID; installing these rules will not change that.
- The rules match on USB VID/PID, so they work identically for every user who owns the same hardware — there is no per-user configuration.
- Thanks to
TAG+="uaccess", the locally logged-in user automatically gets an ACL on the device; noplugdevorinputgroup membership required.
sudo rm /etc/udev/rules.d/99-wraith-w75.rules /etc/udev/rules.d/99-w1-mouse.rules
sudo udevadm control --reload-rules
sudo udevadm triggerPersonal-use tool. Use, modify, and redistribute as you like.