I'm using Wine staging 9.10 on Linux Mint 21.3 for running my Linux Bitwig DAW with many Windows VST plugins. I'm very happy with Wine for making this possible since three years.
Recently I noticed clicking noises every 30 sec for at least two Windows VST plugins, which worked well before. First I thought because of changing from jackd to Pipewire as sound server two months ago, but after upgrading all components, again optimizing for audio performance and checking logs, I found related error messages with the debug options of yabridge, the tool I use for wrapping the VST API to linux.
At the same time when the clicking noise occurs, two messages are logged:
19:25:13 [Analog Lab 4-BGJPSZdx] [Wine STDERR] 0084:fixme:file:errno_to_status Converting errno 17 to STATUS_UNSUCCESSFUL
19:25:13 [Analog Lab 4-BGJPSZdx] [Wine STDERR] 0084:err:mountmgr:registry_flush_thread Failed flushing registry.
Searching the web I found a Wine merge request:
https://gitlab.winehq.org/wine/wine/-/m ... uests/3124
Because of the interval time of 30 sec and the second error message I believe that this describes my problem.
I don't know where this merge request is positioned on the timeline of all merge requests, maybe someone can tell me more about it. I would like to test it.
Audio clicking noise every 30 sec with "err:mountmgr:registry_flush_thread Failed flushing registry"
Re: Audio clicking noise every 30 sec with "err:mountmgr:registry_flush_thread Failed flushing registry"
Any news about the merge request?
I'm now using Wine staging 9.14 and the problem remains. I have found further VST plugins with this clicking noises, so working around this problem gets more difficult.
I'm now using Wine staging 9.14 and the problem remains. I have found further VST plugins with this clicking noises, so working around this problem gets more difficult.
Re: Audio clicking noise every 30 sec with "err:mountmgr:registry_flush_thread Failed flushing registry"
I have found a solution for my problem, but I don't know why it works.
I thought about trying to test the merge request on a test system with a local branch of the git repository, hoping I can solve all problems that will come up. I'm not a good programmer.
I followed the instructions of https://wiki.winehq.org/Building_Wine to build Wine with Shared WoW64.
After solving errors of the configure script about missing development files, I run a first make and make install.
After get over some gaps I caused with some mistakes, I run the DAW and noticed that the clicking noise was gone.
I decided to skip testing the merge request because I couldn't tell the difference now.
I corrected my mistakes, made further make/make install, until finally I had Wine running as if installed from the binary repos.
The command "wine --version" resulted in "wine-9.14-140-ga891fcf6675".
Later I saw the news about version 9.15, so I repeated the procedure with the 9.15 git repo. No problem with compiled 9.15 also.
Comparing the diff of the merge request in mountmgr.sys, I have not found the merge request code in the source file.
On the original system the system update to Wine 9.15 still exhibits the clicking noise problem.
The steps:
First I deinstalled the installation of the binary repo with synaptic.
I cloned the git repo into two directories, ~/wine32 and ~/wine64.
Later I activated source repos in the system repos and run "sudo apt-get build-dep wine".
In ~/wine64 I ran "./configure --enable-win64" and added missing development files with synaptic, until only two messages are left which I ignored:
configure: OSS sound system found but too old (OSSv4 needed), OSS won't be supported.
configure: libnetapi not found, Samba NetAPI won't be supported.
In ~/wine32 I ran "PKG_CONFIG_PATH=/usr/lib ./configure --with-wine64=../wine64" and tried adding missing development files with synaptic, until those messages are left which I ignored:
configure: WARNING: libxrender 32-bit development files not found, XRender won't be supported.
configure: WARNING: No OpenGL library found on this system.
OpenGL and Direct3D won't be supported.
configure: WARNING: libgnutls 32-bit development files not found, no schannel support.
configure: WARNING: No sound system was found. Windows applications will be silent.
(Later I found that OpenGL works; seems to depend on the wine64-build.)
After running sucessfully "make" in both dirs, the instructions in https://wiki.winehq.org/Building_Wine lack some details:
First I run "sudo make install" in ~/wine64, resulting in missing binary /usr/local/bin/wine, preventing the DAW from running Windows VST plugins.
After running "sudo make uninstall" in ~/wine64 and run "sudo make install" in ~/wine32, the wine command worked, but again the DAW failed to run Windows VST plugins.
The combination "sudo make install" in ~/wine32 and "sudo make install" in ~/wine64 in this order resulted in a working Wine installation.
I have not checked all details of DAW and Windows VST plugins, but so far all is working as expected, and there is definitely no clicking noise every 30 seconds.
I can live with this solution and I'm happy about this good git repo and all the information around it.
So the only question remains: What makes the difference between the binary repo and the build from the git repo as I described?
I thought about trying to test the merge request on a test system with a local branch of the git repository, hoping I can solve all problems that will come up. I'm not a good programmer.
I followed the instructions of https://wiki.winehq.org/Building_Wine to build Wine with Shared WoW64.
After solving errors of the configure script about missing development files, I run a first make and make install.
After get over some gaps I caused with some mistakes, I run the DAW and noticed that the clicking noise was gone.
I decided to skip testing the merge request because I couldn't tell the difference now.
I corrected my mistakes, made further make/make install, until finally I had Wine running as if installed from the binary repos.
The command "wine --version" resulted in "wine-9.14-140-ga891fcf6675".
Later I saw the news about version 9.15, so I repeated the procedure with the 9.15 git repo. No problem with compiled 9.15 also.
Comparing the diff of the merge request in mountmgr.sys, I have not found the merge request code in the source file.
On the original system the system update to Wine 9.15 still exhibits the clicking noise problem.
The steps:
First I deinstalled the installation of the binary repo with synaptic.
I cloned the git repo into two directories, ~/wine32 and ~/wine64.
Later I activated source repos in the system repos and run "sudo apt-get build-dep wine".
In ~/wine64 I ran "./configure --enable-win64" and added missing development files with synaptic, until only two messages are left which I ignored:
configure: OSS sound system found but too old (OSSv4 needed), OSS won't be supported.
configure: libnetapi not found, Samba NetAPI won't be supported.
In ~/wine32 I ran "PKG_CONFIG_PATH=/usr/lib ./configure --with-wine64=../wine64" and tried adding missing development files with synaptic, until those messages are left which I ignored:
configure: WARNING: libxrender 32-bit development files not found, XRender won't be supported.
configure: WARNING: No OpenGL library found on this system.
OpenGL and Direct3D won't be supported.
configure: WARNING: libgnutls 32-bit development files not found, no schannel support.
configure: WARNING: No sound system was found. Windows applications will be silent.
(Later I found that OpenGL works; seems to depend on the wine64-build.)
After running sucessfully "make" in both dirs, the instructions in https://wiki.winehq.org/Building_Wine lack some details:
First I run "sudo make install" in ~/wine64, resulting in missing binary /usr/local/bin/wine, preventing the DAW from running Windows VST plugins.
After running "sudo make uninstall" in ~/wine64 and run "sudo make install" in ~/wine32, the wine command worked, but again the DAW failed to run Windows VST plugins.
The combination "sudo make install" in ~/wine32 and "sudo make install" in ~/wine64 in this order resulted in a working Wine installation.
I have not checked all details of DAW and Windows VST plugins, but so far all is working as expected, and there is definitely no clicking noise every 30 seconds.
I can live with this solution and I'm happy about this good git repo and all the information around it.
So the only question remains: What makes the difference between the binary repo and the build from the git repo as I described?