Installation¶
Prerequisites¶
- Windows 10 or later
- .NET 10 Desktop Runtime — the Windows build is framework-dependent
- No .NET installation required (self-contained build)
Optional components:
- HidHide (optional, Windows only) — driver for hiding physical controllers from other applications; see nefarius/HidHide. See the Controller Hiding guide
- USB/IP (optional, virtual controller emulation only) — libVIIPER is bundled with the app; it only needs the USB/IP driver to attach virtual devices:
- Windows: usbip-win2
- Linux: install
usbip(Arch:sudo pacman -S usbip; Ubuntu/Debian:sudo apt install linux-tools-generic)
See the Virtual Controller guide for a full walkthrough.
You will also need a PlayStation 5 DualSense controller, connected via wired USB or Bluetooth.
Installing the Application¶
- Download
DualSenseClient.zipfrom the releases page - Extract the archive to your preferred location
- Run
DualSenseClient.exe - Connect your DualSense controller and start customizing
- Download
DualSenseClient-linux.zipor theDualSenseClient.AppImagefrom the releases page - For the zip: extract and run the
DualSenseClientbinary - For the AppImage: mark it executable and run it:
chmod +x DualSenseClient.AppImage
./DualSenseClient.AppImage
Linux: Controller Access Without Root¶
To access the controller without running the app as root, install a udev rule based on the official hidapi udev rules. For the DualSense (VID 054c, PID 0ce6), create /etc/udev/rules.d/70-dualsense.rules with:
# HIDAPI/libusb
SUBSYSTEMS=="usb", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0ce6", TAG+="uaccess"
# HIDAPI/hidraw
KERNEL=="hidraw*", ATTRS{idVendor}=="054c", ATTRS{idProduct}=="0ce6", TAG+="uaccess"
Then replug the controller or run:
sudo udevadm control --reload-rules && sudo udevadm trigger
Tip
If the controller is still not detected after installing the rule, see Controller Not Detected on Linux.
Next Steps¶
- Follow the guides to set up lighting, profiles, and more
- Want to build the application yourself? See Development