Installation
libVIIPER is a shared library (libVIIPER.dll on Windows, libVIIPER.so on Linux) that you link
against directly from your application, eliminating the need for a separate server process.
libVIIPER relies on USBIP, so you must have a USBIP-Client implementation available on your system to use the virtual devices.
License
Linking against libVIIPER requires your application to be licensed under the GPL-3.0 (or a compatible license).
Requirements
USBIP
libVIIPER requires the signed usbip-win2 0.9.7.7 x64 release. Use the DS4Windows Install / Repair VIIPER action whenever possible; its package contains this exact verified installer.
Do not substitute another USBIP build
This release is ABI-pinned to 0.9.7.7. Version 0.9.7.8 reproduced kernel pool corruption during controller attachment and is explicitly rejected. The installer verifies the version and live ABI before allowing VIIPER to start.
USBIP-Win2 signing certificate
The upstream 0.9.7.7 installer may add the publicly available USBIP
test-signing CA to Trusted Root Certification Authorities. After
installation, you may remove the certificate named USBIP with
certlm.msc (run as administrator). Do not replace 0.9.7.7 with a
newer or OSSign build: VIIPER validates this exact userspace/driver ABI.
Ubuntu/Debian
Arch Linux
Linux Kernel Module Setup
USBIP Client Requirement
USBIP requires the vhci-hcd (Virtual Host Controller Interface) kernel module on Linux for client operations. This includes libVIIPER's auto-attach feature and manual device attachment.
Most Linux distributions include this module but do not load it automatically.
See the USBIP Setup guide for detailed instructions.
Getting libVIIPER
Pre-built Binaries
Download the latest libVIIPER release artifact from the DualSenseClient/VIIPER Releases page.
The archive contains:
libVIIPER.dll/libVIIPER.so: the shared librarylibVIIPER.h: the C headerlibVIIPER.def: Windows import definition (for generating.lib/.dll.aimport libraries)
Building from Source
The output will be in dist/libVIIPER/.
CGO Required
Building libVIIPER requires CGO (CGO_ENABLED=1) and a C compiler (GCC / MSVC / Clang) in PATH.
On Windows, mingw-w64 or MSVC is required.
See libVIIPER documentation for integration guides and examples.