DJing on Linux: free software and controllers that work, including the Kontrol S2 MK3

You run Linux and own a DJ controller, but the best-known programs will not install. The good news is that USB controllers work on Linux without drivers: you just need the right software and a couple of precautions. Here is what you need, step by step.

· 4 min read · Enrico Fanucchi

In short: Traktor, Serato and rekordbox do not exist for Linux, but you can mix just fine anyway. You need a recent 64-bit distribution with PipeWire, DJ software that runs on Linux (Mixxx, open source, or 4DJ, free) and a controller with its own sound card, so you get separate master and headphone outputs. With 4DJ the Kontrol S2 MK3 works natively and the most common Pioneer DJ controllers are ready as soon as they are plugged in.

Why Linux looks hard

The DJ software most used in clubs is made for macOS and Windows, and controller drivers are almost always published only for those two systems. On Linux, though, USB controllers work without drivers: the audio side is almost always class compliant (the system sees it as an ordinary sound card) and the controls speak MIDI or HID, which Linux has always understood. The problem is not the hardware, it is finding software that knows what to do with those messages.

What you need

WhatRecommendation
SystemA recent 64-bit Linux (x64 or ARM64): Ubuntu 22.04, Debian 12, Fedora 36 or later. To separate stems locally with 4DJ, better Ubuntu 24.04, Debian 13 or Fedora 39.
AudioPipeWire, now the default on Ubuntu, Fedora and Debian 13. ALSA works too.
Headphone cueingA controller with a built-in sound card, or a card with at least 4 outputs: 2 for the master, 2 for headphones.
ComputerA quad-core CPU and 8 GB of RAM (16 recommended), a 1280 × 800 screen. An SSD loads tracks faster.

Which software

  • Mixxx: open source, the long-standing choice on Linux, with many community mappings.
  • 4DJ: free, for Linux x64 and ARM64 as well as macOS and Windows. It has the layout of club software (decks, mixer, FX and browser where you expect them), makes stems on your own computer, does in-key transitions with SMART SYNC and supports timecode vinyl and CDs.

If you come from Traktor, 4DJ can import your collection (collection.nml, with BPM, keys, beatgrids, hotcues and playlists) and your controller mappings (.tsi). The original files are only read.

The controller: what works right away

With 4DJ the Kontrol S2 MK3 works natively on Linux, sound card included: master and headphones come out of the controller, faders and knobs are read as soon as it connects, and latency is about 8 ms. The S2 MK1, S2 MK2, S3, S4 MK2 and S4 MK3 work too, in Beta, after a two-minute check. The Pioneer DJ DDJ-FLX4, DDJ-400, DDJ-FLX6, DDJ-1000, DDJ-800, DDJ-GRV6, DDJ-REV1, DDJ-REV5, DDJ-REV7 and DDJ-200 are ready as soon as they are plugged in. For any other MIDI controller there is a guided setup: a drawing shows you the control to touch and you touch it on the controller.

USB permissions: why a controller sometimes does not respond

On Linux an ordinary program cannot talk directly to an HID device such as Native Instruments controllers: a udev rule must give the user permission. When you install 4DJ from the .deb or .rpm package the rule is added for you and there is nothing else to do. With the AppImage, the first time you plug the controller in 4DJ asks to enable it: choose Enable and type your password once.

If no program sees the controller, unplug it and plug it back in after the rule is installed, and try another USB port, preferably on the computer itself rather than through a hub.

Latency: no dropouts during the set

Latency is the delay between moving a control and hearing the sound. For mixing, under 10–15 ms is fine. With PipeWire 4DJ asks the system for real-time priority for audio: if it gets it, it runs at about 8 ms, otherwise it goes up to 16 ms so the sound never drops out. On recent distributions the priority is usually granted by rtkit with nothing to do; audio-focused distributions such as Ubuntu Studio set it up already.

Step by step with 4DJ

  1. From the 4DJ page download the right package: .deb for Debian, Ubuntu and Mint, .rpm for Fedora and openSUSE, .AppImage for any distribution (arm64 / aarch64 on ARM PCs).
  2. Install it: sudo apt install ./4dj_1.0.0_amd64.deb or sudo dnf install ./4dj-1.0.0-1.x86_64.rpm, or open the file with your software installer.
  3. Plug in the controller before opening 4DJ.
  4. On first start the assistant asks for the sound card (choose the controller's), your music folders and how many decks you want.
  5. If you already have a collection, use Import collection (.nml) in the browser.

Mistakes to avoid

  • Using the computer's sound card for everything: with only two outputs you cannot hear the next track in your headphones.
  • Going through a cheap USB hub: the most common cause of controllers that disconnect or audio that skips.
  • Preparing stems during the gig on a low-power PC: on a low-power processor a track takes a few minutes. Prepare them beforehand from the browser.
  • Updating the system on the day of the gig: always test the full set after an update.

Frequently asked questions

Does Traktor run on Linux?

No, Native Instruments publishes Traktor only for macOS and Windows, and Serato and rekordbox have no Linux version either. On Linux you use software such as Mixxx or 4DJ, which also imports Traktor's .nml collection.

Does the Kontrol S2 MK3 work on Linux?

Yes, with 4DJ it works natively, sound card included, at about 8 ms of latency. If you install the .deb or .rpm the USB permission is already in place; with the AppImage you enable it once the first time you plug it in.

Can I DJ on Linux without a controller?

Yes, with mouse and keyboard, but to hear the next track in headphones you need a sound card with at least 4 outputs. With only two outputs you hear the master alone.

Which Linux distribution should I use for DJing?

A recent 64-bit one with PipeWire: Ubuntu 24.04, Debian 13 or Fedora 39 and later handle everything, stems included. Ubuntu Studio comes already set up for low-latency audio.