Erhan

IT-Security Engineer

Running Pioneer Rekordbox on Linux

Posted in DJ on Nov. 17, 2019

About Rekordbox

Pioneer's Rekordbox is one of the top commercial DJ software in the market. Beside preparing and managing your music files for DJ sets, you can play your sets live with your own Pioneer controller.

Offical support by Pioneer

Officially there is no Linux support from Pioneer. There may not be a large enough market for the additional support and engineering effort required. But Pioneer pushes it a bit farther. Discussing Linux support or compatibility is not allowed on their official forums and threads get closed.

The holy law of the pioneers permits thinking of Linux

Furhtermore, they try to detect if you are running Rekordbox in Wine to stop it.

Why Linux

In my personal opinion, I simply do not want to reboot just to do some DJing. It is possible to run Rekordbox in a virtual machine but I think the energy consumption on a laptop is higher this way. BUT running in a VM has other benefits regarding the trial mode by using snapshots ;).

I bought a license because it was worth it for me and I simply want to run Rekordbox in Linux as well.

How to run Rekordbox in Linux

In my setup, I am using the ArchLinux distribution. Some details may differ for you but the concept is the same.

The first thing you need to install is the latest wine-staging package. You can either check, if your distribution has it in their repository or you can compile it on your own. In ArchLinux the package is called wine-staging.

To install Rekordbox, you simply run the official installer with Wine and install in the default or a custom location. After the setup, you have to run the rekordbox.exe binary in the installation directory.

Change into the folder where rekordbox is installed and run the binary with Wine from there. Somehow it does not start when you do not run it within the same folder and it ends with "Unexpected application error" .

foo@bar:~$  cd ~/.wine/drive_c/Program\ Files/Pioneer/rekordbox*
foo@bar:~$  wine rekordbox.exe 

Even after this, it will still not get past the registration screen because Rekordbox is Wine aware and does some buggy stuff under the hood.

Unexpected errors stopping us from using Rekordbox

To solve this problem, we have to hide Wine from Rekordbox. A way to detect Wine is by checking the exports of ntdll and check for the function wine_get_version. In that case, the system is using Wine. With wine-staging we can disable this. Run the winecfg utility and go to the Staging tab. There you have to enable the radio button next to Hide Wine version from applications.

Disabling Wine version in winecfg

If you run Rekordbox now, you may miss some fonts in the user interface. To solve this install corefonts by using the command winetricks -q corefonts.

Rekordbox finally running in Linux

Now we can run Rekordbox for the first time. There are still some bugs and unsolved problems. For example, if you move the mouse cursor to the bords of a dialogue button, the dialogue starts moving. Another unsolved problem is the usage of USB sticks. USB sticks are not detected the same way as on Windows.

I hope you guys like this small tutorial. Some people on reddit were messaging me already for this.

If you just want to debug the problems without using your own license, you can simply remove the ~\.wine\ folder and reinstall Rekordbox with the installer.

In our next blog post, I will show you how you can use your Pioneer controller in Linux with Rekordbox.

Relevant resources

  • https://bugs.winehq.org/show_bug.cgi?id=45514
  • https://bugs.winehq.org/show_bug.cgi?id=45535
  • https://bugs.winehq.org/show_bug.cgi?id=45543