Closed Commodoor473 closed 5 years ago
In the current official version of VigEmClient driver there is a bug how it cleans up threads. It may leave ghost orphanage threads behind and sometimes even crash (multi-thread race condition in thread cleanups).
However, problems in ViGemClient level should not cause BSOD but just crash DS4Windows and VigemClient library. The error message you have seen seems to be coming from ViGemVBus kernel driver level.
https://github.com/Ryochan7/DS4Windows/issues/788 https://github.com/Ryochan7/DS4Windows/pull/794
I recommend you to uninstall all traces of old ScpVBus driver and uninstall the existing version of Vigem kernel driver (remember to tick "remove driver file" option in DeviceManager when you install a driver because otherwise the driver file is left behind). Then download the latest version "ViGEmBus_Setup_1.16.115.exe" from the Vigem web site. https://github.com/ViGEm/ViGEmBus/releases/tag/v1.16.112
Then you might wanna use the new experimental fixed version of VigEmClient driver (Nefarious.Vigem.Client.dll). The fixed VigemClient driver still needs small tweaks, but it fixes crash and orphanage thread issues already. Once those small tweaks are done then the fixed version of the Vigem client library will be included in an official version of DS4Windows.
sounds good, i will try that tomorrow, i rarely use the ds3 controller anyway, so i could do without the scp toolkit
It worked, i uninstalled the scp toolkit, the scp bus driver and the vigem bus driver, installed the newer vigem bus driver and there's no BSOD, but there's now the problem that windows doesn't see the DS4 as a controller in the control panel when it's not in xbox 360 mode.
For now it is good enough, I'll look into using the DS4 controller in DS4 mode myself. Thank you, Mika-n
Are you using HidGuardian tool to hide the original controller? By default HidGuardian hides all physial DS4 controllers, but because the virtual ds4 output controller is also seen as rev1 then HidG accidentally hides both the original physical controller and the virtual controller.
If you have rev2 physical controller then the solution is to tweak HidG sysreg AffectedDevices setting to hide only rev2 DS4 controller and this way leaving the rev1 virtual controller still visible. Search issues here and you should find a discussions and instructions about it. https://github.com/Ryochan7/DS4Windows/wiki/Troubleshooting#games-dont-see-any-controller-not-the-virtual-gamepad-controller-or-physical-controller
If you are NOT using HidGuardian, but instead using the DS4Win built-in "Hide DS4 Controller" (=exclusive mode) then do you have a profile with "Use D-Input Only" option set? If you use both exclusive mode and UseDInputOnly option at the same time then you end up without any controllers (exclusive mode hides the physical controller, but UseDInputOnly option does not create virtual output controllers). https://github.com/Ryochan7/DS4Windows/wiki/Troubleshooting#games-dont-see-any-controller-not-the-virtual-gamepad-controller-or-physical-controller
Also, there has been few reports that very old profile files don't always work with with DS4 output controller type. Some weird config file corruption/syntax/parsing error. The solution is to delete existing profiles files (those using dualshock4 option) and re-create them with the latest DS4Windows version.
Hi,
I found out that there is an option to change the controller type from Xbox 360 to DualShock 4, which i wanted to try to see if I can see Playstation buttons when playing a game. However, when I set the controller type to DualShock 4, save the profile, connect a genuine DS4 controller and select the profile, I get a blue screen of death with the following message: Stopcode: SYSTEM_SERVICE_EXCEPTION What Failed: ViGEmBus.sys
I'm using Windows 10 pro 64-bit and I did install the SCP toolkit before I started using DS4Windows.
The screenshots of the profile and settings configs I normally use are included below: