FL Studio WineASIO Deadlock

Tips: Audio, Wine, Linux

If you're trying to run FL Studio 20 inside Wine using WineASIO for realtime audio, you may run into a problem where when you hit play, nothing happens. Wine may even freak out with a popup window with error code 216 or even an error code that looks like an integer overflow, where the value is the maximum negative number the variable can hold. The whole thing is unstable.

FL Studio failing through WineASIO
Error 216

You'll also see the following line in the terminal output around the same time the issue happens.

jack_client_thread: zombified - exiting from JACK

The same thing will happen if you use an Image-Line VST such as Maximus in another VST host like Reaper. Interestingly, in this scenario it only happens after you select a preset. Just opening the plugin and leaving everything on Default will work. This makes me wonder if it has nothing to do with audio at all and is instead due to filesystem calls Image-Line products are making.

Maximus is dead after selecting Soundgoodizer preset A

Thanks to some digging through ancient mailing lists posts I found a flag that gets the situation under control. The timeout parameter of jackd defaults to 500ms, which is too short for FL Studio and causes jack to think a thread has deadlocked. I opened this window up to 5 seconds with the -t parameter and I am finally able to use FL Studio in Wine through WineASIO again!

jackd -t 5000 -d alsa -d hw:K6 -r 44100 -p 512