mirror of
https://github.com/robbert-vdh/yabridge.git
synced 2026-05-07 03:50:11 +02:00
Add a section on performance tuning
And mention @nine7nine's Wine PKGBUILD as a good starting point for using fsync.
This commit is contained in:
@@ -26,6 +26,7 @@ compatibility while also staying easy to debug and maintain.
|
||||
- [Editor hosting modes](#editor-hosting-modes)
|
||||
- [Example](#example)
|
||||
- [Troubleshooting common issues](#troubleshooting-common-issues)
|
||||
- [Performance tuning](#performance-tuning)
|
||||
- [Runtime dependencies and known issues](#runtime-dependencies-and-known-issues)
|
||||
- [Building](#building)
|
||||
- [32-bit bitbridge](#32-bit-bitbridge)
|
||||
@@ -330,6 +331,42 @@ group = "This will be ignored!"
|
||||
being able to start. There should be plugin output messages in your DAW or
|
||||
terminal that with more information on what went wrong.
|
||||
|
||||
## Performance tuning
|
||||
|
||||
Running Windows VST plugins under Wine should have minimal performance impact,
|
||||
but you may still notice an increase in latency and audio spikes. There are a
|
||||
few things you can do to get rid of most or all of these negative side effects:
|
||||
|
||||
- First of all, you'll want to make sure that your user is able to run programs
|
||||
with realtime privileges. Note that on Arch and Manjaro this does not
|
||||
necessarily require a realtime kernel as the `PREMPT` patch set is enabled on
|
||||
their regular kernels. You can verify that this is set up correctly by running
|
||||
`chrt -f 10 whoami`, which should print your username.
|
||||
|
||||
- The second, possibly even more important thing is to use a build of Wine with
|
||||
Proton's fsync patches. This can improve performance significantly when using
|
||||
a lot of plugins at once. If you're running Arch or Manjaro, then you can use
|
||||
[this](https://github.com/nine7nine/pkgbuilds_nspa/tree/master/wine-nspa)
|
||||
audio production optimized Wine PKGBUILD. Aside from a patched version of Wine
|
||||
you'll also need a supported kernel for this to work. Manjaro's kernel
|
||||
supports fsync out of the box, and on Arch you can use the `linux-zen` kernel.
|
||||
Finally you'll have to set the `WINEFSYNC` environment variable to `1` to
|
||||
enable fsync. See the [search path setup](#search-path-setup) section for more
|
||||
information on where to do this. You can use the following command to check if
|
||||
this is set correctly:
|
||||
|
||||
```shell
|
||||
env -i HOME="$HOME" $SHELL -l -c "echo $WINEFSYNC"
|
||||
```
|
||||
|
||||
If this prints `1` then everything is set up correctly. You'll have to log out
|
||||
and back in again for this to take effect on applications launched from the
|
||||
GUI.
|
||||
|
||||
I don't know the what the best way to install an fsync patched version of Wine
|
||||
on other distros is, so if anyone knows more about this then please let me
|
||||
know and I'll add it to this section.
|
||||
|
||||
## Runtime dependencies and known issues
|
||||
|
||||
Any VST2 plugin should function out of the box, although some plugins will need
|
||||
|
||||
Reference in New Issue
Block a user