# Xbox 360 Kinect
SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02ae", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02ad", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02b0", MODE="0666"
# Xbox One Kinect
SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02c4", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02d8", MODE="0666"
SUBSYSTEM=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="02d9", MODE="0666"
Summary
On Linux, opening the Kinect via WebUSB fails before any driver code runs unless two host-level prerequisites are in place. Both are obvious to anyone who's used libfreenect, but neither is mentioned in the README, so a first-time user gets
Failed to execute 'open' on 'UsbDevice': Access denied.fromdev.open()and has no signpost pointing at the host config.What needs to be there
Kernel driver: the
gspca_kinectmodule auto-binds the camera interface on most distros and prevents WebUSB from claiming it. Needs to be unloaded and blacklisted:/etc/modprobe.d/blacklist-kinect.conf:Then
sudo dracut -f(Fedora/Asahi) or the distro equivalent so it survives reboot.udev rules giving the user access to the raw USB device.
/etc/udev/rules.d/51-kinect.rules:Then:
(
TAG+="uaccess"is a more modern systemd-friendly alternative toMODE="0666"and only grants access to whoever's at the active seat, but0666is what most Kinect docs out there use.)Suggested location
A short "Linux host setup" subsection in the README, ideally above the WebUSB usage example so it's the first thing a Linux user sees. Linking out to the libfreenect rules file is also fine if you'd rather not duplicate them in-tree.