Overview: Virtual gamepad support for Windows
ViGEm Bus Driver is a free Windows driver that creates virtual USB game controllers so applications and games can see and use them like real hardware. Running in kernel mode, it exposes virtual gamepads to the system and lets software interact with those devices without needing physical controllers attached.
Key advantages and capabilities
- Runs silently in the background so you can add virtual controllers without complicated setup.
- Expands compatibility so titles that don’t natively support certain hardware can still accept input.
- Emulates Human Interface Devices (HID), enabling a wide range of controller behaviors.
- Lets you use custom or otherwise unsupported controllers on Windows systems.
Emulated controller types
- PlayStation-style controllers (e.g., DualShock / DualSense equivalents)
- Xbox-compatible controllers
- Generic HID gamepads and other controller-like peripherals
How it works
Installed as a kernel-mode component, ViGEm creates virtual USB gamepad devices that appear to Windows and to games just like real controllers. Applications that query attached controllers see these virtual devices and can send or receive input reports to them. Because the driver handles the HID layer, little or no per-game configuration is usually required.
Common scenarios
- Using a hobby or retro controller that lacks native Windows support.
- Mapping custom hardware or input converters to standard controller profiles.
- Developers testing controller input without swapping physical devices.
- Improving compatibility for older games that only recognize certain controller types.
Getting started
To begin, download the ViGEm Bus Driver package from the project’s distribution source, install the driver, and then launch the tool or middleware that creates virtual controllers through the ViGEm API. Once created, those virtual devices will be available to games and other software like any plugged-in controller.
Technical
- Windows
- Free