1 - Not opening/crashing/not starting

Common issues that can cause the application to not open or crash or the controller service to not start

Verify your DS4Windows

Make sure all prerequisites are installed

Without all required software, the app will not start.

DS4Windows Log and Windows Event Viewer

DS4Windows’ Log can give important warnings when issues occur. It may be found in 2 different places and, if it exists on both, the most recent one should be inspected:

  • In DS4Windows main folder
  • In DS4Windows folder inside %appdata% (Press Win+R, type %appdata%, hit OK then check if the DS4Windows folder exists and the presence of the Log file)

Confirm DS4Windows folder is not write-protected

DS4Windows may be inside a folder that is write-protected, therefore requiring it to be executed with higher privileges to be able to save and edit data. Such folders can be the “Windows” folder, “Program Files” and sometimes even the user Desktop (unlikely, but possible).

It’s recommended to have DS4Windows inside a folder that is known to not require higher-privileges to prevent this issue, like the user’s “Documents” or “Downloads” folder.

Check if User Data is not corrupted

The easy way to check this is making sure DS4Windows is not running and then backing up and erasing all of its User Data. If erasing the User Data fix the issue but the user wishes to keep some of its old data, it’s possible to restore each User Data related file and folder individually until the corrupted file is found, then removing it only.

Issues that may prevent DS4Windows from running or starting

“ViGEmBus is not installed” log message when attempting to start DS4Windows

Either ViGEmBus is not installed or DS4Windows is failing to detect it. The ViGEmBus’s guides on how to install, verify if its working correctly, uninstall or perform a full clean of everything vigem related can be found on ViGEmBus’ How to Install/Remove page.

“Attempting to start the service winmgmt failed” or “Windows Management Interface not found” messages

If these messages appear on DS4Windows’ Log or in Windows’ Event View then try to do the “repair Windows installation” fix using a Microsoft Windows installation media. There has been reports that this fixed a problem of DS4Windows app silently doing nothing when launched -issue. Or run WinOS “WMI repository repair” commands. Repair WinOS WMI repository.

User is running MSI Afterburner and / or MSI RTSS RivaTuner

Some users have reported that certain versions of MSI Afterburner and MSI RTSS RivaTuner apps are not compatible with WPF version of DS4Windows (every version since v2.0).

RTSS prevents DS4Windows app to startup. Try adding DS4Windows.exe file to RTSS application list and set app option as “Application Detection Level=NONE” in RTSS (search issue tickets with these keywords for more information on DS4Windows’ Issue Tracker).

User has the legacy ScpVBus driver installed

The Scp Virtual Bus Driver (ScpVBus) is a legacy driver that was used to spawn virtual Xbox controllers. It has been succeeded by the ViGEmBus.

Though DS4Windows should just ignore the ScpVBus, there is a small chance that having it installed along-side the ViGEmBus can lead to issues.

Windows is not updated

When everything else fails, update Windows.

2 - Controller not detected

Common issues that can cause a controller to not be detected

Possible reasons for DS4Windows not detecting a controller

You have disabled support for your type of controller in DS4Windows settings

  • On DS4Windows’ Settings tab there is a option called Device options that allows the user to disable controller support per type. Check there if everything is enabled
  • If changes are made then it is necessary to close the Device options Window and Stop -> Start DS4Windows again for them to be effective

image of controller support window

You are using obsolete “old” versions of DS4Windows

If you just search “DS4Windows” on google, chances are that the first result is the obsolete version from jays2kings, which has not been updated since 2016 and should not be used anymore.

The currently maintained version you should be using is schmaldeo’s DS4Windows. If in trouble, check out the installation guide.

DS4Windows is stopped

DS4 needs to actually be running for things to work. If it is stopped then you can press the Start button on the bottom-right to make things roll again.

image of the main window with start button marked

Controller is not properly connected / does not appear on Windows Devices and Printers

You have connected your controller to the PC but it does not appear on Windows’ Devices and Printers? No, that should not be possible under normal circumstances. Your controller MUST appear there in some shape or form, even if it does not looks like a controller.

USB

When connected via USB a new entry should appear, so keep an eye for it. Test on other USB ports to be sure. If literally nothing happens then maybe:

  • You have a faulty cable
  • Your cable can only be used for charging and does not support data transfer
  • Your controller’s or PC port is broken

Bluetooth

When a controller has been paired to Windows via Bluetooth then its entry will exist there regardless if the controller is currently connected or not. Also…

  • There is a correct and a incorrect method of pairing a controller to Windows. Both will result in the controller appearing to be connected, but on the wrong way the controller won’t remain connected for more than a few seconds and a Add a device notification will keep on appearing
  • Check the dedicated Bluetooth connection issues page for more info

Controller was connected to the PC via Bluetooth: Paired incorrectly or needs to be re-paired

There is a correct and a incorrect method of pairing a controller to the PC via Bluetooth. Both will result in the controller appearing to be connected, but on the incorrect method the controller won’t remain connected for more than a few seconds and Windows will sometimes show a Add a device notification.

Sometimes this happen when a user had previously connected the controller to the PC, removed the device and is trying to simply turn on the controller in the hopes that it will reconnect. If in doubt, fully remove the controller from Windows’ Device list and re-pair it via the proper way.

Correct method

User manually makes Windows look out for a device that is in pairing mode

image of bluetooth pairing

Incorrect method

User simply turns on the controller and tries to accept the Add a device notification

image of add a device notification

Controller has been accidentally disabled

There is a chance that DS4W has permanently disabled your controller in a previous attempt of gaining Exclusive Access when using the Hide DS4 controllers option.

Though this can happen via any connection method, on Bluetooth removing and re-pairing the controller will fix the issue.

On USB, the easiest way to verify this is by checking if the controller works properly in other USB ports, though another indication for DS4 or DualSense users is that the lightbar will keep flashing yellow, indicating that the controller is only at a charging state (likewise, it will flash yellow only once then turn off if fully charged).

To check if your controller is disabled:

  • Open Windows’ Devices and Printers by pressing Win+R in your keyboard, typing control printers then selecting Ok
  • Locate your controller on the list
  • Right-click on it, select Properties then select the Hardware tab
  • Select the HID-compliant game controller and check its status at the bottom of the Window
  • If disabled, re-enable it by clicking at Properties then Enable device

If it was disabled then re-enabling should fix the issue.

image of reenabling controller

Controller is enabled but hidden

image of controller being hidden

If you found out that:

  • Your controller is properly connected
  • Your controller is NOT disabled in the previous sections
  • Still does not appear on Windows’ Game Controllers list
  • Is not detected by DS4Windows

Then it may be hidden. The following tools could be the culprit:

HidGuardian

HidGuardian is a driver that can prevent Windows from recognizing a connected controller as an actual game controller. It was used by DS4Windows to prevent the double-input issue, but support for it was removed in v3.0.8 for 2 reasons:

  • Users didn’t know how to properly configure HidGuardian and ended up having issues that were complicated to troubleshoot and fix
  • The release of HidGuardian’s successor, HidHide, which works the same but is more user-friendly

As such, the latest versions of DS4Windows won’t request HidGuardian for hidden controller’s access and if a controller is hidden by it then it won’t be detected anymore.

Users who still have HidGuardian installed must:

  • Uninstall it for their controller to be detected again
  • Install HidHide as a replacement for the “controller hiding” function that is necessary to prevent the double input issue

HidHide

You can check if you have HidHide installed by opening Windows’ Apps and Features and searching for it, though if it do is installed then it’s probably just not properly configured to grant DS4Windows access to hidden controllers.

  • If you are definitely sure DS4W has been properly whitelisted by HidHide and it still can’t detect the hidden devices try temporarily disabling it by opening the HidHide Configuration Client and unticking the Enable device hiding checkbox in the Devices tab
  • If it still doesn’t work then try uninstalling HidHide via Windows’ Settings -> Apps and Features and rebooting
  • If even with HidHide uninstalled your controller does not appear on Windows’ Game Controllers list then the problem lies elsewhere

Controller is a copy-cat/replica

For these type of controllers to be detected by DS4Windows, they need to either:

  • present themselves as a complete copy of the original in a way that DS4Windows actually thinks they are the original and also behaves exactly like a original one
  • have specific support for them on DS4Windows’ code
  • try to force their detection by using the debug version of DS4Windows

Top 5 Ways to Detect a controller on Windows

  • If you want to troubleshoot issues with your real controller then it’s better if DS4Windows is stopped/not running for these checks, otherwise you might mistaken a virtual controller with the real one
  • If the Hide DS4 controllers option is active or if you have controllers hidden with HidHide then they may not appear on the Gamepad Tester website or in Windows’ Game Controllers list
  • Connected DS3 controllers used with DsHidMini in DS4Windows mode won’t appear on the Gamepad Tester website nor in Windows’ Game Controllers list. Confirm if they are detected on DsHidMini Control Utility (DSHMC.exe)

Using a Gamepad Tester

The Gamepad Tester should work in most modern browsers and will show detected controllers along with some additional info such as their vendor and hardware identification (VID/PID).

Windows’ Game Controllers List (joy.cpl) Command

Connected controllers should appear on Windows Game controllers list, also called joy.cpl. To open it:

  • Press Win+R in your keyboard, type joy.cpl then select Ok. Alternatively, you can…
  • Use the search function on Windows’ taskbar to find and open Game Controllers

image of joy.cpl

Going to Windows Devices and Printers

Windows’ Devices and Printers should offer a simple view of connected devices. You can use it to confirm a device has been detected by:

  • USB: verifying if there are changes when (dis)connecting a controller
  • Bluetooth: checking if the controller related entry is present and its status

To open the Devices and Printers menu:

  • Press Win+R in your keyboard, type control printers then select Ok. Alternatively, you can…
  • Open it from Windows’ legacy Control Panel

image of devices and printers in windows

Opening Windows Bluetooth & Other Devices

This menu will show connected/paired Bluetooth controllers and other devices, though it does not go much beyond that. Paired controllers can be removed here.

To reach it, open Windows’ Settings on the Start Menu and select it there.

image of bluetooth settings

The Device Manager is the one source of truth to everything that makes part of your PC. If it has been detected then it will appear there, but because it is very techinical on how it presents devices to the users it may be a little hard for the average user to find their way around it.

Regardless, to open it, press Win+X in your keyboard (or right click the Start Menu) then select Device Manager in the appearing menu.

image of device manager

3 - Bluetooth issues

Common issues with Bluetooth connections

Common DS4 Bluetooth solutions

Using a good quality, dedicated USB BT Adapter

  • Integrated BT adapters are usually bad
  • Most problems are caused by a bad bluetooth connection
  • Though most controllers will work with a 2.1 BT adapter, more modern ones usually have better signal quality
    • A (at least) 4.0 BT adapter is recommended

Re-pairing it to Windows using the correct method

There are 2 ways a controller can be paired to Windows:

  • The controller makes the connection request to Windows (incorrect method)
  • Controller is set in its special pairing mode and then the user manually makes Windows connect to it (correct method)

If the controller has been connected in the wrong method it will 100% not work even though it appears on Windows as if it has been properly added. If in doubt, make Windows remove the controller from its Device list and re-pair it again using the correct method. Check the following section on how to propperly connect a controller to the PC.

For more information, click here

How to properly remove and re-pair a controller

Remove a paired controller from Windows

In settings

Open Windows’ Bluetooth Devices list on its Settings

Locate your controller on the list, click on it then select Remove device

image of bluetooth disconnecting

In devices and printers

Sometimes this can be used when Windows’ fail to remove a device through the usual Devices Settings menu

  • Open Windows’ Devices and Printers
  • Locate your device, right-click it then select Remove device

image of bluetooth disconnecting

Common Bluetooth issues

Windows can’t find the controller when adding via Bluetooth & Other Devices

  • MAKE SURE YOUR DEVICE IS IN PAIRING MODE!
  • For most controllers a 2.1 Bluetooth adapter is required
  • Windows will not detect the device if it already is on its paired devices list, requiruing it to be removed from there beforehand
  • If the controller has been previously connected to the PC but does not appear on the list anymore, check if it still exists on Windows’ Devices and Printers
  • Sometimes Windows takes an awful long time to detect DS4v1 controllers
  • Use a gamepad tester to see whether your device can be picked up online.

Controller connects and stays connected but Windows / DS4Windows does not recognize it

  • Re-pair the controller to Windows using the correct method explained in one of the topics above just to be sure
  • If you’re using a controller from your gaming console (PS3, PS4, PS5, Switch) make sure it has not accidentally connected to it/turned it on. It is recommended to fully turn off/unplug it when first attempting to pair the controller to the PC
  • If this is not the case, check the dedicated controller detection issues page

Controller does not reconnect after system reboot, sleep or shutdown cycle

  • If using a USB BT adapter it may be a compatibility issue between the adapter and the USB port being used. Test the adapter in other USB ports (un-pair the controller before moving the adapter)
    • Sometimes this issue is caused by BT adapters that were were made for 2.0 USB ports being used in 3.0 ones
  • It’s possible that your BT adapter model is just not fully compatible. Test with a different adapter
  • Possible issues with BT adapter driver. Even if your BT adapter appears to work, check if there isn’t a specific manufacter’s driver that is required for it to properly function

Controller connects and works but sometimes randomly disconnects or stop responding

  • Generally causes by a bad Bluetooth signal stability. Refer to the Input delay on Bluetooth page for more related info
  • Possible faulty controller or dying controller battery
  • Check DS4Windows’ log for error messages
  • Verify if the issue does not occur when DS4Windows or Steam are not running
    • Keep in mind that using some controllers (DS4, DualSense) with DS4W or Steam makes them transfer more data, thus making them more prone to lose connection if your BT adapter is not up to the task

Cannot connect more than 1 controller or connection is lost

  • Caused by a bad quality BT adapter or high signal interference
  • BT adapter can’t mantain the necessary data rate
  • Refer to the Input delay on Bluetooth page for more related info

Windows using integrated BT adapter instead of the external/USB adapter

The integrated BT adapter must be disabled in Windows’ Device Manager:

  • Press Win+X on the keyboard and select Device Manager on the appearing selection window
  • Locate the integrated BT adapter under the Bluetooth section and disable it
  • Replug the dedicated adapter or try disabling and enabling it again

Loss of WiFi or Bluetooth signal if controller is connected

  • If using an integrated card that double as both the Bluetooth and Wifi adapter then it’s possible that its signal quality is so bad that one is interfering with the other. The solution would be to use a dedicated, good quality USB BT adapter
  • Even if using independent BT and Wifi Adapters, if the signal quality of one of them is bad then it’s quite easy for severely interferece between them to occur anyway
  • Make sure other devices’ (laptops, smart TVs, smartphones) WiFi and Bluetooth signals are not generating radio interference near the PC
  • When DS4Windows starts communicating with controllers the amount the data being traded vastly increases and may serve as an explanation if this issue does not occur when the controller is connected but DS4Windows is not running

Controller sometimes tries to reconnect to other nearby PC

Both PCs’ Bluetooth adapters probably have the exact same MAC Address, so the controller can’t differentiate between them and tries to connect to the first one that responds.

Latency/input delay issues on Bluetooth

A connection latency is how much time it takes for one system to communicate to another. In DS4Windows case, we refer to the time it takes for the system/DS4Windows to communicate with the controller. A high latency means a high input delay in games, meaning the time it takes for your character to respond to the controller commands.

image of bluetooth latency

A high but stable input delay will make the users’ character feel slow to respond, while a low input delay with high delay spikes may make the user prone to errors because of unexpected slow respond times.

It’s often considered that a really bad high latency is one where the input delay is above 20ms, though the ideal is to keep it bellow 10ms.

Usual controller latency

The following table can be used as reference for comparison on what input delay to expect with a supported controller and a good Bluetooth adapter:

ControllerUsual input delayMinimum input delayNotes
DualShock 35ms5msConnected through BthPS3 + DsHidMini (DS4Windows Mode)
DualShock 44ms = DS4W default settings1,5ms - polling rate set to maximumv1 and v2 don’t have major latency differences
DualSense3ms1ms
Switch Pro Controller16ms16ms16ms is the lowest latency the official controller can achieve
Joy-Cons16ms16ms

Monitoring input delay

  • You can check the current input delay by hovering your mouse above the controllers name on the Controllers tab (check the image above)
  • If the controller’s latency goes over 10ms then it will appear on the Log
  • If you have a DualShock 3, DualShock 4 or DualSense you can enable the Flash Lighbar at High latency option in the Settings tab, which will make the lightbar flash in a red color when latency spikes are detected.

For the DualShock 3 you need to have DsHidMini’s Lightbar to LED translation enabled, then latency spikes will cause all 4 LEDs to quickly flash.

image of latency in program’s log

Input delay issues

In case you are having issues with input delay, keep something in mind: DS4Windows itself is probably not the cause of whatever high input latency/latency spikes that you may have! 98% chance of the issue being elsewhere.

Controllers do not communicate directly with DS4Windows via some driver, they connect to the default Windows’ Bluetooth Stack and DS4Windows just receives and sends data to it through the channels given by Windows.

If you are having latency issues then installing/uninstalling drivers won’t fix them unless they are directly related to your dongle’s driver. For this reason, messing with DS4Windows’ related drivers will probably be a waste of time.

Latency issues always boils down to:

  • Low quality Bluetooth adapters (most integrated ones)
  • High radio interference near the adapter
  • Too many devices connected to the adapter
  • Not using the correct/updated BT adapter’s driver

Causes of high or unstable latency

Note on “Bad” BT adapters

Keep in mind that when the term “bad” is used it does not necessarily mean “cheap”. Multiple users have confirmed they have no latency issues even with 4 controllers connected with cheap, generic $5 adapters from Aliexpress.

Bluetooth and WiFi interference

Both use the same frequency. Although they should auto adjust to prevent interference, sometimes it just happens. Check if your area isn’t overloaded with different 2.4Ghz WiFi networks and Bluetooth devices. Also, if one of the signals is too weak then it’s quite easy for the other to heavily interfere.

Integrated or bad Bluetooth adapters

It’s quite common for integrated BT adapters to suck for one of the following reasons:

  • They are inside the laptop’s shell or inside a case that act as an obstacle to the signal
  • The Bluetooth adapter also is the WiFi adapter and they are both interfering at each other
  • They are just being overrall bad. Integrated BT adapters generally have short range and can’t maintain the minimum data rate necessary when connecting more than 1 controller. Good integrated adapters are the exception, not the norm

Though the minimum BT specification required for most modern controllers is the 2.1 specs, more modern adapters should have better signal stability.

Multiple connected controllers

Each connected controller means more data that is being transferred through the Bluetooth adapter. If you have a bad adapter or high radio interference near it it may not be able to maintain the required data rate between the system and controllers, causing high latency or even connection loss. Not much can be done besides trying to lower the interference or replacing the adater with a better one.

A good quality adapter can easily maintain a stable, low latency connection with 4 controllers or even more.

DS4Windows causing controller to increase data transfer rate

THIS ONLY APPLIES TO DUALSHOCK 4 AND DUALSENSE DS4 and DualSense controllers can communicate in 2 different modes:

  • PC friendly mode: only basic button/axes information is sent by the controller to the PC
  • Native PS mode: controller sends its full set of information, including motion sensors data, status, touchpad states etc

When first connected to Windows, these controllers communicate in PC friendly mode and their data transfer rate is low. When picked by DS4Windows (or Steam for that matter), a request is sent for them to change into Native PS mode, which increases the volume and the frequency of data being sent.

Not only that, DS4Windows also sends data back to the controller related to the rumble, lightbar, triggers (DualSense only) etc.

When these changes occur, if the Bluetooth adapter can’t keep up with the required data rate then the user may suffer with high input delay or even connection loss. So if your never had latency problems when using your DS4/DualSense in games as a generic controller but then start having issues when trying to use DS4Windows or Steam this may be the cause.

Potential fixes to latency issues

Test with WiFi fully disabled

This test is recommended for those with integrated cards that work as both BT and WiFi adapters

By disabling the WiFi signal you have one less source of radio interference so you can then verify your BT adapter performance in a environment with less signal noise. Keep wifi enabled devices far from the PC too.

Set Windows’ Power Plan to High Performance
  • Set the power saving plan of the PC to “High Performance” (usually the default in Win10 is balanced)
  • On Windows’ Device Manager locate your Bluetooth Dongle -> Enter its properties -> Check if there is a tab called Power Management and disable the turn off this device to save power (untick the option)
Use a dedicated BT adapter

A dedicated, good quality BT USB Adapter should offer better performance than an integrated one. Because its antenna is located outside of the laptop/desktop’s shell, it also suffers less from signal loss caused by physical obstacles.

When using a USB adapter in a PC that also has a integrated one the latter must be disabled in Windows’ Device Manager in order for the USB BT adapter one to be used, since Windows can only keep one dongle active.

Moving the adapter to another USB port

Moving the dongle to a better located USB port may offer a better quality signal. Also, USB ports (specially 3.0 and above) can be a source of radio noise. Test the dongle in different ports to verify which offer you a better signal.

Connect USB BT adapter through a USB extension cable

A laptop/desktop’s shell is a source of radio noise, specially if it’s ungrounded or near high powered, high data transfer ports like USB 3.0 and above. This noise may worsen your BT’s adapter performance.

Connecting your BT adapter through an active cable extension, so it stays located at some distance from the computers shell (not necessarily nearer to the controller), is known to be useful in these cases.

Decrease the BT polling rate in profile settings

Only works with DS4 and DualSense gamepads. The BT polling rates of other types cannot be controlled

In Profile Editor -> Other tab it’s possible to set the BT Poll Rate used for DS4 and DualSense controllers on Bluetooth. If you are having latency issues, specially with multiple controllers connected, try setting this value to 10ms or more. For most games, a controller input delay is only noticeable above 16ms.

image of bluetooth polling rate in settings

Disable output data to the controller

Your adapter may not be up to the task to both receive and send data to the controller. In this case, you can set a profile with the Enable output data to DS4 option disabled. Keep in mind that disabling this option will also disable Rumble and Lightbar control.

image of enable output data in settings

4 - Virtual controller issues

DS4Windows virtual controller creation, usage and troubleshooting

Verifying if DS4Windows is successfully creating virtual controllers

DS4Windows cannot magically change your real controller to one for another type, so what it actually does is create a virtual Xbox or DS4 controller that is then associated to your real one. If the virtual controller creation fails then one of DS4Windows main features is not working.

The “Associate (X360/DS4) Controller (…)” message appears on the log but the virtual controller does not appear on the Game Controllers list

ViGEm spawned the device but it’s in a error state. Verify on Device Manager - Check ViGEm log - Virtual controller has been hidden by HidHide/HidGuardian? - HidHide HidGuardian issue that can happen when the user has both installed at the same time.

The “Associate (X360/DS4) Controller (…)” does NOT message appears on the log

It’s possible that the user has disabled virtual controller creating/association in the currently active profile. To verify:

  • Go into DS4Windows’ Controllers tab
  • Click on the Edit button next to the selected profile
  • Check on the Profile editor -> Other tab if the Disable virtual controller checkbox is ticked. Untick it if applicable
  • Save the profile changes and stop/start DS4Windows
  • Confirm on Windows’ Game Controllers list if the new virtual controller has now been detected

Games not recognizing the virtual controller

Making sure the double controller (double input) issue is prevented

If there is an X on the “Ex” column then it’s possible for the double input issue to occur

  • For users of HidHide, make sure that the HidHide Configuration Client is fully closed before opening DS4Windows, otherwise the “Ex” check may fail even though HidHide is correctly hiding the physical controller virtual controller x symbol

It’s possible for the double input issue to actually make your controller NOT be detected by games, as such it should be the user’s number one priority to prevent it before anything else.

This happens because the game may detect the wrong controller (your physical one) first and then keep waiting for its commands while ignoring DS4Windows’ virtual one. Depending on how the game “reads” the physical controller inputs it may get stuck in a “nothing happens” situation.

Check the page about what causes the double controller (double input) issue and how to prevent it.

Confirming the virtual controller is acting as expected

  • Test your controller in the Gamepad Tester, check if it responds as normal accordingly to the used profile configurations
  • If the virtual gamepad is not acting as expected, maybe your profile is misconfigured. To test, create a new profile under DS4Windows’ Profiles tab using one of the recommended gamepad presets, save and then select it for your controller in the Controllers tab
  • If on the gamepad tester website your controller does not respond to any command then double-check again the currently selected profile in the Controllers tab and its configuration. Make sure the buttons bindings are actually mapped to something and a blank profile is not being used
  • If the Gamepad Tester website is failing to detect the the virtual controller then check the page related to virtual controller creation issues

Game not recognizing the virtual Xbox controller or stops recognizing it upon controller reconnection

This may be related to a somewhat known Windows issue where it has, hidden from view, associated the connected Xbox controller to a incorrect / not-expected “XInput Slot”.

image of xinput in the wrong slot image of xinput in the wrong slot

Common reasons for games to not detect virtual (emulated) DualShock 4 controllers

Game supports only Xbox controllers

image of emulated controller type selector

Most games support only Xbox controllers because of how easy it is to add complete support to them. Even games that were released for Playstation consoles sometimes don’t have native DS4 support on the PC, and there is nothing that can be done besides switching to Xbox controller emulation.

A good (but not 100% reliable) way to confirm if a game has native DS4 support is by locating it on the PC Gaming Wiki and looking for the “Input settings” section. Look carefully, sometimes it is quite hidden, so make sure to expand menus when applicable. Still, most games that have support for DS4 controllers don’t actually have rumble support, so be warned.

Some games also can be modded to include PS button icons while using Xbox controllers, though it’s not possible to cover this here and so you’ll have to google it yourself.

Game requires Steam Input to have support for DS4 controllers

Though it’s quite uncommon, some games absolutely require using your DS4 through Steam Input by enabling the Playstation Configuration Support option and launching the game through Steam to have working DS4 support or to support rumble/lightbar features.

Keep in mind that for using your virtual DS4 controller through Steam Input you’ll have to run DS4Windows under a custom name for Steam to not ignore it (thanks for not giving us the option on this and making our lives harder, Steam).

Game intentionally ignore virtual controllers

No known cases. Most users who claimed some game had this behavior were actually having other unrelated issue. Example: Shovel Knight ignores DS4 controllers if it detects DS4Windows is running, but it shouldn’t matter if the user is using a Xbox controller or if running disguised to not be detected.

Not saying it’s not possible, just that it’s not known.

5 - In-game problems

The controller is correctly detected but not behaving properly in games

Usual culprits

Double input issue

It’s essentially the major reason for users having problems playing games with DS4Windows. To not keep repeating information all over the site, check the double input page for more information on that.

Make sure your real controller is 100% hidden before playing games, otherwise you might start having double input/controller issues and mistake them for something else.

If there is an X on the “Ex” column then it’s possible for the double input issue to occur

image of hidhide shared access

Test with a new, “clean”, properly-functioning profile

It’s possible that the currently active profile is misconfigured, either by incorrectly tweaking settings or by having it broken after a DS4Windows update (really rare to happen, but possible).

To not go into a wild goose-chase, the very first thing that should be done is creating a new, sure-to-be-working profile:

  1. Go to DS4Windows’ Profiles tab and click on the New button to start profile creation
  2. A window will appear asking if the user wants to use a Preset. Select “Yes” then choose a Gamepad preset with Xbox or DualShock 4 output
  3. Choose any name for this profile (e.g.: “testing”) then save it
  4. Go back to the Controllers tab and select the new profile

This should result in a good profile for troubleshooting most issues.

Most common issues in games

Character or camera moves by themselves

This is usually caused by the “stick drifting” issue, which happens when the controller stick position is not perfectly centered when at rest and can be possibly caused by 2 different hardware issues:

  • The stick is not physically snapping back to its center
  • The stick being physically centered but the sticks’ position sensors not correctly reading its position

To counteract this, you can use the Stick calibration tool that was added in version 3.6.0. To correctly use it:

  1. Connect the faulty controller
  2. Press the Edit button in that controller’s row in the main menu profile editor
  3. Scroll down to Stick calibration and set the offset manually or use the automatic tool. Please note that there’s a separate section for each stick stick calibration section
  4. Save the profile

Alternatively, you can use deadzone, but with stick calibration you preserve the linearity of raw input.

Buttons / triggers pressing themselves randomly or not registering properly

Random inputs are 99.9% of the time caused by the controller itself being faulty, not by DS4Windows or other drivers.

If the issue is in the triggers, it’s possible to try increasing its/their dead-zone to require pressing them further before being registered.

One way to test if you are having random buttom presses is by creating a profile that has a Special action enabled that causes a profile switch to another profile when a specific button is pressed, then just leave your controller turned on and wait, or maybe try slightly touching the buttons without fully pressing them to see if its a sensibility issue.

Other than that, the only thing left to do is taking the controller to the assistance.

Controller stops responding randomly

Unless DS4Windows is out-right crashing or appearing to be frozen (Windows says that it is not responding) then it is probably an issue with your controllers cable, its own USB port, the PC’s USB port or if connected via Bluetooth then a latency issue.

For wired users, try using other PC USB ports, replacing the cable or testing if the problem does not occur when connected over Bluetooth.

Besides that, check if there isn’t any error message in DS4Windows’ Log that could give some direction on this.

Game constantly or occasionally feels slow to respond to commands (high input delay sensation)

  • May be an issue with the game itself
  • If the controller is connected via Bluetooth then you may be having connection issues which result in high input delay or random latency spikes
  • Controller latency can be monitored by hovering the mouse over the controllers’ name on DS4Windows’ main Controllers tab. Also, if the latency goes above 10ms then it will be registered on the Log tab
  • If you are connected wired but DS4Windows is alerting you of high input delay (over 20ms) then probably the cable is faulty, or even the PC or controller’s USB port

This was an issue with HidHide that was fixed on v1.1.50. Make sure to update to the latest available HidHide version.

Game has native support to DS4’s rumble, motion, gyro, touchpad and/or lightbar but it does not work

  • Because of an issue with the ViGEmBus, DS4Windows has disabled support for rumble and the Lightbar passthru mode when using virtual DS4 controllers

  • The issue causes the controller to occasionally not stop rumbling or to set wrong lightbar colors

  • The last version to have these features enabled was v3.0.10. Keep in mind that these features may or may not work well with games in this version and support will not be given to users that aren’t to the latest version

  • Are you reeeeeally sure it actually has support for those features? One good way of knowing, though not 100% reliable, is by looking in your games’ page on the PC Gaming Wiki and checking in the controller section if it has 1) DS4 Controller support and 2) if it’s specifically stated that those functions are supported

  • Make sure you are using a emulated DS4 controller and that you’ve enabled the corresponding passthru options that you intend to use on the active profile

  • Sometimes, for a game to have support for these features (or to even detect DS4 controllers) the following conditions are required: 1) launching the game through Steam and 2) Using the DS4 controller through Steam’s Playstation Configuration Support. For more info on that, please check the Steam related info page

Rumble does not work

Rumble and lightbar passthrough are currently disabled when DS4 emulation is active

  • Because of an issue with the ViGEmBus, DS4Windows has disabled support for rumble and the Lightbar passthru mode when using virtual DS4 controllers

  • The issue causes the controller to occasionally not stop rumbling or to set wrong lightbar colors

  • The last version to have these features enabled was v3.0.10. Keep in mind that these features may or may not work well with games in this version and support will not be given to users that aren’t to the latest version

  • Check on your profile settings’ Other tab if the rumble is not at 0%

  • Still on the Other tab test there if both your motors are working. If they don’t work there then it’s a hardware issue with your controller or you have a third-party / copy-cat controller that doesn’t have rumble or does not work with DS4Windows

  • Most games only have working rumble when using Xbox controllers even if the game supports both Xbox and DualShock 4 controllers

  • Some games only support DS4 controllers or DS4 controller rumble when using Steam’s Playstation Configuration Support. Read the previous topic for more info on that

6 - Keyboard + mouse remapping

Issues related to mapping the controller input to keyboard and mouse

About DS4Windows’ KB+M handlers

The KB+M handlers are the means by which DS4Windows sends keyboard and mouse actions. Currently the 2 handlers used are the SendInput and the FakerInput handler.

SendInput

The SendInput handler requires no driver and it’s used by default when the FakerInput driver is not installed.

Unfortunaly, some games and Windows’ events may end-up ignoring commands coming from SendInput for a variety of reasons, with a few examples being:

  • Windows’ preventing malicious software from taking control of the user’s system
  • Games’ anti-cheat protection
  • Games simply not recognizing commands coming from the SendInput function

FakerInput

The FakerInput handler does not suffer from the limitations of the SendInput handler, but it’s usage requires its driver installation. It’s also currently in beta and the user may suffer from unknown issues.

When it’s active, DS4Windows’ KB+M commands are sent via the FakerInput and received by the system as non-different than a real keyboard and mouse, meaning Windows and games will accept its commands even in situations that virtual KB+M usage are blocked.

Verifying / changing current KB+M handler being used by DS4Windows

You can check on DS4Windows’ Log tab which handler is being used.

kbm handler in log

DS4Windows always uses the FakerInput handler if its driver is installer, so to switch between handlers it’s a matter of installing or uninstalling the FakerInput driver and then restarting DS4Windows.

Installing FakerInput

Restart DS4Windows after the installation installing fakerinput

Uninstalling FakerInput

Make sure DS4Windows is not running when uninstalling the FakerInput driver

uninstalling fakerinput

Common issues

Mouse drifting or keyboard typing by themselves

This usually happens when the KB & M are mapped to the controller’s sticks but these are suffering from stick drift, which happens when the controller’s sticks are not correctly centered when at a resting position.

To fix this, please refer to this page.

Windows not responding to DS4W’s KB & M commands in some situations

Some situations, mainly in User Account Control (UAC) warnings/prompts, will make Windows ignore DS4W’s commands if the SendInput handler is being used. This happens as a Windows’ protection against malicious software that try to abuse the SendInput function to take control of the user’s system.

The possible fixes for this are:

  • Fully disabling Windows’ UAC (not recommended)
    • This will not fully solve the issue as there are situations where Windows will still prevent the SendInput handler from working
  • Switching to the FakerInput handler
    • FakerInput’s KB+M are recognized by the system/games as non-different than a real keyboard and mouse
    • It’s in beta test (v0.1) and the user may face some not-known issues

Game doesn’t respond to DS4W’s KB/M commands

This usually happens if the SendInput handler is being used in a manner similar to the topic above (have a read on it), though the difference is that some games do this as an anti-cheat counter-measure.

The only real fix for this is switching to the FakerInput handler, which the game usually can’t differentiate between it and real KB & M devices being used by the user.

Special cases (Valorant and possibly others)

Some games have really strong anti-cheat protection that both:

  • Ignore the SendInput handler commands, requiring the FakerInput handler usage and
  • Ignores every Keyboard and/or Mouse commands not being received by the main devices in the system

Usually, this “main device” verification is done the moment the game is being launched by detecting which KB/M is the first to send commands. These first devices will be recognized as the “main” user devices and every other one will then be ignored.

The workaround to this is to either:

  • Unplug the main KB/M when launching the game or
  • Not use the real KB/M (keep the mouse completely still, do not use any buttons) when launching the game and use only DS4W’s KB/M until its commands are detected
    • After the game correctly recognizes DS4W’s KB+M commands the game will then start ignoring the real KB/M
    • Depending on the game, the real KB/M usage may be ignored even outside of the game as long as it’s still running
    • Valorant only affects mouse detection/usage inside and outside of the game while it’s running. All keyboards in the system function as normal

KB/M commands not working when being sent via macros

If keyboard events are sent too fast Windows may not register that they happened. It is advised that the user:

  • Manually adds a wait time between the key press and release commands
    • 100ms is the recommended minimum wait time
  • OR Activates the Record delays option when recording a MACRO, which will make the MACRO recorder auto-register the time it takes for the user to send commands (only starts registering the time after the first command is sent)
    • Depending on the key sequence being registered this may not work. Example: trying to record Alt + Tab, the Win key and some others combinations won’t work since pressing these keys or key combination will un-focus the MACRO recorder window, making it stop registering some/all the keys being used.

image of macro wait time

7 - Double input

The infamous double input problem

If the game detects both the real and the virtual gamepad at the same time then it will receive commands from 2 different devices at every button press and stick movement, which can lead to the infamous double-input issue that can make games unplayable.

Double Input issue may:

  • Detect every command twice, making it unplayable
  • Start 2 player mode randomly
  • Ignore the virtual controller because it picked the real controller first
  • Respond incorrectly to the controller’s inputs
    • Usually happens because, even though the game is correctly reading the virtual controller, it is also incorrectly reading the real controller’s inputs at the same time
  • Do not respond to any controller command
    • Usually happens because the game detected the real controller first while being simultaneously unable to read its inputs
  • Other non-obvious issues

To prevent or fix this issue it’s necessary to hide the real controller in order to make only DS4Windows’ virtual controller visible to games.

For a guide on how to do this, click here.

8 - Steam and DS4Windows

Relationship between Steam and DS4Windows
  • Steam and DS4Windows both have what is called “controller remapping” functions. To avoid conflicts, it’s recommended that every Steam controller related option is disabled so only DS4Windows is being used as a remapper
    • Your controller will work as normal in the vast majority of games regardless of Steam’s controller related options being disabled
    • A really small amount of Steam games require the usage of Steam’s controller options to have working or full DS4 controller support (e.g.: Horizon Zero Dawn). For more information on this, check the Steam related information page.
  • Steam ignores DS4 or DualSense controllers (real or virtual) if it detects DS4Windows is running on the user system, which makes no difference for most users as games will still detect the controllers as normal. The downsides to this Steam behavior are:
    • Real or virtual Playstation controllers won’t be able to control the Big Picture interface (emulated Xbox controllers work as normal)
    • There are a few games that require usage of Steam’s controller options to have working or full DS4 controller support (e.g.: Horizon Zero Dawn). Because DS4 controllers are ignored, it’s not usually possible to use the controller through the required Steam’s Playstation Configuration Support in those cases
  • It’s possible to prevent Steam from detecting that DS4Windows is running to workaround the points given above, but doing so can cause remapping conflicts depending on how both of them are configured, specially if the Playstation configuration support option is enabled. As such, this should only be done if absolutely necessary! For more information on this, check the Running DS4Windows under a custom “.exe” name guide.

9 - Audio issues

Microphone/speakers issues when controller is connected

General Info

Some official and third-party DualShock 4 and DualSense gamepads support audio input/output when connected to the PC via specific connection methods (mostly USB only). This page is dedicated on instructing users on how to fix some “issues” that might happen when connecting their gamepads to the PC and leave some comments

List of gamepads that support audio input/output on PC

  • DualShock 4 (version 2 only) connected via USB
  • DualShock 4 connected via Sony’s USB wireless adapter
  • DualSense connected via USB
  • Possibly DualShock 4 copy-cats via USB (rare situation, most don’t have any working audio functions when used on PC)

Switching between audio devices on Windows and applications

Windows taskbar

switching audio target on the taskbar

Windows settings

switching audio target and source on the taskbar

Discord settings

switching audio settings in discord

Or quick switch by right-clicking:

switching audio settings in discord

Common issues

PC’s own headphone/speaker or mic stop working when connecting a DualShock 4 or DualSense to the PC

Because some gamepads expose their headphone and mic jack when connected (check the list above on this page) Windows may be auto-switching to them as the new computer’s default.

The “fix” is instructing Windows or the application being used (Discord, Skype, some games that support audio communication) to switch back specifically to the desired headphone/mic. Have a look at the “switching between audio devices” section on this page.

Headphone or headset doesn’t work when connected via the gamepad

Things to check:

  1. Do you have a controller that has audio support when connected to the PC according to the list on this page? Is it connected by one of the supported methods also described on the list?
    • Remember, currently no official gamepad exposed its audio functions when connected through Windows’ Bluetooth
  2. Have you selected the gamepad’s headphone or mic as the desired audio devices accordingly to the “Switching between audio devices” section?

If everything looks OK but the headphone/mic still isn’t working then… Don’t know, sorry. Maybe the headphone jack port is broken or you are suffering from some poor contact?

Frequently asked questions

Can I use my DS4/DualSense’s headphone jack when connected via the standard Windows Bluetooth?

No, this feature is not implemented. Is it possible to implement this? Apparently yes. WILL it be implemented? The answer is probably no unless some new developer steps in to specifically focus on this.

What most users don’t understand is that:

  • DS4Windows is a free, open-source software developed by a few people out of their own limited free time. Have you ever had to work, study, have fun and still have time left to work on non-paid software for random internet users? Balancing all these things is not an easy task
  • Even minor things can be complicated to be implemented. Audio input/output over Bluetooth is complicated, specifically because there is a LOT that is not known for the lack of documentation, so sometimes it takes way too many hours of work just to test something
  • There are other more important things to focus that actually impact gaming. if users need wireless headsets they can just buy a dedicated one. As such, this niche feature is really low on the TODO list