Nice class compliant DJ controller for a Linux user?

Apologies in advance as this has been asked before but the existing threads with similar questions are all a few years old and I didn’t want to necro them.

I recently decided to get back into DJing and splurged on a DDJ-1000 before realizing its audio interface is not class compliant so I’m planning to return it and pick up something else. I’m primarily a Linux user and I’d like a controller that works without too much effort.

So my question is, what would be a nice DJ controller for Linux? Budget wise as long as it’s within the price of the DDJ-1000 that would be fine. I’ll list some of my own research below.

It seems like the nicest class compliant offering from Pioneer is the DDJ-400 which looks cool but it’s definitely a significant step down in terms of features. The price is great but I’d definitely like to have 4 decks.

The S4 Mk3 looks perfect but I’m having a hard time finding whether or not it’s class compliant. This page on NI’s site only mentions the Mk2:

Whereas this support request mentions the Mk3 is class compliant but who knows how reliable that is:

A few other interesting looking options are the Reloop MIXON 4 and either Denon MC6000Mk2 or MC7000, all of which are probably plenty feature packed for me. I don’t see any mention of the Reloop on the hardware page of the Wiki but it looks like the Denon controllers are officially and community supported respectively. From the Denon website both of those claim to be class compliant for Mac but require a driver for Windows; not sure what that means for Linux.

Anyways of all of these options, does anyone have opinions on a good controller choice for Linux? I think I’m leaning towards the Denon MC6000Mk2 at this point as it looks like it has everything I need and I like that it’s officially supported; however, I’d like to be sure it will work well on Linux before committing to buying another controller. Thanks in advance!

Edit: I just realized the compatibility section on the MC7000’s wiki page clearly documents its Linux compatibility. :smiley: That’s probably what I’ll end up going with as I much prefer the layout of its 16 pads.

I’ll be getting a Kontrol S4 Mk3 soon. AFAIK it is a class compliant HID and audio device. The screens use a separate USB bulk endpoint with their own protocol. Also, Mixxx doesn’t really support motorized jog wheels yet. We’re in the early stages of designing a new controller mapping system and will reimplement scratching from scratch so it can handle motorized wheels. This will be a ton of work which will take at least months, perhaps over a year to get it 100% working including the screens.

The Denon MC7000 is a fine choice. If you can find a used Kontrol S4 Mk2, that’s another good choice.

Thanks for the input! I returned the DDJ and picked up the MC7000. Looking forward to using it :slight_smile:

I think I’m picking up an MC7000 to replace my janky Hercules DJControl Compact and M-Audio Oxygen8 combo.

Please let me know how it treats you. I’m very interested to hear more about how it works with Mixxx.

Well-built MIDI device, class-compliant (with some quirks that required an ALSA patch recently), good value for money.

Hey - I am the person who started the MC7000 support end of last year, have worked with the Alsa team to get the audio interface working, wrote the mapping with quite some help from the dev team here and also maintain the wiki page.

I am using the MC7000 on KDE neon that is built upon Ubuntu 18.04. Using for radio streaming, podcasts and private gigs.

The mapping is quite complete except secondary PAD functions, in some cases not same as in Serato. Check the wiki page. I hope that it is all clear from there.

As the support is fairly new I didn’t get much feedback yet. Appreciate yours!

Have fun with the MC7000. Cheers!

1 Like

I’ve had my MC7000 for two days running Mixxx 2.3 under Ubuntu Studio 20.04 and it’s flawless. There are a couple things in the mapping that could definitely use some updates and tweaks (coloured hotcues, for example), but it is very nice to work with as is.


I am happy for all feedback… Colored hot cues was an option for Mixxx 2.3 but I’d need to rewrite a lot of the script. This will be implemented for sure later. If you got any other point then please let me know.
Maybe you could even dig into the script yourself and help improving functionality. Cheers mate

Colored hotcues shouldn’t require a major rewrite to implement.

Hi Be. Jan offered to look into that but said it would be a rewrite to get into component based scripting which in first place I didn’t. This is what makes a rewrite needed. I am happy if you could propose an easy way. I gonna implement it… sure I could each button give a dedicated colour but this wouldn’t be configurable. Cheers mate.

The Components library makes it easier to make use of colored hotcues. However, it’s not hard to implement without Components. I just did that for the Kontrol S2 Mk2. Documentation is on the wiki.

Oh nice. I gonna look into that when back from camping… thanks for the hint and Cheers!

My Kontrol S4 Mk3 arrived and it is indeed a class compliant audio and HID device. I played with it using Traktor on my friend’s laptop and this controller is freaking awesome. The motorized wheels are so fun. The buttons for what Traktor calls Mixer FX are really fun too. All of the LEDs are full color and plenty bright to see in sunlight.


Hello and thanks for the awesome software. I’ve been using Mixxx in Linux for a few years now, and today I received a new controller, the S4 Mk3 . Looks great. Whilst the audio device of the NI is recognised by my Ubuntu 20.4 Cinnamon Remix with Ubuntu Studio addon, the controller part isn’t. Could this be related to the kernel, 5.4.0-45-lowlatency? I’ve also tried Ubuntu 20.10 preview with 5.8 kernel, same issue. Fedora 32 with kernel 5.8.6 recognises both audio and controller parts of the S4 Mk3. if necessary, I will keep a separate Fedora 32 install to be able to run Mixxx with the S4mk3. If you know of a trick to make it work in Ubuntu, I’d be grateful for any info. Thanks!

Sounds like a udev problem -

Did you install using the PPA on ubuntu? And which version?


Thanks for your response and suggestion. I’ll give the udev thing a try. Yes, I use the mixxxbetas ppa. Current version installed is 2.3.0~beta~git7583-0ubuntu1~2.3~git7583~focal

You were right. It was a udev problem. The controller is now detected. Which preset would you recommend I use for now since I can’t find one for the S4Mk3?

I am uncertain how different the new controller is from the mk2 (which I own and wrote some of the mappings for). You could try the mk2 mapping and see what happens. - try running mixxx --controllerDebug - I am 99% certain the screens will not work at least if the mapping works at all.

I tried the mk2 mapping. Not much luck with it.

I believe there is discussion here: