Falcosoft / vstdriver

A Windows user-mode software MIDI synthesizer driver which is capable of using any 32 or 64 bit VST2 Instrument
https://falcosoft.hu/softwares.html#vst_driver
GNU Lesser General Public License v2.1
43 stars 0 forks source link

ASIO bug with BSOD on Windows 10 latest update. #1

Closed depeschzeu closed 11 months ago

depeschzeu commented 11 months ago

I've got ASIO bug with BSOD on Windows 10 latest update. Is it possible to build a package with ASIO being completely cut from the code? Some ASIO drivers are not compatible with latest versions of windows 10 and they cannot be used (WASAPI drivers work normally, ASIO should be avoided at all cost). I have no programming skills so I can't take a sourcecode and compile what I need. Would you please release a package without ASIO support at all? As a troubleshoot.

Whenever ASIO is initialized it causes BSOD. Even if I just start the programm, it must be checking with audio output devices or doing something else with it and system crashes. There is no way to disable ASIO and leave usual Windows audio drivers so it is impossible to use vstdriver on my system at all. Some other people with discontinued ASIO soundcards experience same issue.

The reason why I am so sure it is caused by ASIO is that this bug can be repeatedly reproduced by trying to play something with ASIO driver. It is faulty and returns same error code I get with vstdriver.

Falcosoft commented 11 months ago

Hi, When do you get the BSOD exactly? I'm asking this since the VST driver itself does not even touch ASIO drivers when ASIO is not selected in the Configuration dialog -> Output devices section. So do you get the BSOD when you start the Configuration dialog?

@Edit: Maybe your problem is related to previous forks (that set ASIO output values). So if you want to start with a fresh state you should delete the following key in registry: \HKEY_CURRENT_USER\Software\VSTi Driver Then start the Configuration dialog and make sure that WinMM WaveOut is explicitly selected as OutPut device.

Besides you can simply completely disable ASIO part of the driver by removing/renaming bassasio.dll in both x86 and x64 folder of VST driver. That is: C:\Windows\SysWOW64\vstmididrv\bassasio.dll C:\Windows\System32\vstmididrv\bassasio.dll

depeschzeu commented 11 months ago

Hi, I'll try doing this in system registry. Especially disabling the bassasio.dll

To be specific I can tell you more what happens on my pc. First when I install the vstdriver it must be a clean install without any configuration etc. I do not remember installing vstdriver before. I have reinstalled Windows some time ago and haven't used vstdriver after that.

As far as I understand at first I need to run configuration dialog in order to select VSTi I'm willing to use, set output device and so on. I only assume, because I've never seen a configuration window. Haven't had a little chance to. So I run it from Start menu and voila. I get BSOD with same error code as I get when I'm trying to play ASIO. Windows sound system works fine without it, because no crashes happen when I watch youtube, or listen to music with directsound and WASAPI in case I can manually select audio output method within application.

To explain why I think of ASIO I must tell that I've also got some other programms that can use ASIO.

For example I have foobar2000 media player with ASIO output option. Also I have a couple of DAWs which has ASIO capability of course. Just any DAW has it. This bug is strange, because when I start playback through ASIO it works fine at first glance. I hear sound, everything is as intended. But once I stop it, i.e. stop playback in foobar2000, or close DAW application and stop ASIO data stream in any other way, I get BSOD. I'm not an expert but logically thinking this means, that the problem appears when ASIO driver is released, stopped, halted, closed or whatever it is named technically for a programmer, who knows how this works.

I have searched Microsoft tech support forums and checked with bug report feedback portal and I've found there several reports from some other Windows 10 users with latest OS updates who experience the very same issue with ASIO. Same error code indicated on BSOD. Users with same soundcard and also some people who get same ASIO related system crash with different soundcards. What is common for all users is that their ASIO soundcards haven't received driver updates for a long time.

I suspect that Microsoft has changed something within system core so that it handles drivers differently and all those outdated ASIO drivers became incompatible with this major change in OS. As far as I know this issue doesn't appear in Windows 10 before 2004 release or so. Now I have win10 21H2 version thanks to automatic updates from ms. My soundcard is Infrasonic Quartet and it is discontinued. But anyway I still use it because it has superior sound quality and all other funcitons. Also it has simply no analog to it. 99% of modern soundcards of same quality are mostly external devices and in most cases they are either overpriced or appear a sensitive downgrade in sound quality and functionality onboard.

Falcosoft commented 11 months ago

I see. I just suspected that you used a previous version since I have seen a similar report from you at DB50XG's fork. If it's true that you have not used a previous fork and never succeeded in starting the configuration dialog then most likely the mentioned registry key is missing/empty on your system. But just to be sure try to locate it and if it exists delete it. Then remove/rename both x86 and x64 version of bassasio.dll. After this try to start the configuration dialog. In case of missing bassasio.dll the driver and configuration dialog behave the same way as if ASIO is not detected at all and select the default WaveOut device. This way we can make sure that your problem is really ASIO related or not.

@Edit: Here is a test version that lets you skip the installation of the ASIO Output component. So first uninstall the previous one then install this one (at the 2nd step of the installation process you will get a new page where you can deselect the ASIO component). Then open the Configuration dialog and make sure that WinMM WaveOut is selected at the Output devices tab. vstmididrv_201_test.zip

depeschzeu commented 11 months ago

I have made just what you recommended and also tried previously described method and I must express my deep graditude for your help and guidance. Now I get no BSOD anymore. With WinMM output nothing bad happens. I can load VSTi such as Yamaha XG softsynth and play midi files with no problems. I tried it many times with reboots and I got no blue screens.

It is very sad that both microsoft and sound card manufacturer has put such a trap with ASIO. I really miss it because it used to work great in Windows8.1 and old Windows10. This soundcard has a very low latency of about 64 samples and ideal to play virtual istruments using MIDI keyboard or guitar FX simulation. Now it's all gone because of microsoft tricks with OS core