Mixxx, The Real Time Guide for Ubuntu Oneiric Ocelot 11.10 and derivates

Da My-Lab.

There's quite a lot of tricks I discovered in time which enables you to reach that 5ms real-time performance out of your shining new ubuntu installation. But, let's go with an order.

Mandatory: you have already installed & configured jackd and mixxx to play niceley together (and this includes making yourself member of audio group, logging in and back, enabling real time on jackd, configuring mixxx to use jack), now all you need is to tune their performance. So, let's get on.

  • First of all: rise jack real-time priority to 80, and if you don't use line-ins, set it to Playback only mode.
  • Don't use closed drivers. That's always a good a idea; it's a wonderful idea if you're looking for hard real-time performance. And I mean: all closed drivers. Disable nvidia&ati closed ones, and install its relative open source counterparts: nouveau & radeon with Gallium3d support (which is enabled by default in ubuntu Oneiric Ocelot 11.10), so it's included among your open source drivers, once you remove the propertary ones. Even wireless might be tainted with propertary modules, hence, while you mix, disable it. You do not need it.
# Beware! This might slow down your system for daily operations!
# Skip this step for now, apply only if you're desperately looking for real-time performance.
 sudo apt-get remove --purge xorg-driver-fglrx fglrx* nvidia-*
 sudo apt-get install --reinstall libgl1-mesa-glx libgl1-mesa-dri
 sudo dpkg-reconfigure xserver-xorg
# If you've got an nvidia video graphic card, consider upgrading your drivers instead (290.xx branch):
sudo apt-add-repository ppa:ubuntu-x-swat/x-updates
sudo apt-get update
sudo apt-get install nvidia-current
sudo apt-get upgrade
sudo reboot
  • Then: don't use 3d desktop manager which are out there. They weight a lot. Use their 2d fallback mode instead. I personally prefer the ubuntu-unity-2d fallback, which is nice. If icons are too big for you, please consider this solution: see here https://answers.launchpad.net/unity-2d/+question/175008
  • Install the lowlatency kernel and boot with it. It's available here: https://launchpad.net/~abogani/+archive/ppa If you need kernel headers, enable backport updates in synaptic, then you'll be able to install headers for lowlatency and play with dkms dependant modules (such as i.e. console midi driver)
  • If your system still boots in a generic kernel, consider holding SHIFT while the system boots. You'll be greeted by grub; where you'll be able to select a proper kernel
  • Raise mixxx priority, by issuing
renice 20 -p [mixx pid]
  • Last: disable all unecessary stuff while mixxx: close firefox, disable the wireless, keep mixxx in a window with a clean desktop underneath.

That's all. Have a great mixxxing!

With this tricks, I achieved 5ms of latency, by having 2 buffers of size 128 on a lenovo 3000 N200, dual core Pentium M processor @ 1,73GHz, 2Gb of RAM, internal hard drive Samsung Spinpoint M8 (don't use external hard drive, and, absolutley don't use external hard drive formatted with NTFS at all, they go with a userspace driver, which is bad for realtime) 1TB @5400 rpm, Hercules Dj Console Mk2 @44100, 4-output mode via USB. I use only flac files. Please, don't use any of that mp3s. Mp3s are known for killing good music.