What it means to use the ViGEmBus driver

The most important distinction is between the bus driver and the client application. Readers asking how to use vigem bus driver should know that the driver supplies a Windows device interface that a client can call. It does not read every controller by itself or provide a profile editor. The client handles the physical controller, mapping and virtual output request.

A normal path looks like this: a USB or Bluetooth controller is detected by Windows, the client reads its buttons and axes, the client asks the vigem bus driver for a virtual device, and the game reads that virtual device. This is the basic how to use vigem bus driver path. If the client cannot open the bus, changing a game profile will not solve the missing-driver state.

LayerWhat you use it for
Physical controllerUSB or Bluetooth device that supplies button and axis input
Client applicationReads the controller, applies a profile and requests virtual output
ViGEmBusWindows bus layer that exposes a virtual gamepad device
Game or remote clientReads the virtual Xbox 360 or DualShock-style controller

Prepare Windows and the client application

A clean handoff is easier to test than a stack of simultaneous controller tools.

Before you use the ViGEmBus driver, confirm that Device Manager shows one healthy Nefarius Virtual Gamepad Emulation Bus entry. Anyone learning how to use vigem bus driver should check this layer first. If the driver is not installed yet, follow the ViGEmBus installation guide. If an app says the bus is missing, use the not-installed troubleshooting guide.

Choose one client for the first test. DS4Windows, BetterJoy, Apollo and Sunshine can have different profile names and output controls. Close the others, including tray processes, so two clients do not compete for the same physical controller or create duplicate virtual devices.

  • Windows 10 or 11 with the bus shown as a working device.
  • One controller client open for the first test.
  • A connected physical controller that the client can detect.
  • A default or known-good output profile, without experimental remapping.
  • A gamepad test page or Windows joy.cpl available for verification.

Use ViGEmBus through a controller client

The exact labels vary, but the workflow is consistent. To see how to use vigem bus driver in practice, open the client and wait until the physical controller appears. Turn on its virtual controller or output option, then select the output type required by the game. Choose Xbox 360 or DualShock 4 output according to the client and game, not a hidden ViGEmBus setting.

Move one stick and press one button while watching the client's live state. The physical input should change in the client before you test a game. If the client shows input but the virtual output does not appear, check its output toggle, profile assignment and exclusive-mode settings before touching the driver.

When the client reports a virtual controller, open Windows Game Controllers with joy.cpl or use the client's built-in tester. This is how to use vigem bus driver without launching a game: select the new device, open Properties and confirm that buttons and axes respond. It separates a bus handoff problem from a game-specific mapping problem.

  1. 1

    Open one compatible client

    Start DS4Windows, BetterJoy, Apollo, Sunshine or another client that documents ViGEmBus output. Close competing controller tools for this first pass.

  2. 2

    Select the physical controller

    Wait for the USB or Bluetooth device to appear, then assign a stable profile. Do not change several profiles while diagnosing the bus.

  3. 3

    Enable virtual output

    Turn on the client option named virtual controller, output controller or emulation. Choose the output type expected by the game.

  4. 4

    Test one input

    Press a button and move a stick. Confirm that the client sees the input and that a virtual device appears in its status area.

  5. 5

    Verify in Windows

    Run joy.cpl or the client's tester, select the virtual device and confirm the buttons and axes respond before opening a game.

  6. 6

    Launch the game last

    Start the game after the virtual device passes its test. Check the game's input selection and avoid running a second remapping layer during the first test.

DS4Windows controller support options for creating virtual output
Client applications expose controller support and output choices; ViGEmBus supplies the Windows bus behind that request.

Verify the virtual device in Windows

A successful client connection should leave a visible virtual controller, not just a green status message. This how to use vigem bus driver verification starts with Windows + R: enter joy.cpl and open the controller list. Select the expected device, open Properties and use the Test tab to move an axis and press a few buttons.

If the virtual device is missing, open Device Manager and choose View → Devices by connection. Look for Nefarius Virtual Gamepad Emulation Bus under System devices. A single healthy bus confirms that Windows loaded the driver; it does not prove that the client enabled output. Check both layers before reinstalling.

CheckWhat it provesWhat it does not prove
Client sees physical controllerThe client can read the source deviceThe bus or virtual output is configured
Nefarius bus is workingWindows loaded the ViGEmBus deviceA client profile is producing output
Virtual device passes joy.cplThe client-to-bus handoff worksThe game will choose the right device automatically
Game receives buttonsThe game accepts the selected outputEvery game profile or remapper is correct
Nefarius Virtual Gamepad Emulation Bus shown as working in Device Manager
Device Manager confirms the bus layer is present and healthy; use joy.cpl or the client tester to confirm virtual output.

Common client examples and boundaries

DS4Windows commonly uses ViGEmBus to expose a virtual Xbox 360 or DualShock-style controller for a physical PlayStation controller. Its profile controls are a practical example of how to use vigem bus driver; test the resulting device in Windows. For a DS4Windows-specific error, use the DS4Windows and ViGEmBus guide.

Apollo and Sunshine can use virtual controllers for remote-play or streaming workflows. In those setups, verify the local virtual device before testing the network session. A stream can be healthy while the controller mapping is wrong, so test the virtual output locally and then test the remote game.

These clients are examples, not a promise that every application supports every output type. Check the application's current support notes and avoid running multiple remappers.

BetterJoy and ViGEmBus virtual controller workflow illustration
A client workflow can include detection, mapping and virtual output; test each handoff before adding streaming or game layers.

Fix a failed client-to-bus handoff

If the client says ViGEmBus is not installed, close the client, reboot Windows and check Device Manager. If the bus is absent or has an error icon, repair the driver through the official installation path. If the bus is healthy but output is missing, focus on the client profile and output toggle rather than repeating the installer.

If two virtual devices appear, close every controller client and start one clean test. Duplicate output can cause double input, a drifting camera or a game that chooses the wrong device. Remove old or duplicate driver entries only through the normal uninstall and the documented cleanup path; do not delete random Driver Store files.

If input works in the client but not in joy.cpl, look for an output-disabled state, an unsupported profile, an exclusive-mode conflict or a stale client process. If joy.cpl works but the game does not, select the correct output in the game and check for Steam Input or another remapper intercepting it.

Never copy a loose vigembus.sys, install a driver-pack mirror or disable Windows driver-signature enforcement to force a result. Those shortcuts remove the source trail and can introduce a different kernel-driver problem. For a broader reset, follow the complete uninstall guide and reinstall from the official release.

SymptomLikely layerFirst safe action
Client cannot find the busDriver or Windows device stateReboot, inspect Device Manager, then repair from the official setup
Client sees input but no virtual deviceClient profile or output toggleEnable virtual output and test a known-good profile
Virtual device works but game ignores itGame or second remapperSelect the output device and disable duplicate mapping for the test
Two virtual controllers appearMultiple clients or stale entriesClose competing clients and clean old copies through normal uninstall
Buttons are doubledPhysical and virtual devices both readUse the client guidance for hiding duplicate input after basic output works

How to use vigem bus driver FAQ

How to use vigem bus driver without opening an app?

You do not open ViGEmBus like a normal application. ViGEmBus is a Windows bus driver. Open the compatible client that needs it, such as DS4Windows, BetterJoy, Apollo or Sunshine, and enable that client's virtual output option.

How do I know that a client is using ViGEmBus?

The client should report virtual output and Windows should show a virtual controller in joy.cpl or the client's tester. Device Manager should also show one healthy Nefarius Virtual Gamepad Emulation Bus entry.

Which output should I choose, Xbox 360 or DualShock 4?

Choose the output that the client and game support best. Xbox 360 output is common for XInput games, while a client may offer DualShock-style output for other workflows. Test the selected device in joy.cpl before opening the game.

Why does the client see my controller but no virtual pad appears?

Check the client's output toggle, assigned profile, exclusive-mode setting and duplicate remappers. If the bus is healthy in Device Manager, repeating the installer is unlikely to fix a disabled client output.

How do I test ViGEmBus without launching a game?

Press Windows + R, run joy.cpl, select the virtual controller and open Properties. Use the Test tab to confirm buttons and axes respond, then troubleshoot the game separately.

Official sources used

Product and safety facts on this page are checked against first-party material. External sources open in a new tab.