Status of KeyLab mk3 & Analog Lab on Linux

Hi, I’ve got the KeyLab 61 mk3 and I’m using it with Analog Lab, standalone and as VST inside Bitwig on Linux. Yes, I know Arturia doesn’t support Linux and this is not a topic to discuss this. The setup mostly works, with very good sound and CPU performance, and I’m hoping pointing out to the few problems will help solving them through peer collaboration whenever possible.

For those in a rush, the problems detected are:

  • Analog Lab doesn’t remember the value “MIDI controller: KeyLab mk3” and it needs to be set up manually every time when opening the app. Not a dealbreaker but annoying.
  • The KeyLab mk3 display doesn’t show the preset being used, even if all the controls work as expected. This is disappointing because you need to browse through presets via computer display and mouse.

In more detail:

I installed the Arturia Software Center, Analog Lab V, and the rest of instruments included in the KeyLab mk3 purchase. I used Wine to install them, and then yabridge to register them as VST plugins.

The only problem found during installation came with the MIDI Control Center, and specifically with the MIDI driver (required for Windows). In theory, this MIDI driver shouldn’t be needed for a Linux install (just like it’s not required on Mac OS) since the controller is USB compliant. Still, the MCC requires it and without it this app won’t detect the KeyLab.

Analog Lab detects the KeyLab mk3 MIDI ports, but in MIDI settings it defaults to “Generic 9 knobs” and it needs to be changed manually to “KeyLab mk3”. This would be fine if it’s a one-time thing, but this value isn’t remembered when restarting the app. In comparison, the app can remember the last synth used.

When “KeyLab mk3” is selected as controller, then all the controls work with the instruments as expected: keys, pads, wheels, knobs, and faders.

BUT what is really disappointing is that the KeyLab mk3 display won’t show the preset currently selected. No useful preset info, no cute synth drawing, no preset options for buttons 1-4.

The big knob still works as expected. If you turn it, it will scroll through presets, and if you push it, it will select the preset and you can play it right away. But… you have to scroll blindly because the UI on the KeyLab display or your computer display doesn’t follow the scrolling. This defeats the point.

I’m not sure what causes these problems but it doesn’t look like one of those insurmountable incompatibilities? About the preset info being shown in the display, I guess in Mac OS everything works through plain USB compliance, sending and receiving MIDI program changes and such. Analog Lab remembering the last MIDI controller connected shouldn’t be a hard problem to solve either.

It looks like the culprit is the artificial requirement for the MIDI driver, which is indeed incompatible with Linux, but also not needed at all for MIDI communication to work. I hope there is a way to bypass this requirement as the Mac OS version does.

3 Likes

Hi,
There is an MCC alternative for Linux:
SysEx Controls

2 Likes

Hello !

Thanks for sharing !!

Another one made by a one of our user can be found here (but only supports MicroFreak and MicroBrute) => GitHub - dagargo/elektroid: Sample and MIDI device manager

Cheers !

This is great news… :penguin:
Testing on the weekend
Thank You !

Hi !

+1 for desktop Linux support <3

Even, in an un-official and distribution-agnostic way…

I mean… Bitwig & quite a few other great piece of software run natively under Linux, we have now 2 solutions for low-latency audio (Jack & Pipewire, which, if I’m not mistaken is now enabled by default on major distributions), Astrolab runs Linux, many Korg synths run Linux (well, they run on a Pi at least, dunno if that’s a regular distribution or a bare-metal custom OS). Unrelated but even Valve uses a regular Linux distribution on their handheld console.

Been using Linux as my primary OS for 20+ years. (and secondary for almost 30, time flies !). It’s easier than ever in most use cases. I installed Linux distros on disabled people computer for more than ten years and they were pretty happy. As that the political context is getting increasingly worrying it may be more relevant than ever ! (edit : depending on where you live obviously this statement may sound offending)

Meanwhile, I still purchased a Keylab MK3 because it’s great for dawless and is apparently a high quality keyboard meant to last for a long time. I don’t want disposable pieces of hardware !

Edit : is there a general feature request or space dedicated to this subject ?

I do get a great experience with my Keylab 3 on Linux but I have a question :

in “DAW mode” everything works as expected for instance in Bitwig – the screen does show the relevant contextual information.

Did any of you manage to get the standalone Arturia instruments information displayed on the screen when In “Arturia mode” ? (that is to say : when starting the standalone instruments on Linux through the WINE emulation layer ?)

I can play the instruments with a low latency (wineasio → pipewire) and my knobs do work but the screen does not show any contextual information.

Thanks !

I saw somewhere there was a “Keylab essential ALV” device in the midi devices list for the essential version which was used to communicate with the screen. I see no such device with my non-essential Keylab MK3 (only “midi” and “daw” devices) on Linux. Is that the reason why this feature doesn’t work ?

To sum the Keylab 3 situation on Linux :

first, I want to emphasize the fact I am not disappointed, as I bought it for my minimalist dawless setup (Roland Verselab + Arturia Minifreak) and use it on my PC with the bundled software “as a bonus”.

  • the keyboard itself works out of the box (all buttons & controllers) with all my software
  • the “Custom” mode can be 100% edited from the keyboard itself for my dawless use case
  • the “DAW” mode works well in native Linux Bitwig, is perfectly integrated, displays the contextual information etc.
  • I can install the bundled Arturia instruments on Linux, provided I have installed Wine / Wineasio if low latency is needed / Yabridge if DAW integration is needed. I have good performance (1.33 milliseconds of lag) on a 10 year-old computer.
  • the “Arturia” mode is useful as it sends the relevant midi CCs to the Arturia instruments, but the screen is not supported it seems. Maybe there is a work-around.
  • I cannot update the firmware from Linux. Workaround : USB installation of unregistered Windows just to make the update every 6 months or so. Manageable.

So, that’s indeed not 100% but pretty good. For a beginner / “Joe” user, obviously, only native Linux software will be used (and work very well - and there are some great ones). For a more advanced user, Arturia VSTs will work very well through virtualization layers. Now, I would love semi-official support and a work-around to get the screen to work with Arturia instruments. (so that I don’t have to stick to my PC screen when playing with the instruments)

EDIT

Oh my, I realize, the OP already summed up everything I said, ahah, sorry about that.
So, can we actually do something about it (I mean, getting in touch with the Arturia dev team) ? Every Arturia piece of software and hardware “almost” work on Linux, just a few tiny bits seem to be missing.

Is it true the Astrolab is actually running Linux ? This would mean… Everything which is required actually exists !

I am pretty sure the only thing is they don’t want to commit to customer support for a fraction of their users. But really, considering the concerns regarding the GAFAM situation, and considering the good state of low latency audio under Linux (with recent distros & Pipewire), there could be more incentive to switch…

As far as I am concerned, I am kinda OK to dual boot just for updates. But I miss the capability to use the Keylab MK3 display to select the instruments. It’s a PITA to have to use the computer for this.

Hey, long time debian user here.

A friend of mine bought a keylab 61 mkii a while back and I got everything working with it. I needed an extra MIDI controller and since I got invested in Arturia softwares which work fine with wine, I got myself a keylab 3, because of its integration with Bitwig Studio which I use daily. So after registration and firmware update from my wife’s macbook (because the infamous USB MIDI driver can’t be working in wine, and there should be NO need of such driver in linux …), I was disappointed to see that the Analog Lab presets were not showing on the keylab screen (while it worked fine from the macbook).

I find this a little strange because the screen of my friend’s keylab mkii shows the current selected preset and preset browsing shows on the little screen as well. I mean, all the functions work in the mk3, but why doesn’t the screen display anything sensible unlike the mkii ??

It’s not a deal breaker, but for a USB class compliant MIDI controller, I find this really lousy. In any case, since the mk3 is for my wife’s stage performance relying on a non-linux laptop , I don’t mind that much but still, I had expected better integration from such a high-end MIDI controller boasting full integration with Bitwig. And since Bitwig supports linux, no matter how fringe the linux community is compared to mac and win, Arturia can’t possibly turn a deaf ear to us linux users, can they ?

1 Like

This is probably a message in a bottle, but I dropped the following message to the Arturia support team :slight_smile:

"Dear Arturia team,

I am the happy owner of a Keylab MK3 (regular).

Even if unsupported, it works almost perfectly under Linux.

I have a minor issue when using Arturia plugins on Linux (through WINE)

  • the plugins work perfectly with low latency (WINE + wineasio + pipewire).

  • my KeyLab works perfectly out of the box

  • however, the plugins do not detect my MIDI keyboard as a Keylab MK3 but as a generic keyboard.

→ if I select the keyboard type manually in the Arturia plugins configuration, it works as expected but there are 2 problems :

  1. I have to re-select “Keylab MK3” in the configuration each time I restart the plugin

  2. the Keylab screen does not display any information / does not allow to select the instrument (in “Arturia mode”).

I am confident this is extremely close to working perfectly - as the Astrolab runs Linux. Would it be possible to unofficially either release the Linux version or at least force the plugin to use the Keylab screen ?

Thank you so much <3"

Hey Bidinou,

I wouldn’t hold my breath but it’s worth a try, if more linux users are pestering them, who knows ? :slight_smile:

I would have added the following: the screen feedback with the mkii works, and I believe Analog Lab remembers the mkii when fired up again. So if it works with the mkii, why is it broken with mk3 ?

T.

1 Like

Hello.

I understand your frustration but we do not support Linux so I would not expect a lot from our support that must prioritize users that are using the officially supported platforms.

That’s not that easy, the embedded versions of our plugins are quite different from the original desktop ones. It would require quite a lot of work to release Linux versions, even unofficially.

I think you might be able to fix that issue in your wine setup.
The KL / AL integration works using midi, if you succeed to play notes with the controller, you may be able to fix the integration somehow. I’m no expert in this field so I can’t really point out what’s going on but I’m confident that it’s solvable.

Cheers !

1 Like

Hi Tim,

thanks for your reply, much appreciated ! :slight_smile: Hellos and congrats to the team for their hard work !

Hmm, I guess Linux support might be difficult to add as an afterthought, but maybe it could fit in a longer time roadmap ? Well, difficult to know if it would be worth financially, but it would make sense, given the uncertainties on the behavior of the GAFAMs in the coming years… And considering at long last Linux offers out of the box low latency audio + distro agnostic ways of distributing software.

Regarding the KL MK3 screen <> Plugin integration : does it use some kind of custom protocol that would require the Windows driver ? If we could figure out what is missing, maybe it could be fixed on the WINE side indeed :slight_smile:

Thanks again,
take care

After making some random searches, I stumbled upon this :
https://linuxmusicians.com/viewtopic.php?t=25885

"I would like to share with you a small tool which may be helpful if you have trouble getting your MIDI devices recognized in Wine applications due to having ALSA-generated names.

Most MIDI-controllable software allows the user to choose from a list of devices, but some software just expects a certain device to appear with a particular name or property. The fact that ALSA usually generates different names than native Windows winmm would can cause issues here."

I don’t have the time to test right now, but maybe it is the reason why the detection does not work ? Anyone who could share the exact name of the device under Windows ?

Because I like Linux, I can only agree, but I’m not in charge of roadmaps :wink:

No, only SYSEX.

Here you go, indeed the MIDI name must be the same as on Windows to be working.
If you succeed to get the same controller MIDI name as on Windows, it will probably work !!

If it works, it would be great if you could share a little tutorial for other Linux users !

Cheers !

Hi ! I managed to substitute the peripheral name but it doesn’t seem enough.
I also need a “man_id” and “prod_id” from the “midiXXXGetDeviceCaps” structure.
I’ll try to dual boot on a Windows stick to figure that out.

Can any windows user make a screenshot of his MIDI settings in Analog Lab for instance ?

cheers !

From the github issue of this MIDI spoofing app, you could try “replace_man_id”: 65535, “replace_prod_id”: 65535, it seems that that’s what windows is using. I have no windows box here so I can’t check any of this though.

Tadaaa, it works !

Tutorial :

{
"log": "midi_rename.log",
"popup": true,
"popup_verbose": false,
"rules": [
{
"match_name": "KeyLab 61 mk3 KeyLab 61 mk3 MID",
"replace_name": "KeyLab 61 mk3 MIDI",
"replace_man_id": 1,
"replace_prod_id": 102,
"replace_driver_version": 2560
},
{
"match_name": "KeyLab 61 mk3 KeyLab 61 mk3 DAW",
"replace_name": "KeyLab 61 mk3 DAW",
"replace_man_id": 1,
"replace_prod_id": 102,
"replace_driver_version": 2560
}
]
}
  • start the Arturia instrument standalone
  • That’s it ! The MK3 screen & buttons work as expected :slight_smile:

Now, this works when starting the standalone version of an Arturia instrument. I have to check how to do it in a global way so that it also works with VSTs from DAWs.

1 Like

Hey, nice!

I tried it as well, does not work at all. Which wine version and Analog Lab V are you using ?

EDIT: found the problem, copy-pasting from the forum introduces some subtle character differences, the double-quotes are not correct and misinterpreted by the json parser. The text file should have the usual straight double quotes, not the ones used in the forum font which for some reason is preserved in my emacs.

My fault, didn’t use the “pre-formatted text” tag. Fixed :slight_smile:

BTW, I didn’t check, but maybe only replacing the name of the device is sufficient. I didn’t have the right name when I first tried (“MIDI” at the end of the label and not “MID”).

Now, remaining issue : figure out how to get it work when used through yabridge. What I noticed is that when I started BitWig while the standalone Analog Lab was running, the screen stopped working. (but the keyboard was still detected by Analog Lab).

OK. It seems to break Yabridge.

I tried to put the dll in the .wine/drive_c/windows/system32/ with the config file in ~/ then started bitwig. I got the popup indicating the rules were loaded. Then, Bitwig never managed to communicate with the VSTs.

I filed bugs reports here :
yabrdige + winmm_midi_rename : Plugin host does not respond · Issue #424 · robbert-vdh/yabridge · GitHub for Yabridge
and there :
winmm.dll replacement breaks Yabridge · Issue #7 · SanderVocke/winmm_midi_rename · GitHub for winmm_midi_rename

Cheers !