Repository navigation
Releases: MaximumFreak/dsz
Release list
DSZ - DualSense Zen 0.4.0
Download dsz.exe and run it. There is nothing to install. It replaces 0.3.9 in place, and your settings and profiles carry over.
Controller microphone over Bluetooth (experimental)
- The controller's built-in microphone, or a headset microphone plugged into its jack, can now be your microphone in Windows over Bluetooth. Turn on Bluetooth microphone on the Haptics page, then pick the Wireless Controller microphone in Discord, your game or Windows.
- It needs Bluetooth and a profile with Virtual controller → DualSense. Over USB, Windows already has the controller's own microphone.
- Choose the built-in or headset microphone (Auto prefers a headset), mute it, set its gain, and use the controller's Mute button as a real mute; its light shows when you're muted. A level meter shows what the controller hears.
- The controller's microphone runs only while an app is recording from it. The rest of the time it costs no battery, and the controller can still turn itself off when idle.
- It's off unless you turn it on, and until you do, nothing changes in how DSZ talks to your controller.
- This is experimental: it hasn't been tried on every controller, firmware and headset yet. If it doesn't work for you, please open an issue saying which controller and headset you have.
PC audio on the speaker without turning it into vibration
- PC audio on speaker / headset no longer switches the haptics source to system audio. You can now hear PC sound through the controller while the haptics keep coming from the game. The haptics source choices are now called Game / events and Audio to vibration.
- If you once turned on "PC audio on the speaker" and later switched the source back to "Events only", that profile now plays PC audio on the controller. Turn the switch off on the Haptics page if you don't want that.
Português (Brasil)
- DSZ can now show its interface in Brazilian Portuguese: Settings → Language. English stays the default.
Emulator motion: clearer Dolphin steps
- The Emulator motion card in Settings now says that picking the DSUClient device in Dolphin maps nothing by itself. On Windows, Dolphin leaves the Wii Remote's motion boxes empty, so each Accelerometer and Gyroscope box in the Motion Input tab needs its DSU input, such as
`DSUClient/0/DSZ:Gyro Pitch Up`. Right-click a box to type it. Tick Enabled under Point for gyro pointing.
Thanks to @delislt for the microphone, the PC audio change and the Portuguese translation.
Requirements (the same as 0.3.9)
- Windows 10 or 11. A DualSense, DualSense Edge or DualShock 4, over USB or Bluetooth.
- Virtual controllers need usbip-win2 and HidHide. The Virtual controller page installs either in one click.
- The exe isn't code-signed, so Windows SmartScreen may warn the first time. Choose More info, then Run anyway.
DSZ - DualSense Zen 0.3.9
Download dsz.exe and run it. There is nothing to install. It replaces 0.3.8 in place, and your settings and profiles carry over.
Kaspersky no longer flags DSZ: updates go through your browser
- Kaspersky flagged 0.3.8 as a "Trojan-Downloader" and deleted it. It wasn't one, and no other antivirus flagged it: the alarm came from the way 0.3.8 updated itself, downloading a program and starting it, which is what downloader malware does.
- DSZ no longer downloads programs itself. Download in Settings → Updates has your browser download the new
dsz.exe, so it's scanned like any other download. DSZ finds it in your Downloads folder, checks it against the fingerprint GitHub publishes for it, and then offers Install and restart. If your browser saved it somewhere else, I saved it somewhere else… lets you point to it. - If Kaspersky deleted 0.3.8, download this version by hand. If you're on 0.3.8, its update button still works.
Portable: settings beside dsz.exe
- Settings → Backup & restore has a new switch, Keep settings beside dsz.exe. It moves your settings, profiles and log into a
dsz-datafolder next to the app and restarts DSZ, so the whole thing can live on a USB stick or in a folder you sync. Switching it off moves them back to%APPDATA%\DSZ. - A
dsz-datafolder next todsz.exeis all it takes: making an empty one by hand also works, starting with fresh settings.
Gyro for emulators: Dolphin, Cemu, Ryujinx and yuzu-family
- A new Emulator motion card in Settings turns on a motion server that speaks the cemuhook (DSU) protocol, the one DS4Windows offers. It's off unless you turn it on.
- With it on, Dolphin can use the controller's gyro and accelerometer for Wii Remote motion and pointing, Cemu for the Wii U GamePad, and Ryujinx and yuzu-family emulators for Switch motion controls. The card says where to switch it on in each emulator: the address is
127.0.0.1, port26760. - Buttons and sticks still come from your virtual controller as usual. Turn the profile's gyro mouse off while playing, or the gyro moves the mouse as well.
- Up to four controllers, in the order they connected. DualSense, DualSense Edge and DualShock 4.
Requirements (the same as 0.3.8)
- Windows 10 or 11. A DualSense, DualSense Edge or DualShock 4, over USB or Bluetooth.
- Virtual controllers need usbip-win2 and HidHide. The Virtual controller page installs either in one click.
- The exe isn't code-signed, so Windows SmartScreen may warn the first time. Choose More info, then Run anyway.
DSZ - DualSense Zen 0.3.8
Download dsz.exe and run it. There is nothing to install. It replaces 0.3.7 in place, and your settings and profiles carry over.
Update notifications and one-click updates
- DSZ now checks GitHub once a day for a newer version. When there is one, you get a tray notification, an Update to … button at the bottom of the sidebar, and the details in the new Updates card in Settings.
- Update and restart downloads the new
dsz.exe, checks it against the fingerprint GitHub publishes for it, swaps it in for the one you're running and restarts DSZ, with your settings and profiles kept. What's new opens the release notes. - Nothing installs by itself: updating restarts DSZ, which reconnects the virtual controllers, so it's best done outside a game.
- The daily check can be turned off in Settings → Updates; Check now checks right away.
- This version itself still has to be downloaded by hand; from here on, DSZ updates itself.
Each DualShock 4 keeps its own identity in Steam
- With two DualShock 4s, Steam showed both virtual DualShock 4 controllers as the same controller, so they shared one name, lightbar color and configuration. DualSense controllers didn't have this problem.
- The virtual DualShock 4 now takes its identity from the controller driving it, so Steam tells each one apart and keeps its own settings. This also applies to a DualSense on a DualShock 4 profile, and to a DualShock 4 on a DualSense profile.
- Steam sees each controller once as a new one, so its name, color and settings need setting up one more time.
Requirements (the same as 0.3.7)
- Windows 10 or 11. A DualSense, DualSense Edge or DualShock 4, over USB or Bluetooth.
- Virtual controllers need usbip-win2 and HidHide. The Virtual controller page installs either in one click.
- The exe isn't code-signed, so Windows SmartScreen may warn the first time. Choose More info, then Run anyway.
DSZ - DualSense Zen 0.3.7
Download dsz.exe and run it. There is nothing to install. It replaces 0.3.6 in place, and your settings and profiles carry over.
Switching from the DualSense profile to Xbox works everywhere
- Some apps and games didn't see the virtual Xbox controller after a switch to the Xbox profile, even though Windows listed it. This happened when DSZ started on the DualSense profile (Game Bar and other apps then got no input from the controller), and when a game such as Astral Ascent started in DualSense mode and you switched to Xbox mid-game.
- On the DualSense profile, DSZ keeps the Xbox controller plugged in but hidden from games. Showing it again doesn't tell Windows a controller arrived, so anything that looked for controllers while it was hidden kept missing it.
- In those two cases DSZ now plugs the Xbox controller in again when you switch back (you hear Windows' disconnect and connect sounds). Switching back after a DualSense game closes stays as quick as before, with no reconnect.
- HidHide lets only one program talk to it at a time. When two parts of DSZ checked on it at the same moment, DSZ took HidHide for gone and briefly showed the hidden Xbox controller to games. DSZ now waits its turn instead.
- If DSZ ever lost track of a virtual controller it had hidden, that controller could stay hidden from games for good. DSZ now cleans those up when it starts.
Game Bar works on the DualSense profile again
- A recent Windows update stopped Game Bar from taking DualSense input, even with DSZ closed. On the DualSense profile, the PS button still opened Game Bar, but no other button worked in it.
- While Game Bar is open, DSZ now sends your buttons, sticks and triggers to the hidden Xbox controller, which Game Bar can use. Move around with the D-pad or left stick, pick with Cross (A) and go back or close with Circle (B).
- The game gets no input while Game Bar is open, so pressing Cross to pick a widget doesn't also make your character jump. Everything goes back to the game as soon as Game Bar closes.
- This needs Keep the Xbox 360 controller as player 1 on (the default) and HidHide, on the Virtual controller page. It works the same on the DualShock 4 profile.
Back up and restore all your settings
- Settings has a new Backup & restore card. Back up all settings… saves every profile and app setting to one file, for safekeeping or another PC.
- Restore from backup… checks the file, asks first, and saves your current setup to a
backupsfolder before replacing it, so you can always go back. Settings DSZ learned about this PC (which devices it hides, your audio choices for the virtual DualSense) are kept. - Open settings folder opens
%APPDATA%\DSZ, where profiles, settings and logs live. - On the Profiles page, import and export are now labeled Import profile… and Export profile… (one profile). Open profiles folder sits next to them, and Backup & restore… takes you straight to that card in Settings and lights it up.
usbip-win2 0.9.8.1
- The one-click usbip-win2 install on the Virtual controller page now gets 0.9.8.1, the current release, instead of 0.9.7.7. As before, DSZ checks the download against its published fingerprint before running it.
- If you already have 0.9.7.7 or 0.9.8.0, there's no need to change: both keep working. Updating from 0.9.7.7 can take a restart or two.
The virtual Xbox controller describes itself like a real one
- When Windows asked the virtual Xbox 360 controller what it has, DSZ answered "nothing": no buttons, no sticks, no triggers. Games and Windows' own controller features saw a pad that, on paper, had no controls at all.
- It now answers like a wired Xbox 360 controller: every button, both triggers, both sticks and both rumble motors. Games that check a controller's capabilities before using it now see a normal pad.
- This may also fix a rare bug where Windows acted as if the Xbox button was held down after startup, so Task View opened whenever you clicked the desktop or taskbar. That bug has been seen once; quitting and restarting DSZ cleared it.
DSZ no longer switches itself to DualSense mode
- If DSZ's exe had any name other than
dsz.exe(a browser saving a second download asdsz (1).exe, for example), DSZ took itself for a game with DualSense support and kept switching to the DualSense profile. It now always skips its own exe, whatever it is called.
Requirements (the same as 0.3.6)
- Windows 10 or 11. A DualSense, DualSense Edge or DualShock 4, over USB or Bluetooth.
- Virtual controllers need usbip-win2 and HidHide. The Virtual controller page installs either in one click.
- The exe isn't code-signed, so Windows SmartScreen may warn the first time. Choose More info, then Run anyway.
DSZ - DualSense Zen 0.3.6
Download dsz.exe and run it. There is nothing to install. It replaces 0.3.5 in place, and your settings and profiles carry over.
Xbox mode works in more games
- Some games ignored the virtual Xbox controller completely, even though Windows listed it as player 1. Games built on SDL (Astral Ascent, for example) find Xbox controllers through Windows' raw input, and Windows lists a device there only at the moment it is plugged in. If the controller was hidden from games at that moment (as DSZ hides it while a DualSense game is running), it was left off the list for good.
- DSZ now hides a controller it plugs in for later only after Windows has listed it, and checks the controller in use every few seconds. If Windows has lost it, DSZ plugs it in again within about a second.
DualSense mode for more games
DSZ now also switches to DualSense mode on its own for:
- Games built with SDL's PS5 support (Astral Ascent, Blood: Refreshed Supply).
- Unity games using Rewired with its DualSense support (Death Squared, Roots of Pacha).
- These games read the DualSense themselves, so they show PlayStation button prompts and use rumble, the lightbar and the player lights. Most don't use the haptics or adaptive triggers.
- Before, with Other games set to DualShock 4 or Xbox 360 under Profiles & games, these games got that controller instead of the DualSense.
Your choice of audio device sticks
- If you pick the virtual DualSense as your Windows output (or microphone), DSZ now keeps it there, including the next time a game switches DSZ to DualSense mode. Before, DSZ switched it back for 15 seconds after the virtual controller appeared, so it took a few tries.
- DSZ still stops Windows from making the virtual DualSense your default output and microphone on its own. Pick your usual device again to undo your choice.
Requirements (the same as 0.3.5)
- Windows 10 or 11. A DualSense, DualSense Edge or DualShock 4, over USB or Bluetooth.
- Virtual controllers need usbip-win2 and HidHide. The Virtual controller page installs either in one click.
- The exe isn't code-signed, so Windows SmartScreen may warn the first time. Choose More info, then Run anyway.
DSZ - DualSense Zen 0.3.5
Download dsz.exe and run it. There is nothing to install. It replaces 0.3.4 in place, and your settings and profiles carry over.
Headphones in the controller's jack
- With Headset when plugged in on (the default), speaker sound (PC audio or a game's speaker channels) now plays in stereo through headphones in the controller's 3.5 mm jack over Bluetooth, and the controller speaker goes quiet. Before, the speaker kept playing and the headphones got only the left channel, or nothing at all.
- Plugging in or unplugging moves the sound between headphones and speaker.
- Headphone volume follows the speaker Volume slider on the Haptics & audio page.
How to use it (controller connected over Bluetooth)
- PC audio: on the Haptics & audio page, in Controller speaker, turn on PC audio on the speaker and set Volume above 0. This also turns on Stream haptics with Source: System audio, which captures what your PC is playing.
- Games with DualSense speaker sound: on the Virtual controller page, under Game feedback, turn on Game speaker. The game has to be using DSZ's virtual DualSense.
- Headphones: leave Headset when plugged in on (in Controller speaker), then plug headphones into the controller. Unplug them to go back to the speaker.
Quitting DSZ no longer upsets Steam
- Quitting with a controller connected over Bluetooth while the speaker stream was running could leave the controller sending microphone packets. Steam read those as input, which zoomed the screen or opened the on-screen keyboard. DSZ now turns the microphone stream off before it lets other apps see the controller again.
Requirements (the same as 0.3.4)
- Windows 10 or 11. A DualSense, DualSense Edge or DualShock 4, over USB or Bluetooth.
- Virtual controllers need usbip-win2 and HidHide. The Virtual controller page installs either in one click.
- The exe isn't code-signed, so Windows SmartScreen may warn the first time. Choose More info, then Run anyway.
DSZ - DualSense Zen 0.3.4
Download dsz.exe and run it. There is nothing to install. It replaces 0.3.3 in place, and your settings and profiles carry over.
The virtual Xbox controller stays player 1
- When a game switches DSZ to DualSense mode, the virtual Xbox 360 controller is no longer unplugged. It stays plugged in, idle and hidden from games, so it keeps its XInput slot, and it presses Xbox buttons (a PS → Xbox Guide mapping) instead of a separate helper controller. When the game closes, the same controller takes over again as player 1.
- Switching into DualSense mode is quicker, and the Xbox button works straight away, with no warm-up.
- New setting on the Virtual controller page: Keep the Xbox 360 controller as player 1 (on by default). Turned off, DSZ unplugs the Xbox controller as before and uses the helper controller for Xbox buttons; the helper now steps aside when the Xbox controller comes back, so that still gets player 1.
- Programs that already had the Xbox controller open before a game started (Steam, for example) keep seeing it while it waits, as an idle controller.
Requirements (the same as 0.3.3)
- Windows 10 or 11. A DualSense, DualSense Edge or DualShock 4, over USB or Bluetooth.
- Virtual controllers need usbip-win2 and HidHide. The Virtual controller page installs either in one click.
- The exe isn't code-signed, so Windows SmartScreen may warn the first time. Choose More info, then Run anyway.
DSZ - DualSense Zen 0.3.3
Download dsz.exe and run it. There is nothing to install. It replaces 0.3.2 in place, and your settings and profiles carry over.
The controller stays hidden when a game starts
- When a game switched DSZ to a different virtual controller (Xbox 360 to DualSense, for example), the real controller was visible to other programs for about 0.2 s between unplugging the old virtual pad and hiding it again. That is exactly when the game starts and looks for a DualSense, so it could open the real controller. The controller now stays hidden throughout, also while it is away.
Requirements (the same as 0.3.2)
- Windows 10 or 11. A DualSense, DualSense Edge or DualShock 4, over USB or Bluetooth.
- Virtual controllers need usbip-win2 and HidHide. The Virtual controller page installs either in one click.
- The exe isn't code-signed, so Windows SmartScreen may warn the first time. Choose More info, then Run anyway.
DSZ - DualSense Zen 0.3.2
Download dsz.exe and run it. There is nothing to install. It replaces 0.3.1 in place, and your settings and profiles carry over.
Default audio device stays put
- When a game starts in DualSense mode, Windows can make the new virtual DualSense the default playback device. DSZ already undid that, but the undo stopped if the controller disconnected in the same second, so system sound kept going to the controller. The undo now runs for 15 seconds after every virtual DualSense appears, whatever the controller does.
A record of what happened when a controller disconnects unexpectedly
- If a controller drops its Bluetooth link without DSZ asking (not the idle turn-off, and not the turn-off button mapping), DSZ now writes the last two seconds of traffic with that controller to its log (
%APPDATA%\DSZ\dsz.log): each report sent and how long it took, gaps in the controller's input, and when the speaker stream started. Nothing extra is logged while things work. - This is to track down a rare disconnect, seen twice on a DualSense Edge within half a second of a game starting in DualSense mode with the speaker on. If your controller turns off like that, please attach the log to an issue.
Requirements (the same as 0.3.1)
- Windows 10 or 11. A DualSense, DualSense Edge or DualShock 4, over USB or Bluetooth.
- Virtual controllers need usbip-win2 and HidHide. The Virtual controller page installs either in one click.
- The exe isn't code-signed, so Windows SmartScreen may warn the first time. Choose More info, then Run anyway.
DSZ - DualSense Zen 0.3.1
Download dsz.exe and run it. There is nothing to install. It replaces 0.3.0 in place, and your settings and profiles carry over.
More games switch to DualSense mode on their own
- DSZ now also recognises games that drive the DualSense with their own code, instead of through Sony's pad library or Wwise. Examples: Final Fantasy XIV, Animal Well, and Unreal Engine games that use Unreal's DualSense plugin, such as Oddsparks.
- Games DSZ already checked are checked again once, so a game it missed before switches the next time you start it.
- The new check was run against 550 programs on the test PC: games, browsers, Discord, editors and launchers. Only those three games were new matches. If a game switches to DualSense mode when it shouldn't, or doesn't when it should, please report it in Issues. A per-game rule in Profiles & games still overrides the check either way.
usbip-win2 0.9.8.1
- Now tested on the reference PC: the virtual Xbox 360 pad, the hidden helper pad, and the virtual DualSense with game audio all work on 0.9.8.1.
- Upgrading from 0.9.7.7 there needed two restarts: the first install hung while it was removing 0.9.7.7, and went through after a restart. The second restart loads the new driver. The one-click install on the Virtual controller page still installs 0.9.7.7.
Requirements (the same as 0.3.0)
- Windows 10 or 11. A DualSense, DualSense Edge or DualShock 4, over USB or Bluetooth.
- Virtual controllers need usbip-win2 and HidHide. The Virtual controller page installs either in one click.
- The exe isn't code-signed, so Windows SmartScreen may warn the first time. Choose More info, then Run anyway.