pbatard/libwdi
FreeWindows Driver Installer library for USB devices
About pbatard/libwdi
libwdi is a Windows Driver Installation library for USB devices, designed to automate the creation and installation of drivers. It supports automated INF file generation using reported USB device names, catalog file creation and signing with autogenerated certificates, and extraction of driver files for x86_32, x86_64, and ARM64 platforms. The library handles driver installation including UAC elevation and embeds all required files in a single library. It supports embedding WinUSB, libusb0.sys, libusbK.sys, USB Serial (CDC), or custom drivers. Fully open source under LGPL v3, it includes multiple sample applications and supports MinGW32, MinGW-w64, and Visual Studio. Compatible with Windows 7 through Windows 11.
Key Features
Pros & Cons
- Open source with permissive LGPL v3 license
- Supports multiple driver backends (WinUSB, libusb, libusbK)
- Automated certificate generation simplifies driver signing
- Works across x86, x64, and ARM64 Windows platforms
- Single library eliminates need for external dependencies
- Active development with recent releases
- Only supports Windows operating systems (no macOS or Linux native driver installation)
- Automated certificate may not satisfy all system or enterprise signing requirements
- Requires UAC elevation for driver installation on Windows