Getting Started with DS4Windows
Here we will go through the installation steps, whats required for the application and how to download and setup DS4Windows correctly.
What is DS4Windows?
For those that are still not sure what DS4windows is or why they need this application. See our about us page and FAQ for more information.
In summary, DS4 Windows makes it possible for your to use your PlayStation and Nintendo controllers on a Windows 10/11 PC by emulating a virtual Xbox/DS4 controller. With it, comes added features where you can remap or rebind the keys to your liking (buttons, joysticks, keyboard + mouse etc) and making it possible to play much more games with your controller. No need to buy a supported controller or forcefully play only with keyboard and mouse. Go ahead, take control!
Important Steps to use DS4 correctly
- Downloading, running and getting your gamepads detected by DS4Windows
- “Hiding” the real gamepads being used so only DS4Windows’ virtual controllers remain visible to games in order to prevent the infamous Double Controller or Double Input Issue
- This is THE major recomendation to be followed in order to prevent problems in games
- Check the Preventing the double controller / double input issue in games guide for more info about the issue and instructions on how to proceed
Important Notes
About the default Profile
- Xbox 360 emulation is the default mode: your gamepad will be recognized as if it were an Xbox 360 controller by the system and games
- DS4/DualSense’s touchpad is set for mouse control
- To quickly turn off or on this feature you can hold the
PS
button then touch the Touchpad once
- To quickly turn off or on this feature you can hold the
About DS4 Controller emulation
- Though it’s possible to change from Xbox to DS4 emulation, keep in mind that most games support only Xbox gamepads! If the game itself doesn’t have native support for DS4 controllers then your gamepad won’t be detected if you switch to DS4 emulation
- To switch to DS4 emulation you can create a new profile using a
Gamepad -> DualShock 4
preset or edit an existing profile and then change theVirtual controller settings
in the profile editor’sOther
tab
- To switch to DS4 emulation you can create a new profile using a
- Rumble is currently disabled when emulating a DS4 controller
- Do not confuse things: using a real DS4 while doing Xbox emulation will have rumble working as normal. Using any real controller + DS4 emulation will have rumble disabled
About the output slots tab (Latest DS4 version)
It’s better that nothing is changed on this tab unless you really know what you are doing. The default configurations (everything set to dynamic) is the better choice for most users.
Download, Install & Setup DS4Windows
Prerequisites
- Windows 10 or 11. Windows versions from 8.1 and below are NOT supported anymore and support will not be given to users running older builds
- One or more supported controllers (check the list) PS4 Controller
- (Optional) Bluetooth dongle for connecting wirelessly
- Microsoft .NET 8.0 FOR DESKTOP APPS
Downloading and starting DS4Windows
- Download the latest DS4Windows x64 package
- The .7zip package is smaller but requires the 7zip software in order to open/extract it
- Extract the package in a easily accessible folder (e.g.: Desktop, Documents, Download etc)
- DO NOT extract it inside a folder the requires elevated privilegies (e.g.: Program Files, Windows)
- Execute the
DS4Windows.exe
file to run DS4Windows - On first launch DS4Windows may ask you where to save its user data (settings and profiles):
- AppData folder (recommended): user data is stored outside of the program folder, inside a special folder reserved to your Windows user
- Program folder: user data is stored inside the same folder
DS4Windows.exe
is located
Drivers Setup
When running DS4Windows for the first time it may prompt you to install some drivers, with the first one being essential. Install them accordingly to your needs then hit the Finished
button after.
Driver | Recommended? | Driver function |
---|---|---|
ViGEmBUS | REQUIRED | Allows DS4Windows to create virtual Xbox/DS4 controllers |
HidHide | Strongly recommended | Used to “hide” your real controller in order to prevent games from simultaneously recognizing both your real controller and the virtual controller created by DS4Windows, a situation that can lead to the infamous double controller input issue |
FakerInput | Optional | Useful for users who want to use their controllers as keyboard and mouse. Though DS4Windows can do so by itself, the FakerInput has better performance and can work in more games and situations where Windows might prevent the usage ofDS4Windows’ normal keyboard/mouse handler |
Final steps
- If your controller is not connected yet, do so now
- Check here if you are having trouble connecting them via bluetooth
- If everything is ok then your controller will appear on the main
controllers
tab with theDefault
profile selected- Make sure DS4Windows is not stopped
- Check here if DS4Windows has not detected your controller
Assuming your controller has been detected then Xbox Controller emulation should already be working and you are all set. Good Luck and Have Fun!
Connecting controllers to the PC and DS4Windows
DS4Windows should immediatly recognize any controllers properly connected to the PC.
Though USB cables are the most reliable, connecting controller wirelessly via Bluetooth will offer similar response times (input delay) and stable connections as long as a good quality BT adapter is being used and no major radio interference is affecting the connection.
Connection methods
USB
- Should be as simple as just plugging your controller with a good, working USB cable
- Windows should play a “device has been detected” sound when the controller is plugged in
- Keep in mind that some USB cables can only be used for charging. If the cable does not support data transfer then it won’t be of use
Bluetooth
- Make sure your BT adapter has the minimum specs for your controller
- The controller needs to be set into
pairing mode
to be added as a Bluetooth device through Windows’ settings. If a pin is asked try0000
- If a controller has already been previously paired and you can’t reconnect, try removing the device from Windows’ Bluetooth devices list and repairing them
Setting Controller in pairing mode
Hold at the same time the PS + Share
buttons until the lightbar starts flashing in a heartbeat pattern.
Hold down the sync
button until the controller LEDs enter a back n’ forth pattern.
- Probably the same as the official ones
- If facing trouble, check the controller’s manual
Sony DualShock 4 USB Wireless adapter
The official adapter from Sony supports only 1 controller, but allows the headphone jack to be used wireless for both audio and mic.
To pair a DualShock 4 to it, both must be set to pairing mode. For the Wireless Adapter, its main body must be slightly pressed towards the USB port (until a “click” is felt) then hold it down in this position for 3 seconds, with its LED flashing in a heartbeat pattern indicating that it’s in pairing mode. Set then DualShock 4 into pairing mode (check the previous section) and it it should connect to the adapter.
Final Checks
Assuming everything is working as expected then DS4Windows should have no trouble detecting your controller, just make sure you haven’t accidentally stopped DS4Windows (in case you have, just press DS4Windows’ start
button)
If for whatever reason DS4Windows is failing to detect your controller or you are not sure if it has been properly connected, check the Controller Detection troubleshoot page or use a gamepad tester.
Preventing the double controller / double input issue in games
About the double input (controller) issue
DS4Windows does not magically transform your gamepad from one type to another. It creates a virtual gamepad that is associated to your real one. This means that if you have 1 real gamepad connected then windows will actually detect 2 gamepads. If 2 real then 4 and so on.
The image below shows how Windows behaves when a DS4v2 (Wireless Controller) is connected to the system while DS4Windows is emulating a Xbox gamepad:
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. Check the examples below:
The game 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
- “Keep in mind that the “double input issue” encompass every problem related to 2 controllers responding to the same user’ input, even if both controllers are not 100% mimicking each other
- Test it yourself on the Gamepad Tester Website
Methods to prevent Double Input
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. This can be done in two ways:
- HidHide (recommended)
- DS4Windows’
Hide DS4 Controllers
option (legacy, non-recommended option)
HidHide (recommended)
HidHide is a driver that acts as a barrier between Windows and game controllers connected to the system. It allows the user to selectively hide gamepads and only allow specific software to still detect them.
It is the recommended method because once it has been properly setup the double input issue is solved for good for the hidden controller.
In DS4Windows case, the user needs to set HidHide to:
- Hide the real controllers from the system once when connected via USB and once when via Bluetooth
- Allow DS4Windows to see all hidden devices, otherwise it would think there are no supported gamepads connected
HidHide has its own dedicated setup page. Users who know more or less what they are doing can follow the quick setup section and for the ones having trouble there is also the step-by-step section.
HidHide Usage & Tips
General Info
- After installing the HidHide driver you MUST reboot your system before using it
- If HidHide is properly configured then the
Hide DS4 controllers
option under DS4Windows’Settings
tab is redundant and should be left disabled - Though HidHide’s own setup guide should cover everything the user needs, this site also has a dedicated HidHide usage troubleshooting page for users having trouble configuring it or confirming if their real controllers are actually hidden.
Client Configuration
- In order to avoid confusion, make sure DS4Windows is stopped or fully closed BEFORE opening HidHide’s Client so only real controllers appear on its devices list
- Remember to close HidHide’s Client before re-opening DS4Windows, otherwise the
Ex
check will fail even if the controller is correctly hidden
DS4Windows Built-in Hider
Though it is written “DS4 Controllers” it applies to any real controller detected by DS4Windows
This option exists on DS4Windows’ Settings
tab. When enabled, DS4Windows will kindly ask Windows for exclusive access to detected devices, meaning the later would only allow DS4Windows to detect the gamepads and preventing the double input issue.
The problem with this method is that Windows can deny the exclusive access request when another process already has a open connection to the gamepad. Common reasons for this request to fail are:
- A game already is running
- Google chrome/Opera is running (why does it have a connection to the gamepad you ask? A mystery)
- Nvidia Geforce experience process having a hold of the gamepad
- Random non-obvious process having a hold of the gamepad
- etc
Even if it works initially, if your gamepad disconnects in the middle of a game chances are that you’ll lose exclusive access upon reconnection, requiring you to close the game to try again.
For the reasons explained above, the Hide DS4 Controllers
option is NOT RECOMMENDED, though it remains available to users that need to use it for whatever reason. HidHide is the better option all around for those who can use it.
Managing DS4W's Installation, Backups and User Data
User data's files and folders
The complete list of user data related files and folders is the following:
- Actions.xml
- Auto Profiles.xml
- ControllerConfigs.xml
- LinkedProfiles.xml
- OutputSlots.xml
- Profiles.xml
- Profiles folder
Backup, Restore & Delete
Backup
It’s necessary to verify if there are user related data in two different folders: inside the main DS4Windows folder and in the user’s Profile folder. To do so:
- Click on the
Profile Folder
option under DS4Windows’Settings
tab and confirm if the user related data is there - Also check if the user data is on DS4Windows’ main folder, even if you found data previously on the Profile folder
- If both locations contains user data related files then the actual location used by DS4Windows load User Data is the one that cointains the
Profiles.xml
file- If the user plans to backup the entirity of DS4Windows and the User Data location is on the DS4Windows folder itself then they can just backup the whole folder
- After finding the actual location User Data is loaded from, backup the related files and folders presented on the main section’s list
Restore
- Copy the user data back to the profile folder or to the main DS4Windows folder accordingly to your use case, then restart DS4Windows if it’s open
- If both locations contain user data DS4Windows will prompt the user to choose which place to load from. Most of the user data on the unused location will then be deleted
Delete
Follow the same steps as on the Backup section, but delete the found User Data.
Uninstalling DS4Windows and related drivers
DS4Windows Program
DS4Windows is a portable application, meaning it is not actually “installed”. To get rid of DS4Windows just delete its folder. Simple as that.
Settings and user data
- Press Win+R, type
%appdata%
and then select OK. This should open windowsappdata/Roaming/
folder - Verify if the DS4Windows folder exists there and delete it if found
Related drivers
These are companion drivers that are currently used by DS4Windows. If you are looking for more info on what they are and their purpose, check the about companion drivers page.
ViGEmBus
Keep in mind that the Nefarius’ ViGEmBus is used by a good number of other applications, with the most known one being Parsec. If you have other programs that make use of the ViGEmBUS, then uninstalling it may break their functionality, though the program might just prompt you to install it again
- Check ViGEmBus’s removal section on the original ViGEmBus’ documentation
HidHide
- Open Windows’
Apps & Features
(search for it on the start menu) - Search for/locate “HidHide”
- Uninstall it and then reboot your PC
FakerInput
- Open Windows’
Apps & Features
(search for it on the start menu) - Search for/locate “FakerInput” and uninstall it
Running DS4Windows under a custom ".exe" name
General info
There are some aplications and games that behave differently when they detect DS4Windows is running on the users system. The known ones are:
- Steam Big Picture: cannot interact with the Big Picture interface using DS4 controllers
- Steam Input: will ignore DS4 controllers, breaking their usage with Steam’s
Playstation Configuration Support
- Sholve Knight: game will ignore DS4 controllers
This guide will make DS4Windows run under a new process name instead of the standard DS4Windows.exe
in order to make it run undetectable.
How to set a custom ".exe" name
The name DS4Win
will be used as an example for this guide, but any other name can be used:
Step 1
- Open DS4Windows and go to the
Settings
tab - If the
run at Startup
option is enabled then disable it for now - On the
Custom Exe name
box write the desired custom name (DS4Win) without adding “.exe” in the end - Stop and then start DS4Windows again
Step 2
Fully close DS4Windows, make sure it’s not running on the background or in the system tray
Step 3
On DS4Windows’ folder, locate the new TheNameYouChose.exe
(DS4Win.exe) file and execute it
Step 4
To check if everything is alright, press Ctrl + Shift + Esc
top open Windows’ Task Manager, go into the Details
tab and confirm that TheNameYouChose.exe
(“DS4Win.exe”) is running instead of DS4Windows.exe
.
- From this point forward the original
DS4Windows.exe
should not be used anymore - If the
run at Startup
option has been disabled in the beggining then re-enable it now - Sometimes this process needs to be re-done after a DS4Windows update, though DS4Windows updates should work as long as the name inside the
Custom Exe name
box is exactly the same as the actual “.exe” file (not including the actual “.exe” text)
Stop using a custom ".exe" name
- Fully close DS4Windows in case it is open. Make sure it’s not running in the background or at the system tray
- Open the original
DS4Windows.exe
file - If the
run at Startup
option is enabled then disable it for now - Erase the name inside the
Custom Exe name
box - Stop and then start DS4Windows again
- If the
run at Startup
option has been disabled in the beggining then re-enable it now