Gcenx / macOS_Wine_builds

Official Winehq macOS Packages
501 stars 23 forks source link

No audio output sound with Wine-6.23 #30

Closed ReinholdH closed 2 years ago

ReinholdH commented 2 years ago

After verbose testing of Wine-6.23 on Catalina and Mojave I come to the conclusion that there is something broken in the Wine-6.23 Mac package regarding the audio output. In 10:1 cases there is no sound. I believe that it is not in Wine-6.23 issue because on Linux (Ubuntu, Crostini) Wine-6.23 is OK. On Catalina (2 installations) and Mojave I compared Wine-6.23 with the previous versions of Wine-6.19 to Wine-6.22. All previous ones are OK. But when updating or in a fresh installation of Wine-6.23, there is no sound in 10:1 cases.

I have done the testing with our software from https://www.notation.com/Player.php which is a MIDI player which uses the fluidsynth libraries for audio output (see https://www.fluidsynth.org/). When switching the MIDI Player to direct MIDI output to the Coreaudio MIDI engine of a Mac, the sound is OK.

Therefore I conclude there is something broken in the MAC Wine-6.23 package for audio output.

Hope this analysis helps to identify the problem. Thanks.

Reinhold

Gcenx commented 2 years ago

Unless there was some output about a missing wine file/library it wouldn't be a packing issue but an upstream issue.

After wine-6.22 winecoreaudio.drv (the mac audio driver) had additional work done this could have resulted in regression(s)

If possible provide any terminal output from wine-6.22 and wine-6.23 to see if there's any useful output before passing this along to upstream to resolve the possible regression.

ReinholdH commented 2 years ago

Thanks for the hint.

What I did: on Catalina I used 2 Wine bottles for Wine-6.22 and Wine-6.23. Both are identical except for the Wine version. I ran the same the audio playback song on both Wine bottles

Please find attached 2 files with the terminal output (1) LOG_Wine-6_22.txt, sound is OK here (2) LOG_Wine-6_23.txt, no sound. In LOG_Wine-6_23.txt at the end of the file I cut down the number of fluidsynth: warning: Ringbuffer full, try increasing polyphony! messages to a few because there are thousends.

I looked into the fluidsynth code (I am not an expert here) but that looks as if the ringbuffer for audio output is not properly managed by the driver side. We use fluidsynth 2.1.0 which isn't the latest but have thousends of installations on various platforms. With these findings I agree that the regression is probably in winecoreaudio.drv. Please double-check the log files. If we are in sync I am going to create a Wine bug report. To me the regression is very serious and given the upcoming stable release, without a fix Wine cannot be used on Macs.

LOG_Wine-6_22.txt LOG_Wine-6_23.txt

Gcenx commented 2 years ago

With the code freeze happening soon it makes sense to just open an issue on Winehq Bugzilla since we’ll want this fixed for wine-7.0.

Open an issue for the component winecoreaudio.drv as a regression that occurred in wine-6.23, the regression commit isn’t clear without a regression test being ran but it’s somewhere from commit 75b57ea13de48994d29401afebbbe534cd503b86 as that’s the start of the winecoreaudio.drv rework.

ReinholdH commented 2 years ago

Thanks. I opened Wine bug 52202 https://bugs.winehq.org/show_bug.cgi?id=52202 and refer to this discussion here as I am pretty busy over the weekend and want to make the people aware of the severity. Please keep this discussion here at Github open for the time being. I hope that I can complete the bug description on Wine Bugzilla early next week.

ReinholdH commented 2 years ago

This issue is closed here because the it is identified to be a Wine regression bug in winecoreaudio.drv of Wine-6.23. See Wine bug 52202.

Gcenx commented 2 years ago

From what Gijs had said this was a PITA to track down same for the winemac.drv regression I was looking into.

Since these were uncovered they should be resolved for wine-7.0

ReinholdH commented 2 years ago

Totally agree. It was even a pain to identify the regression in Wine-6.23 . The issue is not only relevant for Notation Software but impacts at least any other Windows app which use fluidsynth. And, there are a lot. I added a link of apps to the Wine bug report. It probably impacts audio software in general. From a process perspective I do not understand why such changes are done NOW right before Wine code freeze. It just creates stress before the holidays which could be easily avoided. I also sent a personal note not for the public.