How To Use MuLab 9 With Linux (guide)

Official support for: mutools.com
RELATED
PRODUCTS

Post

I've been using MuLab 9 on Linux for a while now with no problems (just hiccups), so I thought I'd share my experience with other users through this guide.

Disclaimer
  • Linux IS NOT officially supported by MuLab, so don't report issues related to Linux here. The best way to get some help is to post your issues at the https://www.winehq.org forum
  • Since Linux distros differ from each other, do not take this guide as a copy and paste solution. You may need to make some adjustments to the steps presented here to fit into your Linux distro
  • This guide is written using MuLab App 9.0.42 for Windows (64 bit)
  • I assume a fresh install of Wine or at least a fresh Wineprefix. Anything different from this, you should know what you are doing
Requirements

Before we get into the steps to get ML9 running on your Linux, we need to tweak your distro to be "professional audio friendly," which requires adjusting some Linux settings. Using https://codeberg.org/rtcqs/rtcqs is an easy way to figure out what to change. Rtcqs is a Python utility that analyzes your system and detects potential bottlenecks that may have a negative impact on system performance when working with Linux audio. This is how I go about it:
  1. Go to https://codeberg.org/rtcqs/rtcqs/releases
  2. Check the latest stable version (0.5.2 during this writting)
  3. Download the rtcqs_x86_64 file and give execution permission 'chmod +x rtcqs_x86_64' to it.
  4. Execute the script './rtcqs_x86_64'
As you can see, the script will run tests and return either an OK (green) or a WARNING (red). We want as many greens as we can get. Be wary of a few settings being "more important" than others. Having a Preempt RT kernel, for example, may be more efficient than turning off Spectre/Meltdown Mitigations. Take note that for each WARNING, you will be given a link to a possible solution. Again, do not simply copy and paste. In some cases, you'll need to consult your distro for the correct command or location of the settings you want to change. Yes, it takes some effort, but the good news is that you only need to do it once.

It's time to install Wine after you've made your system "audio friendly." But which version of Wine should you install? Most of the time, the most recent version is superior. But this is where distros diverge. Some distributions will have the most recent Wine package available for you, while others will not. If your distro doesn't update Wine packages frequently, it's up to you to find and test repositories that offer more up-to-date versions of Wine.

Finally, install your Wine package or create your Wine prefix; most distributions create a default Wine 64-bit prefix.

Running MuLab 9

All of the heavy lifting has been completed. Now comes the easy part. Begin by downloading and extracting ML9. To see the magic happen, navigate to the MuLab (64 bit) folder and double-click the MuLab.exe file.

If nothing happens after the double click, see if your Wine package includes a binfmt file that allows you to run Windows programs directly, such as ./myprogram.exe, which will launch as if you had typed wine./myprogram.exe. This varies from distro to distro, so if in doubt, contact your distro's support, NOT HERE.

If everything is fine, you are now presented with the MuLab 9 User License Agreement. Agreeing on that, we reached the Audio Setup. Just change your Audio Driver Name to Pulseaudio and the rest is history :-)

audio-setup.png
That's it, MuLab 9 is up and running on Linux. Congratulations! :party: :clap:

Hiccups

The only issue I encountered while working with ML9 was the window losing focus on certain parts of the program. The problem has been reported in the Wine forum: https://forum.winehq.org/viewtopic.php?f=8&t=36332. The good news is that there are at least three different solutions to the problem. Let's look at them now:
  1. This is the simplest way for me to get around this problem. There are no special settings required. Simply create a shortcut for the problematic function. My two major stumbling blocks, for example, are the "Choose Target Module" and "Choose Midi Channel" sub-windows. That was fixed by creating two shortcuts, as shown below.

    shortcut.png
  2. You may be familiar with the virtual desktop if you play games with Wine. Simply run 'winecfg,' navigate to Graphics, check Emulate virtual desktop, enter the size of your desktop, Apply, and OK. When you start ML9 again, your virtual desktop will appear and you will be able to use it normally. This appears to be the most "reliable" method, and it is the one I use.

    virtual-desktop.png
  3. Uncheck the box labeled "Allow the window manager to control the windows." Be aware that this workaround has some unintended consequences, such as the inability to use TAB+ALB, minimize the window, or use your desktop task manager.

    no-wm.png

Other solutions may exist, but the above should be enough. So, which one is better. The one that fits your workflow better.

FAQ

Is it stable?
Like a native version.

How about performance?
Like a native version.

Are the graphics good?
Like a native version.

How about latency? Do I need to install ASIO?
Perhaps not, but it depends on your requirements. You should be fine if your system is "professional audio friendly," as specified in the requirements above. My system, for example, only works with Pipewire. So, I've got Wine configured with PulseAudio (Wine has built-in support for PulseAudio), which is actually pipewire-pulse. In reality, Wine is using a low-latency audio driver via pipewire. I've never had a latency issue, possibly because I don't do much recording. Try out your current configuration. If it works, that's all there is to it! If that doesn't work, try installing WineASIO.

Can I use Linux VSTs?
Indeed, you can! But it's not that straightforward. Thanks to lmv for pointing out how to do that. Also Jo gave more insights here viewtopic.php?p=8462197#p8462197

How can I use Windows VSTs on Linux?
Use Wine. Since you already have your system tweaked and Wine installed, most of the plugins should function out of the box.

How to create a desktop entry to MuLab?
By default, you can not pin Windows apps on your taskbar or simply add them to your start menu. However, with a bit of code, you can fix that. Here's my mulab.desktop:

Code: Select all

[Desktop Entry]
Name=MuLab
Version=9
GenericName=Creative Music Studio
Comment=MuLab is an inspiring music studio featuring an integrated top-quality modular synth, sampler and effect engine.
Exec=wine /home/oldcastle/Applications/MuLab/MuLab.exe
Icon=/home/oldcastle/Applications/MuLab/mulab.ico 
Categories=Audio;AudioVideo;Midi;Sequencer;X-Multitrack;X-Alsa;X-Jack;Qt;
Keywords=Audio;MIDI;Multitrack;Sequencer;DAW;VST;
Terminal=false
Type=Application
Adjust the path above to your reality. Then copy the file mulab.desktop(you can named whatever you want, but the extension needs to be ".desktop") to /home/oldcastle/.local/share/applications. Again, adjust the command above to your Linux distro. By the way, the icon was created by me, so you need to do it yourself.
You do not have the required permissions to view the files attached to this post.
Last edited by oldcastle on Wed Jul 20, 2022 2:19 pm, edited 4 times in total.

Post

Note 1: Jo, please feel free to pin, refer, share, edit, or ignore this post. :)

Note 2: I'll try to keep this post updated. Tips and suggestions are welcome. But remember, ML9 IS NOT officially supported, ok?

Post

Very cool tutorial!! Great job!! :)
C/R, dongles & other intrusive copy protection equals less-control & more-hassle for consumers. Company gone-can’t authorize. Limit to # of auths. Instability-ie PACE. Forced internet auths. THE HONEST ARE HASSLED, NOT THE PIRATES.

Post

Thanks a lot for sharing this guide, oldcastle :tu: :clap:

I've included it into the M9 docs, in the FAQ section, the question about Linux:
https://www.mutools.com/info/M9/docs/mu ... swers.html

Thanks again!

Post

I also use Linux and have been playing around with Mulab. My experience is a little different and it may or may not be interesting to the users and developers. I will share it anyway.

First, I am not a registered user. I want to be, but not right now. So I just have the 8.8.3 Free version and the 9.0.37 Demo version. There are interesting differences between them, but I can't be sure that everything I will describe here applies to fully registered versions of Mulab.

In 8.8.3, in Audio Setup, I can choose 'MME Audio Output' then either 'Wine Sound Mapper' or my primary sound card. I can also select the HDMI output, but I have nothing connected there so I can't really listen to it, but it seems to be accepted and play sound. Notably absent is my external USB sound card to which I connect my headphones. The primary sound card is connected to a crappy desktop loudspeaker that I use very rarely. But if I select Wine Sound Mapper and I configure JACK to play through my USB sound card, I can use the headphones.

If I choose ASIO, then my only complementary driver choice is WineASIO, and it also works perfectly. Whether it plays through the loudspeaker or headphones depends on my JACK configuration. All good.

Now, in 9.0.37, I can choose 'MME Audio Output' then either 'Wine Sound Mapper' or my primary sound card, except that the playback becomes so slow and jerky that the entire application becomes unusable. Only ASIO/WineASIO works well with 9.0.37. No big deal. I just think that something that worked so well in an older version might as well work on the new version. Why not? You can never have too many options.

I also have the problem with some widgets not working correctly, they flash for a millisecond and disappear, including the About screen. I solved that problem creating keyboard shortcuts for them. They don't flash and disappear when triggered by a key shortcut, God knows why.

"Can I use Linux VSTs?"

This is an interesting issue. In theory, yes, you can. Does Mulab want you to, though? That is quite complicated.

Note that I don't use PulseAudio. I only use JACK or ALSA. JACK runs on top of ALSA anyway. JACK is very interesting because it creates its own "plumbing." That plumbing will let you do a lot of cool stuff if applications will cooperate. Mulab does not cooperate.

Please look at this screenshot.

catia1.png


That is Catia, a JACK patchbay. It can be used to make "plumbing" connections. When I use WineASIO as the driver, all those Mulab inputs and outputs are exposed. What can I do with them? Sadly, not much and not easily.

In 8.8.3, I can click the output slot at the bottom of the MASTER rack and click 'Edit.' (That is absent from 9.0.37 so all of this only applies to 8.8.3.) From there, I can determine that MASTER send its output to out_3 and out_4. You can see that in the next screenshot. Those outputs are connected to my "Generic USB Audio Device."

catia2.png

From here, I can disconnect those and connect out_3 and out_4 to input_3 and input_4 in the "Calf Studio Gear." Calf Studio Gear is a collection of plugins, mostly effects. Then I can load some effects on it then connect output_3 and output_4 from Calf Studio Gear to my Generic USB Audio Device (i.e. my headphones) and listen to the output from Mulab altered by all those effects.

catia4.png


But can I send them back to Mulab? No, because I can't seem to find any way to use those inputs inside Mulab. I can see they are there and I can hook up audio signal to them through JACK's "plumbing," but Mulab's GUI doesn't give me any way to use those inputs. Racks have a choice of outputs (only in 8.8.3 and yet very limited) but no choice of inputs. In the screenshot above, I connected Mulab's out_1 and out_2 to my headphones, but that is just a dummy setup to illustrate a hypothetical concept. In reality, there is nothing coming out of Mulab's out_1 and out_2. MASTER was changed to use out_3 and out_4, and other racks can't use any outputs really.

Not all is lost. I still can connect Mulab to Calf and Calf to something else so I can have effects applied to Mulab's MASTER output, and record it all with something else. Note that all that plumbing setup can be saved and recalled as a preset with an application called aj-snapshot. But sadly, I can only do that to the output of MASTER. I can't change the outputs of other racks. They only accept MASTER or NONE (or other racks, but I rather fail to see how that could ever be useful).

So if I could change the output ports of other racks, then I would be able to apply effects to them individually. Even better, if I could selectively apply those inputs to racks, especially to MASTER, then I would be able to "send" each Mulab rack to a Linux effect, get the signal back and reinsert it into the project and record everything inside Mulab. That would be really cool.

What about Linux instruments? Could they be played by Mulab's MIDI composer? It's technically possible. Look at those MIDI ports exposed by ASIO. Hook up a Linux instrument to one of them, Mulab to the other and you're in business. Linux doesn't care whether it's Mulab—a Windows application—or a native sequencer issuing the notes. Linux just sees MIDI data. It will listen, it will play, and it will send audio signal back into the "plumbing." The only tiny obstacle in the way of that idea is that... Mulab does not support any of that at all. In fact, the little you can do in 8.8.3 is no longer possible in 9.0.37. 9.0.37 won't even let you change the MASTER outputs.

Since this is all about Linux and Mulab is a Windows application and we Linux users know what that means (Windows developers typically don't like to help Linux), the chances are extremely slim. But it's worth a chat. We were so close...
You do not have the required permissions to view the files attached to this post.

Post

A project-level "Audio In" in MuLab is a module. You can configure it to accept the hardware ins of your choice.

Post

lmv wrote: Sun Jun 26, 2022 8:40 pm Since this is all about Linux and Mulab is a Windows application and we Linux users know what that means (Windows developers typically don't like to help Linux), the chances are extremely slim. But it's worth a chat. We were so close...
Thank you for contributing and sharing your experience. I believe that the more we share, the more we can learn and assist those who want to venture into Linux territory.

I'm a wannabe bedroom producer, so my use of ML is quite simple. Because ML on Linux is not officially supported, we make do with what we have. However, I am pleased with ML 9, since right now it covers all my needs. Sure, other people's needs are probably different from mine, so Linux may not be the solution for them.

I understand that the guide could go into greater depth on a variety of topics, but that was not my intention. My intention was to get ML up and running so that we could have some fun. :tu:

Post

pljones wrote: Sun Jun 26, 2022 10:14 pm A project-level "Audio In" in MuLab is a module. You can configure it to accept the hardware ins of your choice.
This is amazing! At first, I had no idea what you were talking about. But I investigated and yes, modules are the answer. Modules let you add/configure inputs and outputs and send out MIDI, so everything I speculated above is 100% possible and ready to go. I just tested effects, instruments, everything. The integration with Linux is complete.

So let's set this record straight:

"Can I use Linux VSTs?"

Yes! You can use Linux VSTs, LV2, LADSPA or whatever Linux has to offer. If Linux can do it, it can be used as an extension of Mulab.

Thank you for the valuable information.

Post

I'm happy you resolved the issue :)
I too am looking into alternative OSes, mainly linux and bsd given the privacy issues and pushy methods of microsoft, hopefully more devs add linux support in the future.

Post

lmv wrote: Mon Jun 27, 2022 12:42 am So let's set this record straight:

"Can I use Linux VSTs?"

Yes! You can use Linux VSTs, LV2, LADSPA or whatever Linux has to offer. If Linux can do it, it can be used as an extension of Mulab.

Thank you for the valuable information.
Hey! Would you like to elaborate on this in a short how-to so that I can include it in the guide?

Post

oldcastle wrote: Mon Jun 27, 2022 1:06 am Hey! Would you like to elaborate on this in a short how-to so that I can include it in the guide?
Writing would be hard because I found Mulab's way of handling this very confusing. I achieved it, but I'm not sure how. I can't write about something I don't understand. So I made a video doing it. The video is a little confusing too, you can see I am fumbling in the dark and probably did things that were not even necessary, but it should be a starting point. You can view/stream it or download it here: https://gofile.io/d/NfrLcQ

That site deletes files after some time, so I recommend downloading it. If you have accounts somewhere where you can share the video, please do. If it says download is not available, that's temporary, just try again later.

Note: that is Mulab 9.0.37 Demo. I couldn't make MIDI work on 8.8.3 Free version, just external effects. I couldn't find a way to make a MIDI out port.

Post

humanboeing wrote: Mon Jun 27, 2022 1:00 am I'm happy you resolved the issue :)
I too am looking into alternative OSes, mainly linux and bsd given the privacy issues and pushy methods of microsoft, hopefully more devs add linux support in the future.
I find Mulab not just very Linux/Wine-friendly, I really like its approach to most things and the workflow in general. It's the only DAW I really like to use. I don't like this whole "modules" concept, I think it's quite confusing, but it still is the best DAW I've seen so far.

Post

lmv wrote: Mon Jun 27, 2022 1:21 pm It's the only DAW I really like to use.
Same here.
lmv wrote: Mon Jun 27, 2022 1:21 pm I don't like this whole "modules" concept, I think it's quite confusing, but it still is the best DAW I've seen so far.
This is one of my favourite aspects of MuLab, but I can see some people may not like it because it can get quite nerdy. Good thing is most of the time you don't need to venture into modular area and stay in the front panel/composer view and still be able to compose music just fine.

Post

lmv wrote: Mon Jun 27, 2022 1:05 pm
oldcastle wrote: Mon Jun 27, 2022 1:06 am Hey! Would you like to elaborate on this in a short how-to so that I can include it in the guide?
Writing would be hard because I found Mulab's way of handling this very confusing. I achieved it, but I'm not sure how. I can't write about something I don't understand. So I made a video doing it. The video is a little confusing too, you can see I am fumbling in the dark and probably did things that were not even necessary, but it should be a starting point. You can view/stream it or download it here: https://gofile.io/d/NfrLcQ

That site deletes files after some time, so I recommend downloading it. If you have accounts somewhere where you can share the video, please do. If it says download is not available, that's temporary, just try again later.

Note: that is Mulab 9.0.37 Demo. I couldn't make MIDI work on 8.8.3 Free version, just external effects. I couldn't find a way to make a MIDI out port.
I updated the guide! Thanks, lmv for the insights. Yes, I'm still confused, but I'm glad that it works. :lol:

Post

Hey i did not watch the full video but let me quickly tell that if you want to send events from within the composer to a MIDI output then send the events to a composer event output and then in the Project Modular Area connect that composer event output to the MIDI output module (= the Project Event Output module that is set to the MIDI output). This is assumed that the composer is inside the Project Modular Area. If the composer would be in a deeper modular level, then make sure to repeat the routings to upward modular levels until the composer events arrive in the Project Modular Area, then connect it to the MIDI output module.

Return to “MUTOOLS”