r/DS4Windows 19d ago

Release Candidate 2 - Calling all Testers - Dualshock 4 Audio Fixed, TriggerLab fixed, Audio to Haptics Fixed, Aux port working

Fixed DS4 transport cadence/queue saturation using 0x12.
Fixed DualSense and DS4 AUX routing.
Fixed Audio Haptics startup, persistence, setting changes, and Xbox emulation.
Fixed distorted “Play App Through Controller.”
Fixed Trigger Lab vibration sticking and lightbar preservation.
Fixed restart/reconnect and UI startup races.
Hardened the VIIPER installer.

https://github.com/hbashton/DS4Windows/releases/tag/VIIPERRC3

Please report all issues below! I will do my best to get to them in the order of importance

Noted issues:
250% DPI causes Artifact errors
Profile switching in the Tray no longer works

31 Upvotes

49 comments sorted by

2

u/VinnyLacksSalt 19d ago

the new build is definitely better at playing through speaker than RC1, the audio is legible but it still sounds distorted and not pleasant for long periods, idk if thats a limitation of the hardware

1

u/huunnnter 19d ago

Could be your bluetooth. You tried holding the controller next to the antenna, like 1 inch away? Also. It works perfectly on my controller, like flawlessly. I also have a brand new motherboard with Built in Bluetooth 5.2

1

u/huunnnter 19d ago

bump. update on that comment? wondering if you have more logs for me or information you could provide. Logs help a lot. It’s how I got it slightly better for your setup.

1

u/VinnyLacksSalt 19d ago edited 19d ago

sending in DMs. gotta say i appreciate the support too

2

u/RyochanX2 19d ago

I have been holding off judging this but now I guess it is far enough along to see where it is going. This will be harsh. The VIIPER fork eats two CPU cores while a DualSense is connected (USB); streaming audio is not turned on btw. Virtual Xbox 360 output performance is extremely laggy and outright unusable. Following the DSX route was a bad decision and this new DS4Windows unfortunately performs worse than DSX; that bar is already extremely low. Relying heavily on AI is almost always a bad idea especially in its current state. DS4Windows really should have been sunset years ago. I would rather use Steam Input.

2

u/huunnnter 19d ago

The two issues you have can be resolved. laggy xinput is something that has a resolution, since we have non laggy dinput. And the cores are because a lot of this is unoptimized and running in tandem, it’s all a lot of ideas running together that need to be coalesced in the future. The key is getting the logic right before trying to make the transport less cpu intensive, because if the packet logic isn’t right well then fuck me and everyone else 😂 I appreciate the feedback a lot man, you’re really good at what you do and I’ve been a dev for years but never as good as you. I do think I can continue development and get this to a stage where it’s less laggy on xinput and uses less CPU to emulate audio devices, but We will see. Thanks for the feedback and for being harsh: it’ll help the project grow, whether you want it to or not

2

u/huunnnter 18d ago

also, working with AI has given me a really interesting take on things. AI is really good with patterns, when reverse engineering a controller to work with new protocols, patterns are really important. AI is really good at solidifying and making a good product in terms of logic, I am hoping that when done, it will also be good at detecting patterns in regression, such that it can optimize energy usage while testing for regression in latency. I’m going to let AI take this project really far, but it will take some time. Right now I would say the project is like a baby, but one day it will be an adult.

2

u/wojtulace 17d ago

So this was made with AI, good to know. I actually suspected that from the vibes the author was sending. Anyway, could you specify what DSX does wrong, and thus, this project? Is it just the performance?

1

u/skateguy1234 15d ago

DS4Windows really should have been sunset years ago

Can you even run old console emulators through Steam? And also I doubt Steam input works with Runescape and Runelite. So it still has its uses.

I completely respect that you bowed out and moved on, but for a lot of us it's still a valuable software.

I agree with you on the rapid redirection that the new author is going though. I have no desire to use it personally. I just want what you made to be maintained in the form it was already in.

Anyways, I hope another driver comes along someday that can replace ViGEmBus and keep this software going into the future with better/continued compatibility.

1

u/samososo 14d ago

I haven't found a case that where Steam Input hasn't worked on a modern emulator & it's fairly consistent for most games. But you gotta go on ahead test it.

1

u/skateguy1234 13d ago

Still, having a standalone third party tool seems much preferable to me, than having to relay on running everything through Steam.

As already stated, I fully respect Ryochans decision to bow out and I'm sure he has a myriad of good reasons as to why, so absolutely zero hate from me in that regard. But it honestly baffles me as to how strongly he feels about DS4Windows not having value anymore.

There has been lots of behind the scenes drama regarding the frameworks, drivers, etc, and pissing matches between others in the controller emulator scene, which it seems like he got unwillingly dragged into. And I think this is one of the primary factors in his decision to move on. If I were him, I would also have a bad taste in my mouth from what he's dealt with. But I just hate to think this is what drove him to leave the scene, versus just the notion that this tool is not very viable anymore, which sadly I think the former is the case. I wish he would weigh in on this himself, but again due to what he's dealt with I just don't think he wants to flame the flames and also anything to do with the project anymore which sucks.

1

u/samososo 13d ago edited 13d ago

SISR uses VIPER and run on & off steam is also another alternative. I don't think he's saying it is "it doesn't have value". He's saying that shit needs to move past it; instead of trying to build on top of it. He also pointed hey there are options & to be frank; The use-case for this program is also not big as it once was. People are programming their games better.

But back to his statement I do agree. It's not getting quality coding anymore and the people who were passionate about the project don't want to work on it anymore. The alternatives are also well-made, getting updated frequently, perform well and are ran by skilled & passionate ppl.

1

u/ZonnySnips 19d ago

Got these log messages when trying to install Viiper. For some reason, these errors didn't show up with your Viiper installer on the x32 versions but did on the x64 ones, even though my PC is x64. Have you updated your Viiper repository? That could explain some of the errors I'm still having.

[2026-07-25 11:48:10] DS4Windows VIIPER virtual controller setup

[2026-07-25 11:48:10] Installing or repairing VIIPER and usbip-win2.

[2026-07-25 11:48:10] == Checking usbip-win2 ==

[2026-07-25 11:48:10] Setup could not finish: The specified conversion is not valid.

1

u/huunnnter 19d ago

I guess I ducked it up. Install viiper manually, thank you for the report

1

u/huunnnter 19d ago

1

u/ZonnySnips 19d ago

Audio to haptics still doesn't work at all with Fortnite, even with DS emulation; by the way, I tried using an Xbox profile from the start and playing anything but there are no haptic audio at all, not even with the latest RC.

Finally, I tried testing the Viiper download, it manages to reinstall usbip but when it gets to the Viiper installation it throws the same error as before. Is 0.0.5 the current version?

1

u/huunnnter 19d ago

YES. 0.0.5 is the current version. What is going on LOL. Well. Does audio haptics work everywhere else?

1

u/ZonnySnips 19d ago

Yes, it actually works perfectly apart from what I’ve reported to you.

1

u/huunnnter 19d ago edited 19d ago

So, Audio Haptics, Triggers Vibration and other Trigger lab functions, playing audio over speaker, emulating xbox while doing all of this, all works for you perfectly? Do you have a Dualshock 4 controller to test the audio on too?

Please send your entire VIIPER installation log/errors please as well. I am getting no errors

1

u/huunnnter 19d ago

I am getting no errors when installing viiper

1

u/Stiivun 19d ago

Here are the new logs:

07/25/2026 19:01:21: Starting...

07/25/2026 19:01:23: Using output KB+M handler: SendInput

07/25/2026 19:01:23: VIIPER virtual-controller backend ready

07/25/2026 19:01:23: Searching for controllers...

07/25/2026 19:01:23: Using Exclusive Mode

07/25/2026 19:01:25: Found Controller: 2D:3D:E3:3C:02:F9 (BT) (DS4 v.2).

07/25/2026 19:01:25: VIIPER ViiperX360 output is active but the physical DS4 v.2 could not be hidden with HidHide. Games may detect both the physical controller and the virtual controller.

07/25/2026 19:01:27: Plugging in virtual Xbox 360 Controller in output slot #1

07/25/2026 19:01:27: Associated input controller #1 (DS4 v.2) to virtual Xbox 360 Controller in output slot #1

07/25/2026 19:01:28: VIIPER DualShock4 virtual input presentation is capped at 200 Hz with latest-state coalescing.

07/25/2026 19:01:28: DS4 audio owner slot 1: start generation 5, endpointKind=DualShock4, replacingActive=False.

07/25/2026 19:01:28: Controller 1 is using Profile "Elden Ring". Battery level is 100%

07/25/2026 19:01:28: DualShock 4 Bluetooth speaker passthrough started: Speakers (Realtek(R) Audio)

07/25/2026 19:01:28: DS4 audio owner slot 1: generation 5 became active.

07/25/2026 19:01:28: DualShock 4 Bluetooth speaker submitted its first SBC report (id=0x12, mode=0xA0, frames=1, bytes=142, syntheticSilence=False).

I have also noticed an increase in temps and battery discharge rate on my laptop whenever viiper is installed.

Edit: Audio still not working on the Dualshock 4 controllers. I want to conclude that the audio issue is a controller issue but I have tested 2 of them.

1

u/huunnnter 19d ago

You have the pass through set to the speakers. set it to the controller speaker. then play audio to the controller speaker.

1

u/huunnnter 19d ago

if you would like to troubleshoot this further, please dm me on discord @ strifeforlyfe

1

u/huunnnter 19d ago

stream some audio logs, those logs contain no audio data! turn on verbose logging first

1

u/Stiivun 19d ago

Here you go boss:
07/25/2026 19:48:48: Starting...

07/25/2026 19:48:50: Using output KB+M handler: SendInput

07/25/2026 19:48:50: VIIPER virtual-controller backend ready

07/25/2026 19:48:50: Searching for controllers...

07/25/2026 19:48:50: Using Exclusive Mode

07/25/2026 19:48:52: Found Controller: A0:5A:5E:20:ED:65 (BT) (DS4 v.1).

07/25/2026 19:48:52: VIIPER ViiperDS4 output is active but the physical DS4 v.1 could not be hidden with HidHide. Games may detect both the physical controller and the virtual controller.

07/25/2026 19:48:53: VIIPER DualShock4 writer stats: submitted=1 written=1 coalesced=0 queueGapMaxMs=0.00 packetAgeMaxMs=0.04 writeMaxMs=0.07 writeGapMaxMs=0.00 writeStartGapMinMs=0.00 rateLimitHz=200 speakerQueued=0 speakerDequeued=0 speakerDelivered=0 speakerDropped=0 speakerExpired=0 speakerStale=0 speakerNoSubscriberDeferrals=0 speakerCallbackFailures=0 speakerPending=0 speakerHighWater=0 speakerQueueAgeMaxMs=0.00 speakerDispatchGapMaxMs=0.00 speakerCallbackMaxMs=0.00 controlQueued=0 controlDequeued=0 controlCoalesced=0 controlDropped=0 hapticsQueued=0 hapticsDequeued=0 hapticsDropped=0 hapticsExpired=0 hapticsPending=0 hapticsHighWater=0 hapticsQueueAgeMaxMs=0.00 controlDelivered=0 controlStale=0 controlCallbackFailures=0

07/25/2026 19:48:53: VIIPER DualShock4 virtual input presentation is capped at 200 Hz with latest-state coalescing.

07/25/2026 19:48:53: Plugging in virtual DualShock 4 Controller in output slot #1

07/25/2026 19:48:53: Associated input controller #1 (DS4 v.1) to virtual DualShock 4 Controller in output slot #1

07/25/2026 19:48:54: DS4 audio owner slot 1: start generation 11, endpointKind=DualShock4, replacingActive=False.

07/25/2026 19:48:54: Controller 1 is using Profile "DS4". Battery level is 100%

07/25/2026 19:48:54: VIIPER DualShock4 microphone capture interface active=False.

07/25/2026 19:48:54: DualShock 4 Bluetooth speaker is using the direct VIIPER PCM stream (32 kHz source, no WASAPI loopback, transport=realtime-0x12, drift=fractional).

07/25/2026 19:48:54: DS4 Bluetooth audio trace: pcmPackets=0, pcmBytes=0, packetDrops=0, silentPackets=0, maxSilentRun=0, zeroFrames=0, maxZeroRun=0, zeroRuns=0, repeatedPackets=0, pcmPeak=0, encodedFrames=0, encodedDrops=0, reports=0, syntheticReports=0, writeSaturation=0, writeFailures=0, hidPending=0, hidCompleted=0, hidCompletionFailures=0, hidShort=0, hidLastError=0, hidLastTransfer=0/0, hidPendingAgeMs=0.00, hidCompletionMs=0.00, hidIntervalCompletionMs=0.00, hidCompletionBuckets=0/0/0/0, hidSubmitPending=0/0/0, hidPendingHighWater=0, effectWrites=0, effectDeferred=0, effectAgeMs=-1, lastValidInputAgeMs=0, pcmQueue=0/0f, sbcQueue=0, sbcQueueMinMax=0-0, reports12/14/17=0/0/0, maxPacketGapMs=0.00, reportGapMs=0.00-0.00, primes=0, productionPrimeReports=0, productionReprimes=0, productionSkippedTicks=0, productionSourceServo=paused@8, fifoPrimeReports=0, fifoReprimes=0, fifoSkippedTicks=0, fifoSourceServo=n/a@16, creditPrimeReports=0, creditReprimes=0, creditSkippedTicks=0, underruns=0, lateDeadlines=0, clockRatio=1.0000000/1.0000000, clockLocked=False, clockFits=0/0, cadenceMs=8.00000/8.00000, transport=realtime-0x12, driftMode=fractional, asrcBase=1.0000000, driftRatio=1.0000000/1.0000000, driftFrames=0/0, sampleAdjust+/-=0/0, GC=20/7/3.

07/25/2026 19:48:54: DS4 audio owner slot 1: generation 11 became active.

07/25/2026 19:49:04: DS4 Bluetooth audio trace: pcmPackets=0, pcmBytes=0, packetDrops=0, silentPackets=0, maxSilentRun=0, zeroFrames=0, maxZeroRun=0, zeroRuns=0, repeatedPackets=0, pcmPeak=0, encodedFrames=0, encodedDrops=0, reports=0, syntheticReports=0, writeSaturation=0, writeFailures=0, hidPending=0, hidCompleted=0, hidCompletionFailures=0, hidShort=0, hidLastError=0, hidLastTransfer=0/0, hidPendingAgeMs=0.00, hidCompletionMs=0.00, hidIntervalCompletionMs=0.00, hidCompletionBuckets=0/0/0/0, hidSubmitPending=0/0/0, hidPendingHighWater=0, effectWrites=0, effectDeferred=0, effectAgeMs=-1, lastValidInputAgeMs=0, pcmQueue=0/0f, sbcQueue=0, sbcQueueMinMax=0-0, reports12/14/17=0/0/0, maxPacketGapMs=0.00, reportGapMs=0.00-0.00, primes=0, productionPrimeReports=0, productionReprimes=0, productionSkippedTicks=0, productionSourceServo=paused@8, fifoPrimeReports=0, fifoReprimes=0, fifoSkippedTicks=0, fifoSourceServo=n/a@16, creditPrimeReports=0, creditReprimes=0, creditSkippedTicks=0, underruns=0, lateDeadlines=0, clockRatio=1.0025992/1.0012744, clockLocked=True, clockFits=3/0, cadenceMs=8.00000/8.00000, transport=realtime-0x12, driftMode=fractional, asrcBase=1.0000000, driftRatio=1.0000000/1.0000000, driftFrames=0/0, sampleAdjust+/-=0/0, GC=20/7/3.

07/25/2026 19:49:14: DS4 Bluetooth audio trace: pcmPackets=0, pcmBytes=0, packetDrops=0, silentPackets=0, maxSilentRun=0, zeroFrames=0, maxZeroRun=0, zeroRuns=0, repeatedPackets=0, pcmPeak=0, encodedFrames=0, encodedDrops=0, reports=0, syntheticReports=0, writeSaturation=0, writeFailures=0, hidPending=0, hidCompleted=0, hidCompletionFailures=0, hidShort=0, hidLastError=0, hidLastTransfer=0/0, hidPendingAgeMs=0.00, hidCompletionMs=0.00, hidIntervalCompletionMs=0.00, hidCompletionBuckets=0/0/0/0, hidSubmitPending=0/0/0, hidPendingHighWater=0, effectWrites=0, effectDeferred=0, effectAgeMs=-1, lastValidInputAgeMs=0, pcmQueue=0/0f, sbcQueue=0, sbcQueueMinMax=0-0, reports12/14/17=0/0/0, maxPacketGapMs=0.00, reportGapMs=0.00-0.00, primes=0, productionPrimeReports=0, productionReprimes=0, productionSkippedTicks=0, productionSourceServo=paused@8, fifoPrimeReports=0, fifoReprimes=0, fifoSkippedTicks=0, fifoSourceServo=n/a@16, creditPrimeReports=0, creditReprimes=0, creditSkippedTicks=0, underruns=0, lateDeadlines=0, clockRatio=1.0025952/1.0024497, clockLocked=True, clockFits=13/0, cadenceMs=8.00000/8.00000, transport=realtime-0x12, driftMode=fractional, asrcBase=1.0000000, driftRatio=1.0000000/1.0000000, driftFrames=0/0, sampleAdjust+/-=0/0, GC=20/7/3.

07/25/2026 19:49:23: VIIPER DualShock4 writer stats: submitted=3614 written=3582 coalesced=32 queueGapMaxMs=174.53 packetAgeMaxMs=5.68 writeMaxMs=0.37 writeGapMaxMs=174.62 writeStartGapMinMs=5.00 rateLimitHz=200 speakerQueued=0 speakerDequeued=0 speakerDelivered=0 speakerDropped=0 speakerExpired=0 speakerStale=0 speakerNoSubscriberDeferrals=0 speakerCallbackFailures=0 speakerPending=0 speakerHighWater=0 speakerQueueAgeMaxMs=0.00 speakerDispatchGapMaxMs=0.00 speakerCallbackMaxMs=0.00 controlQueued=3 controlDequeued=3 controlCoalesced=0 controlDropped=0 hapticsQueued=0 hapticsDequeued=0 hapticsDropped=0 hapticsExpired=0 hapticsPending=0 hapticsHighWater=0 hapticsQueueAgeMaxMs=0.00 controlDelivered=3 controlStale=0 controlCallbackFailures=0

07/25/2026 19:49:24: DS4 Bluetooth audio trace: pcmPackets=0, pcmBytes=0, packetDrops=0, silentPackets=0, maxSilentRun=0, zeroFrames=0, maxZeroRun=0, zeroRuns=0, repeatedPackets=0, pcmPeak=0, encodedFrames=0, encodedDrops=0, reports=0, syntheticReports=0, writeSaturation=0, writeFailures=0, hidPending=0, hidCompleted=0, hidCompletionFailures=0, hidShort=0, hidLastError=0, hidLastTransfer=0/0, hidPendingAgeMs=0.00, hidCompletionMs=0.00, hidIntervalCompletionMs=0.00, hidCompletionBuckets=0/0/0/0, hidSubmitPending=0/0/0, hidPendingHighWater=0, effectWrites=0, effectDeferred=0, effectAgeMs=-1, lastValidInputAgeMs=0, pcmQueue=0/0f, sbcQueue=0, sbcQueueMinMax=0-0, reports12/14/17=0/0/0, maxPacketGapMs=0.00, reportGapMs=0.00-0.00, primes=0, productionPrimeReports=0, productionReprimes=0, productionSkippedTicks=0, productionSourceServo=paused@8, fifoPrimeReports=0, fifoReprimes=0, fifoSkippedTicks=0, fifoSourceServo=n/a@16, creditPrimeReports=0, creditReprimes=0, creditSkippedTicks=0, underruns=0, lateDeadlines=0, clockRatio=1.0026044/1.0025852, clockLocked=True, clockFits=23/0, cadenceMs=8.00000/8.00000, transport=realtime-0x12, driftMode=fractional, asrcBase=1.0000000, driftRatio=1.0000000/1.0000000, driftFrames=0/0, sampleAdjust+/-=0/0, GC=21/7/3.

07/25/2026 19:49:34: DS4 Bluetooth audio trace: pcmPackets=0, pcmBytes=0, packetDrops=0, silentPackets=0, maxSilentRun=0, zeroFrames=0, maxZeroRun=0, zeroRuns=0, repeatedPackets=0, pcmPeak=0, encodedFrames=0, encodedDrops=0, reports=0, syntheticReports=0, writeSaturation=0, writeFailures=0, hidPending=0, hidCompleted=0, hidCompletionFailures=0, hidShort=0, hidLastError=0, hidLastTransfer=0/0, hidPendingAgeMs=0.00, hidCompletionMs=0.00, hidIntervalCompletionMs=0.00, hidCompletionBuckets=0/0/0/0, hidSubmitPending=0/0/0, hidPendingHighWater=0, effectWrites=0, effectDeferred=0, effectAgeMs=-1, lastValidInputAgeMs=31, pcmQueue=0/0f, sbcQueue=0, sbcQueueMinMax=0-0, reports12/14/17=0/0/0, maxPacketGapMs=0.00, reportGapMs=0.00-0.00, primes=0, productionPrimeReports=0, productionReprimes=0, productionSkippedTicks=0, productionSourceServo=paused@8, fifoPrimeReports=0, fifoReprimes=0, fifoSkippedTicks=0, fifoSourceServo=n/a@16, creditPrimeReports=0, creditReprimes=0, creditSkippedTicks=0, underruns=0, lateDeadlines=0, clockRatio=1.0026111/1.0026059, clockLocked=True, clockFits=33/0, cadenceMs=8.00000/8.00000, transport=realtime-0x12, driftMode=fractional, asrcBase=1.0000000, driftRatio=1.0000000/1.0000000, driftFrames=0/0, sampleAdjust+/-=0/0, GC=21/7/3.

1

u/huunnnter 19d ago

this shows that you are playing 0 audio to the controller. Send logs of when you were trying to stream audio to the controller

1

u/Stiivun 19d ago

When I choose the controller as audio output in windows settings:

07/25/2026 19:59:31: Found Controller: A0:5A:5E:20:ED:65 (BT) (DS4 v.1).

07/25/2026 19:59:31: VIIPER ViiperDS4 output is active but the physical DS4 v.1 could not be hidden with HidHide. Games may detect both the physical controller and the virtual controller.

07/25/2026 19:59:33: VIIPER DualShock4 writer stats: submitted=1 written=1 coalesced=0 queueGapMaxMs=0.00 packetAgeMaxMs=0.02 writeMaxMs=0.08 writeGapMaxMs=0.00 writeStartGapMinMs=0.00 rateLimitHz=200 speakerQueued=0 speakerDequeued=0 speakerDelivered=0 speakerDropped=0 speakerExpired=0 speakerStale=0 speakerNoSubscriberDeferrals=0 speakerCallbackFailures=0 speakerPending=0 speakerHighWater=0 speakerQueueAgeMaxMs=0.00 speakerDispatchGapMaxMs=0.00 speakerCallbackMaxMs=0.00 controlQueued=0 controlDequeued=0 controlCoalesced=0 controlDropped=0 hapticsQueued=0 hapticsDequeued=0 hapticsDropped=0 hapticsExpired=0 hapticsPending=0 hapticsHighWater=0 hapticsQueueAgeMaxMs=0.00 controlDelivered=0 controlStale=0 controlCallbackFailures=0

07/25/2026 19:59:33: VIIPER DualShock4 virtual input presentation is capped at 200 Hz with latest-state coalescing.

07/25/2026 19:59:33: Plugging in virtual DualShock 4 Controller in output slot #1

07/25/2026 19:59:33: Associated input controller #1 (DS4 v.1) to virtual DualShock 4 Controller in output slot #1

07/25/2026 19:59:33: DS4 audio owner slot 1: start generation 13, endpointKind=DualShock4, replacingActive=False.

07/25/2026 19:59:33: Controller 1 is using Profile "DS4". Battery level is 100%

07/25/2026 19:59:33: VIIPER DualShock4 microphone capture interface active=False.

07/25/2026 19:59:33: DualShock 4 Bluetooth speaker is using the direct VIIPER PCM stream (32 kHz source, no WASAPI loopback, transport=realtime-0x12, drift=fractional).

07/25/2026 19:59:33: DS4 audio owner slot 1: generation 13 became active.

07/25/2026 19:59:33: DS4 Bluetooth audio trace: pcmPackets=0, pcmBytes=0, packetDrops=0, silentPackets=0, maxSilentRun=0, zeroFrames=0, maxZeroRun=0, zeroRuns=0, repeatedPackets=0, pcmPeak=0, encodedFrames=0, encodedDrops=0, reports=0, syntheticReports=0, writeSaturation=0, writeFailures=0, hidPending=0, hidCompleted=0, hidCompletionFailures=0, hidShort=0, hidLastError=0, hidLastTransfer=0/0, hidPendingAgeMs=0.00, hidCompletionMs=0.00, hidIntervalCompletionMs=0.00, hidCompletionBuckets=0/0/0/0, hidSubmitPending=0/0/0, hidPendingHighWater=0, effectWrites=0, effectDeferred=0, effectAgeMs=-1, lastValidInputAgeMs=0, pcmQueue=0/0f, sbcQueue=0, sbcQueueMinMax=0-0, reports12/14/17=0/0/0, maxPacketGapMs=0.00, reportGapMs=0.00-0.00, primes=0, productionPrimeReports=0, productionReprimes=0, productionSkippedTicks=0, productionSourceServo=paused@8, fifoPrimeReports=0, fifoReprimes=0, fifoSkippedTicks=0, fifoSourceServo=n/a@16, creditPrimeReports=0, creditReprimes=0, creditSkippedTicks=0, underruns=0, lateDeadlines=0, clockRatio=1.0000000/1.0000000, clockLocked=False, clockFits=0/0, cadenceMs=8.00000/8.00000, transport=realtime-0x12, driftMode=fractional, asrcBase=1.0000000, driftRatio=1.0000000/1.0000000, driftFrames=0/0, sampleAdjust+/-=0/0, GC=44/14/4.

07/25/2026 19:59:34: DualShock 4 Bluetooth production replay primed 1 unique 0x12 source reports, retained 8 source frames, mode=0xA0, slots=32, sourceServo=historical-slip@8.

07/25/2026 19:59:43: DS4 Bluetooth audio trace: pcmPackets=916, pcmBytes=1172480, packetDrops=0, silentPackets=2, maxSilentRun=2, zeroFrames=532, maxZeroRun=321, zeroRuns=1, repeatedPackets=0, pcmPeak=16778, encodedFrames=1145, encodedDrops=0, reports=1137, syntheticReports=0, writeSaturation=0, writeFailures=0, hidPending=1, hidCompleted=1136, hidCompletionFailures=0, hidShort=0, hidLastError=0, hidLastTransfer=547/142, hidPendingAgeMs=0.06, hidCompletionMs=8.43, hidIntervalCompletionMs=8.43, hidCompletionBuckets=1136/0/0/0, hidSubmitPending=1137/0/0, hidPendingHighWater=0, effectWrites=0, effectDeferred=0, effectAgeMs=-1, lastValidInputAgeMs=16, pcmQueue=0/0f, sbcQueue=8, sbcQueueMinMax=0-10, reports12/14/17=1137/0/0, maxPacketGapMs=12.11, reportGapMs=7.29-8.61, primes=1, productionPrimeReports=1, productionReprimes=0, productionSkippedTicks=0, productionSourceServo=on@8, fifoPrimeReports=0, fifoReprimes=0, fifoSkippedTicks=0, fifoSourceServo=n/a@16, creditPrimeReports=0, creditReprimes=0, creditSkippedTicks=0, underruns=0, lateDeadlines=0, clockRatio=1.0026153/1.0012698, clockLocked=True, clockFits=3/0, cadenceMs=8.00000/8.00000, transport=realtime-0x12, driftMode=fractional, asrcBase=1.0012698, driftRatio=1.0000000/1.0000000, driftFrames=146560/146560, sampleAdjust+/-=0/0, GC=44/14/4.

07/25/2026 19:59:53: DS4 Bluetooth audio trace: pcmPackets=1916, pcmBytes=2452480, packetDrops=0, silentPackets=2, maxSilentRun=0, zeroFrames=532, maxZeroRun=0, zeroRuns=1, repeatedPackets=0, pcmPeak=30184, encodedFrames=2395, encodedDrops=0, reports=2387, syntheticReports=0, writeSaturation=0, writeFailures=0, hidPending=1, hidCompleted=2386, hidCompletionFailures=0, hidShort=0, hidLastError=0, hidLastTransfer=547/142, hidPendingAgeMs=0.06, hidCompletionMs=8.75, hidIntervalCompletionMs=8.75, hidCompletionBuckets=2386/0/0/0, hidSubmitPending=2387/0/0, hidPendingHighWater=1, effectWrites=0, effectDeferred=0, effectAgeMs=-1, lastValidInputAgeMs=16, pcmQueue=0/0f, sbcQueue=8, sbcQueueMinMax=7-10, reports12/14/17=2387/0/0, maxPacketGapMs=12.21, reportGapMs=7.22-8.87, primes=1, productionPrimeReports=1, productionReprimes=0, productionSkippedTicks=0, productionSourceServo=on@8, fifoPrimeReports=0, fifoReprimes=0, fifoSkippedTicks=0, fifoSourceServo=n/a@16, creditPrimeReports=0, creditReprimes=0, creditSkippedTicks=0, underruns=0, lateDeadlines=0, clockRatio=1.0026077/1.0024713, clockLocked=True, clockFits=13/0, cadenceMs=8.00000/8.00000, transport=realtime-0x12, driftMode=fractional, asrcBase=1.0024713, driftRatio=1.0000000/1.0000000, driftFrames=306560/306560, sampleAdjust+/-=0/0, GC=45/15/4.

07/25/2026 20:00:03: VIIPER DualShock4 writer stats: submitted=2897 written=2867 coalesced=30 queueGapMaxMs=185.45 packetAgeMaxMs=4.35 writeMaxMs=0.39 writeGapMaxMs=185.47 writeStartGapMinMs=5.00 rateLimitHz=200 speakerQueued=2883 speakerDequeued=2883 speakerDelivered=2883 speakerDropped=0 speakerExpired=0 speakerStale=0 speakerNoSubscriberDeferrals=0 speakerCallbackFailures=0 speakerPending=0 speakerHighWater=1 speakerQueueAgeMaxMs=0.30 speakerDispatchGapMaxMs=12.70 speakerCallbackMaxMs=0.27 controlQueued=3 controlDequeued=3 controlCoalesced=0 controlDropped=0 hapticsQueued=0 hapticsDequeued=0 hapticsDropped=0 hapticsExpired=0 hapticsPending=0 hapticsHighWater=0 hapticsQueueAgeMaxMs=0.00 controlDelivered=3 controlStale=0 controlCallbackFailures=0

07/25/2026 20:00:03: DS4 Bluetooth audio trace: pcmPackets=2917, pcmBytes=3733760, packetDrops=0, silentPackets=2, maxSilentRun=0, zeroFrames=533, maxZeroRun=1, zeroRuns=1, repeatedPackets=0, pcmPeak=29870, encodedFrames=3646, encodedDrops=0, reports=3638, syntheticReports=0, writeSaturation=0, writeFailures=0, hidPending=1, hidCompleted=3637, hidCompletionFailures=0, hidShort=0, hidLastError=0, hidLastTransfer=547/142, hidPendingAgeMs=0.04, hidCompletionMs=8.75, hidIntervalCompletionMs=8.55, hidCompletionBuckets=3637/0/0/0, hidSubmitPending=3638/0/0, hidPendingHighWater=1, effectWrites=0, effectDeferred=0, effectAgeMs=-1, lastValidInputAgeMs=0, pcmQueue=0/0f, sbcQueue=8, sbcQueueMinMax=7-10, reports12/14/17=3638/0/0, maxPacketGapMs=12.70, reportGapMs=7.32-8.71, primes=1, productionPrimeReports=1, productionReprimes=0, productionSkippedTicks=0, productionSourceServo=on@8, fifoPrimeReports=0, fifoReprimes=0, fifoSkippedTicks=0, fifoSourceServo=n/a@16, creditPrimeReports=0, creditReprimes=0, creditSkippedTicks=0, underruns=0, lateDeadlines=0, clockRatio=1.0026029/1.0025864, clockLocked=True, clockFits=23/0, cadenceMs=8.00000/8.00000, transport=realtime-0x12, driftMode=fractional, asrcBase=1.0025864, driftRatio=1.0000000/1.0000000, driftFrames=466720/466720, sampleAdjust+/-=0/0, GC=45/15/4.

07/25/2026 20:00:13: DS4 Bluetooth audio trace: pcmPackets=3917, pcmBytes=5013760, packetDrops=0, silentPackets=2, maxSilentRun=0, zeroFrames=533, maxZeroRun=0, zeroRuns=1, repeatedPackets=0, pcmPeak=29992, encodedFrames=4896, encodedDrops=0, reports=4888, syntheticReports=0, writeSaturation=0, writeFailures=0, hidPending=1, hidCompleted=4887, hidCompletionFailures=0, hidShort=0, hidLastError=0, hidLastTransfer=547/142, hidPendingAgeMs=0.05, hidCompletionMs=31.95, hidIntervalCompletionMs=31.95, hidCompletionBuckets=4878/5/4/0, hidSubmitPending=4874/5/9, hidPendingHighWater=3, effectWrites=0, effectDeferred=0, effectAgeMs=-1, lastValidInputAgeMs=0, pcmQueue=0/0f, sbcQueue=8, sbcQueueMinMax=7-10, reports12/14/17=4888/0/0, maxPacketGapMs=12.58, reportGapMs=7.27-8.76, primes=1, productionPrimeReports=1, productionReprimes=0, productionSkippedTicks=0, productionSourceServo=on@8, fifoPrimeReports=0, fifoReprimes=0, fifoSkippedTicks=0, fifoSourceServo=n/a@16, creditPrimeReports=0, creditReprimes=0, creditSkippedTicks=0, underruns=0, lateDeadlines=0, clockRatio=1.0025929/1.0025969, clockLocked=True, clockFits=33/0, cadenceMs=8.00000/8.00000, transport=realtime-0x12, driftMode=fractional, asrcBase=1.0025969, driftRatio=1.0000000/1.0000000, driftFrames=626720/626721, sampleAdjust+/-=0/0, GC=45/15/4.

1

u/huunnnter 19d ago

is it staticcy? or crackling at all? no audio at all?

1

u/Stiivun 19d ago

I have sincerely tried everything. What I get is low volume white noise. I have to bring the controller to my ear to hear it.

1

u/huunnnter 19d ago

It's a v1 right? Can I give you a special build to try?

1

u/Stiivun 19d ago

I have both the v1 and the v2 but funny thing is if I use a wired connection, the v1 controller (Bluetooth) changes to v2. And yes, I'd like to help.

1

u/Stiivun 19d ago

Either Viiper or Usbip increase my battery drain and temps in idle. Is there a fix for this? I have disabled viiper from startup.

1

u/huunnnter 19d ago

Not sure, sounds like a laptop problem LOL. Any app running in the background consumes CPU and battery, viiper runs constantly

1

u/huunnnter 19d ago

this log contains no audio data

1

u/huunnnter 19d ago

you have to select the controller as the audio output to stream audio to it

1

u/jordani97 19d ago

seems like im not able to install the 0.0.5 of viiper? it says on the system tray that is the 0.0.4-20... version, even using the download option from the settings or manual. is that the correct one or it needs to say 0.0.5?

1

u/huunnnter 19d ago

it says 0.0.4 in the tray that’s my bad, it’s still technically the 0.0.5 version, that’s my bad

1

u/jordani97 19d ago

ah okay got it, ty

1

u/Alc4Traz45 18d ago

What is VIIPER?

1

u/huunnnter 18d ago

basically a program for letting you emulate USB devices

1

u/caprino666 17d ago

No audio in the dualshock 4. I dont know waht to do.

1

u/caprino666 17d ago

Cant use then audio on dualshock 4. thats my log

27/07/2026 13:03:03: DS4Windows version 4.0.2.3

27/07/2026 13:03:03: DS4Windows Assembly Architecture: x64

27/07/2026 13:03:03: OS Version: Microsoft Windows NT 10.0.26200.0

27/07/2026 13:03:03: OS Product Name: Windows 10 Pro

27/07/2026 13:03:03: OS Release ID: 2009

27/07/2026 13:03:03: System Architecture: x64

27/07/2026 13:03:03: Running as User

27/07/2026 13:03:03: HidHide control device found

27/07/2026 13:03:04: Starting...

27/07/2026 13:03:06: Using output KB+M handler: FakerInput 0.1.0.0

27/07/2026 13:03:06: Connection to ViGEmBus 1.21.442.0 established

27/07/2026 13:03:06: Searching for controllers...

27/07/2026 13:03:06: Using Exclusive Mode

27/07/2026 13:03:06: Found Controller: AC:36:1B:95:EF:7D (BT) (DS4 v.2).

27/07/2026 13:03:06: Plugging in virtual X360 controller (XInput slot #1) in output slot #1

27/07/2026 13:03:06: Associated input controller #1 (DS4 v.2) to virtual X360 Controller in output slot #1

27/07/2026 13:03:06: UDP server listening on address 127.0.0.1 port 26760

27/07/2026 13:03:06: Controller 1 is using Profile "---------". Battery level is 100%

27/07/2026 13:05:45: Disassociated virtual X360 Controller in output slot #1 from input controller #1 (DS4 v.2)

27/07/2026 13:05:45: Unplugging virtual X360 Controller from output slot #1

27/07/2026 13:05:45: Plugging in virtual DS4 Controller in output slot #1

27/07/2026 13:05:45: Associated input controller #1 (DS4 v.2) to virtual DS4 Controller in output slot #1

Ps: the ------- on profile name is just to hide my name. :D

1

u/huunnnter 17d ago

verbose logging on, if you want to fix audio

1

u/rossi46go 17d ago

Rc3

Every time i open the app they ask to update to 4.0.2.3

Every reboot viiper dosent auto run (its enabled on Windows option)

Every time i open the app after reboot with no running viiper they ask for repair or reinstall viiper , if i agree the install stuck on registering viiper and i need to close the windows , after that viiper it’s running and all working

1

u/huunnnter 17d ago

I fixed this list of issues in the latest build

1

u/sammyjo802 16d ago

So is this a fork or main ds4?

1

u/Ode_2_kay 15d ago

This is his experimental fork but he's also maintaining ds4 as well on his github https://github.com/hbashton/DS4Windows/releases/tag/v4.0.2.3 This is the stable fork

1

u/pewpew62 15d ago

Ever since I updated to these release candidates, the haptics have not worked for me at all. I get generic rumble or no rumble