Compile Ardour 7.1.0 - Debian 11 x86_64 - VST3

[READ: *This is not an official guide how to compile Ardour 7.1.0 with VST3 support on a Debian 11 x86_64 distro.]

I started my journey with GNU/Linux visiting a Linux Day in the 2005, and from that day has become my main OS over the years. Funny story I’m a musician too but I started much early than using computers for music production. My main instrument is the electric bass. I play different genres. From Extreme Metal to Electronics and I mod all my instruments. In july my new band pubblished his 1st album and I recorded all my tracks using at first Ardour 5.1.2, then Ardour 6.5.0 from the Debian stable repoes. Everything worked very well. But you know my official band members lives very far from me and we never meet each others even to play a single chord on guitars, inside a room or a recording studio. Taking into consideration the distance that separates us from each other and the various Lockdown, which followed because of the last pandemic; As it is easy to guess, for the recordings we entrusted ourselves to ourselves. I recorded my bass parts at home, connecting my bass-guitar to a USB sound card interfaced to Ardour that’s always installed into a very cheap laptop I own for such purposes. Said that: Every single member of the band use a different OS and a different DAW. Isn’t a problem when you’re recording audio tracks. Is a different thing when you’ve to use some very well developed plugins. In fact there are some VST3 plugins really important for our music production and for many people I know. That involves to be flexible and use whatever is needed to achieve the result. What follows are the steps I made to compile Ardour 7.1.0 with VST2 and VST3 support. I will rely on Yabridge from GitHub - robbert-vdh/yabridge: A modern and transparent way to use Windows VST2, VST3 and CLAP plugins on Linux and Wine Staging from WineHQ Debian WineHQ Repository - WineHQ Wiki to make it works everything.


Hardware specs for this build (Time 4h 30 min):

-Computer-
Processor: AMD E-350 Processor
Memory: 3617MB
Machine Type: Notebook
Operating System: Debian GNU/Linux 11 (bullseye)
-Display-
Resolution: 3286x1080 pixels
OpenGL Renderer: AMD PALM (DRM 2.50.0 / 5.10.0-19-rt-amd64, LLVM 11.0.1)
X11 Vendor: The X Org Foundation
-Audio Devices-
Audio Adapter: HDA-Intel - HD-Audio Generic
Audio Adapter: HDA-Intel - HDA ATI SB
Audio Adapter: USB-Audio - UMC204HD 192k


Download and install the dependencies. Simply type:

$ sudo apt-get -y build-dep ardour

Download the source code. For such task you really need git installed or as you already know the source code can be downloaded using the tarball from the website. Going with git:

$ sudo apt-get install git

Create a working directory for Ardour - I choosed to make it hidden:

$ mkdir .ardour7

Enter the new directory you created:

$ cd .ardour7

Download the Ardour source code:

$ git clone git://git.ardour.org/ardour/ardour.git

Python3 is the right choice to launch the default “waf-configure” and compiling process going to type:

$ python3 waf configure
$ python3 waf

But if I want to compile Ardour with VST3 support I have to type this instead:

$ python3 waf configure --windows-vst
$ python3 waf

  • Waited as long as needed. When the shell prompt again, its done

Launch Jack at first. QjackCtl is the best GUI for such tasks:

$ qjackctl

Then start Ardour accordingly to your installation path:

$ /home/user/.ardour7/Ardour-7.1.0/gtk2_ardour/ardev

You can also install Ardour into a default location with:

$ sudo python3 waf install

Launch Jack first:

$ qjackctl

Launch Ardour:

$ ardour7

Ardour is distributed by -ardour.org- in the form of “bundles”, which are nothing more than a directory tree which contain everything the app needs to run.

$ cd tools/linux_packaging
$ ./build --public --strip some
$ ./package --public --singlearch

That way I obtained a functioning binary bundle, in the form a .tar file that will go into another Debian based laptop I own.


I’m more than happy about the results. Hope these steps will helps those people who wants or need to know how to compile Ardour with VST3 support and need to make it works. Soon I’ll test my DAW of choice very deeply. Right now I tested LV2 and VST2 plugins only. Everything works like a chame. Later I’ll write back to talk about VST3 plugins.

Thanks Developers for this great software becoming a really piece of art day after day :heart:

I go deep with Ardour 7.1.0 the last hours. LV2 plugins works perfectly and I’m very glad of that. My setup nowadays need more plugins and I have to use Win VST2 and VST3 also and here’s the results.

To make it work I already installed Yabridge and Wine Staging and I set Yabridge path using the following commands:

$ yabridgectl add /home/patrizio/.vst
$ yabridgectl add “$HOME/.wine/drive_c/Program Files/Common Files/VST3”

Ardour7 start from a launcher I created. That’s fine. I start a default project I called AMP-V7-000. Into that project I have only a track that I arm when I have to record my bass parts.

I check the right path for my Win VST2 folder into Ardour and left the VST3 path blank as suggested. I go clean everything and scan for plugins and everything goes as expected. Actually every Win VST2 works and I love it. Anyway I had problems with two of the most important plugins I need to use to play and they’re both VST3. Inside the plugin Manager their Status is Stale and pinned to be ignored. I don’t know what that means.

  • Amplitube 4 - A very useful plugin if you play guitar or bass (note: the VST2 works)
  • EZDrummer 3 - Being a bassist I can’t live without a solid drummer and you know that

I want to try that VST3 plugins so I add the default MIDI track, I thought to change for EZDrummer3 later. Nothing happens. The plugin isn’t loaded. I think ten minutes passed and nothing happened. Ardour simply freeze. I had to kill it.

Such plugins are very important when is needed a proficient and fast setup. i.e. recording a track and immediately trying to catch the right beat for that part you dreamt of. So, because I like too much that everything works as expected I want to help and I tought to debug Ardour:

$ cd /home/patrizio/.ardour7/Ardour-7.1.0/gtk2_ardour/
$ ./ardbg

when (gdb) appear type:

(gdb) run

Ardour start as usual. I start again the default project I called AMP-V7-000. At this point I want to try my plugins. Also in debug mode LV2, LADSPA, VST2.x plugins works as expected into Ardour. I want to try again VST3 plugins. I made the same steps: I added the default MIDI track, I thought to change for EZDrummer3 later. Nothing happens again. Another ten minutes passed and nothing happened. Ardour simply freeze and again I had to kill it.

There’s a way to make it work EZDrummer3 (partially well). I discovered that if you drag and drop the plugin into the blank MIX window the plugin go inside a new MIDI track. But if you save the project and restart then Ardour freeze. On the other side going to repeat the previous steps: Adding a MIDI track + add or change plugin don’t works. Ardour freeze again. A side note that doesn’t matter at all with you but I tried other DAWs like qtractor-0.9.29-72.1.x86_64.AppImage and Reaper v6.69 and VST3 works as expected setting the right paths. Being honest Qtractor impressed me more cause it recognized everything at first sight and works without any flaws. Anyway I really like Ardour and all my projects from years are made with it, so I don’t know if I want to live without it. To help your search on these issues I add two logs.

Although yabridge is a modern miracle that makes it possible to run plugins created for the Windows operating system on Linux, we are fundamentally unlikely to put much effort into investigating bugs that occur when running such plugins in Ardour on Linux.

There are so many moving parts that dissecting what is going wrong is very difficult. Sometimes, it may be possible to quickly come to a conclusion, and if that happens then an issue may be fixed. For that to happen, bugs need to be filed at tracker.ardour.org, not here on the forums.

1 Like

It could be useful for all of us Linux users to get a message to the plugin companies that we need Linux versions of their products. Yabridge is a temporary tool, but you can’t rely on it for the rest of your life. How does that message get across and are there enough of us to change the world?

After configuring the VST3 path using yabridgectl add, you need to run yabridgectl sync, which will then populate the “standard” VST3 directory with symlinks to the Windows VST3 DLLs it finds. This step is described in step 3 of the usage docs: GitHub - robbert-vdh/yabridge: A modern and transparent way to use Windows VST2, VST3 and CLAP plugins on Linux

2 Likes

Thank you @paul for the kind reply. I really know from years your policy about the lack of support for something that isn’t GNU/Linux and I agree with you on most points, cause I also know about those times when Ardour was into great difficulties and then, lucky for us, “born” again. I’m using Ardour from version 2.x and forward for what I remember. I’m glad I can install it via repoes from my distro or I can compile from sources and succeed, so I can use this fantastic software as it is.

Yabridge its for sure a great piece of software for musicians nowadays. It added more opportunities for us. I’m sure that you know absolutely well and you’ve perfect knowledge that every musician is different, with different tastes so it is their setup. Just to make a simple example the guitarist & also drum programmer I play with use Windows 10 and Bandlab as DAW. He use VST3 plugins only. i.e. Addictive Drums 2 - Superior Drummer 3 - EZ Drummer 3 etc. Our vocalist use Windows 10 and he record his voice with Cubase. So… we use 3 very different softwares.

Honestly I can’t push them to use a different OS and a different DAW. We solved the problem using very similar plugins when isn’t exactly the same. I mean: The guitarist and drum programmer after he go create a MIDI drum pattern at “x” BPM and “x” Tempo send all of that to me to hear, play and record my own tracks. I rely on rhythm you know, so with my bass I have to study that parts using the right plugin. Actually is becoming possible, also with Ardour, to enter a shared and collaborative vision between musicians who use these tools, cause they’re just that: tools. I strongly believe on full VST3 support in the near future without any flaws for Ardour.

Hope you’ll understand what I mean when I said about a more collaborative vision between musicians who use these tools (i.e. VST3 plugins). I’ll add a link to the bug-report at the end of discussion when done. Thank you again. Really.

Actually only LinVST and Yabridge give support to that. Great companies don’t really care about Linux OS. The “global plugins market” is based on what people request as you know. So if few people ask for a certain plugin developers continue to build their software for those that really care. To develop is required time and money. Only that matters nowadays. Without resources you can’t go ahead. In the end we have really great plugins inside Linux, but is also true that some plugins are more suitable if you collaborate with musicians who don’t use you OS and your DAW. That’s the point!

Yes, I forgot to type that. The exact sequence to populate VST2 and VST3 plugins directories is:

$ yabridgectl add /home/patrizio/.vst
$ yabridgectl add “$HOME/.wine/drive_c/Program Files/Common Files/VST3”
$ yabridgectl sync

Thanks for noticing, by the way.

You’re right about that. On the other hand, when time passes and people seem to find their way into the Linux world (including pro audio), we do have hope. That’s why I think about things with the future in mind. And it’s interesting to be involved in making music on Linux.

1 Like

@Sojuzstudio - I really understand what you mean, but as I said above I can’t push people to switch their OS or their DAW and use my plugins to play with me. The things orbit around that. I’m lucky enough with the musicians I play with we found a way to share our tracks. The speech revolves around this. Have a way to collaborate with others. Being able to use their own plugins freely, without limitations, to make the creative process easier. It is one thing to play by yourself and you can afford to waste all the time you want to set up and compile, but if you play in a band and maybe you have deadlines, you can’t keep everyone waiting because the “x” plugin doesn’t work in your DAW. I have loved my operating system since the early 2000s and I love Ardour because it has always saved me in all situations. I’m not even going to change it today. I adapt and make things work instead of imposing my vision on the people I play with. This is how it works to me

Why can’t you work by sharing only audio files and, if necessary, midi files. So export drum tracks as audio. And work with them. At the same time, it is also ensured that they sound exactly the same on all parties. In the end game, the biggest importance is in the mixing end, so the plugins that will help you reach the finish line should be used there.
Working like this, the operating system and DAW don’t really matter much. If I understand correctly what you are doing

2 Likes

@Sojuzstudio We worked that way, with drums exported as audio files for years. Is a very good way. Nowadays I’m working on drums too as the guitarist I play with. Here’s the point. We have to share such type of MIDI patterns. The problem is when you use different plugins for the same type of application i.e. drums. The MIDI produced by EZ Drummer 3 for example can be played as well by AVL Drums, but the feeling is totally different. Something is “missed” and sounds “wrong”. But please don’t misunderstand my words. Different drumkits, different everything produce totally different results. Into our band we cooperate and we create our songs togheter. Said that: The thing isn’t about recording or the final result but more about the connection musicians need to have when they’re in the middle to create a song. I mean as musicians we study the whole thing and everything can be changed in a second. A song is made by different minds and working hands who have to work togheter in real time even when they’re far away. Sharing the same plugins helps alot the whole creativity process.

I can’t read all this… TL;DR… but would like to just throw out there, for anyone who is looking at a non-Mac non-Win environment, don’t let these kinds of “I’m going to build all of this myself” thing scare you off. Go get GMaq’s AVLinux (http://www.bandshed.net/avlinux/). It, for the most part, just works, and as a person who has fiddled with this stuff for 25 years (started with Red Hat 5 in 1998 or so, and never looked back), this is, sort of, what we have been asking for? And the integration of wine and yabridge is really well done.

Not that the tinkerers should stop. Build you own car, if you want. At this point, I’d rather just go to the Toyota dealer, and get a well-integrated tool.

1 Like

Hello Patrizio, I’ve been using EZDrummer 3 for some time with yabridge, but I did have a problem recently when I updated from version 3.0.2 to 3.0.5. I could load it in a track and create my beats, but when I would restart Ardour the plugin would crash and hang Ardour (this happened with every combination of yabridge 4/5 & Ardour 6.x/7.1. I was able to downgrade back to 3.0.2 and the problem disappeared. Robbert from yabridge looked at my crash report and thought it was a Toontrack/wine issue.

Can you check your EZDrummer 3 version number?

You must know that I really like to understand deeply how the things I deal with work. It’s not enough for me to have a car that run with an anti-sand filter. I like to get my hands on it, get my hands dirty, because I can learn from this and then, in the spirit of free software, share my experience with whoever needs it. How I needed it.

I honestly have no interest in switching from one distro to another. I recognize that AV Linux is a great distro, but Debian is its mother, so nothing can top it. None of its derivatives. Without the Debian distro, the AV Linux derivative would never have even existed.

As for integrating Wine or Yabridge I don’t see what the difficulty is. You just need to know how to read the instructions and apply them, as with everything that has specific instructions. Exist. It is enough to read them. Easy isn’t it?

I’m using

  • EZ Drummer v 3.0.4
  • Yabridge 4.0.2 - 2022-06-27
  • Wine 7.20 (Staging)

Few days ago I received new updates from WineHQ. I upgraded to Wine 7.21 and everything stop’d working. I rolled back to v.7.20

For those interested how to roll back their Wine version, check available version first:

$ sudo apt policy winehq-staging

That will list available WineHQ versions. You already know that a complete wine installation is made by multiple packages. Just check the version that suit your needs. With a single command you can install the exact version:

$ sudo apt install winehq-staging=7.20~bullseye-1 wine-staging=7.20~bullseye-1 wine-staging-amd64=7.20~bullseye-1 wine-staging-i386=7.20~bullseye-1

To hold the version you checked out go with:

$ sudo apt-mark hold winehq-staging

To restart your updates:

$ sudo apt-mark unhold winehq-staging

Actually with that software I have installed, everything works - more than less I can say. The only thing that doesn’t works that well is Ardour recognizing my Windows VST3 plugins. I’m a bit sad about that.

On the other hand EZ Drummer 3 or Amplitube 4, to name the more important to me, are immediately recognized and usable by the very good Qtractor DAW and by the Reaper DAW.

Hope that helps