16.3. Launching Mixxx from the Command Line

To launch Mixxx using the command line:


Locate the folder where Mixxx is installed and copy the file path. You can also obtain the file path by right clicking on the Mixxx icon and then choosing ‚Properties‘. Copy the path and paste it in terminal and add \mixxx at the end - everything should be inside quotes. Press Enter. The entire command will look like this

"C:\Program Files\Mixxx\mixxx"

Similarly, for macOS, the command will be

GNU/ Linux

If Mixxx is in your system’s search path ($PATH), you can just type


Command line options

Mixxx is designed to be as user-friendly as possible. As such, its command line options are only useful for development or debugging, as they make these tasks easier. Command line options are case-sensitive.

To launch Mixxx with any of these command line options, simply append the option to the base command for your operating system. For example, to launch Mixxx in developer mode on Windows, type this in terminal

"C:\Program Files\Mixxx\mixxx" --developer

In addition to these options, it is possible to specify one or more music file(s) on the command line. These will be loaded at start-up. Each file you specify will be loaded into the next virtual deck. For a list of supported file types, go to Compatible file formats.

--resource-path PATH

Top-level directory where Mixxx will look for its resource files such as MIDI mappings, overriding the default installation location.

--settings-path PATH

Top-level directory where Mixxx will look for user settings files such as the library database and preferences configuration file.


Do not use OpenGL vu meter


Log all controller data Mixxx sends and receives as well as scripts it loads.


The controller mapping will issue more aggressive warnings and errors when detecting misuse of controller APIs. New Controller Mappings should be developed with this option enabled!


Enable developer mode. Includes extra logs, stats on performance and the Developer tools menu as well as tooltips and logs useful for skin developers.


Disable OpenGL widgets (scrolling waveforms, spinnies) to work around GPU driver bugs. If Mixxx is crashing on startup, try using this.

  • Automatically loads empty waveforms

  • Disables spinning vinyl widgets

  • Disables synchronization polling

  • Doesn’t open controllers by default

--color <color>

[auto|always|never] Use colors on the console output.

--locale LOCALE

Use a custom locale for loading translations (e.g fr)

-f, --full-screen

Start Mixxx in full-screen mode.

--log-level LEVEL

Set the verbosity of command line logging.




Critical/Fatal only


Above + Warnings


Above + Informational messages


Above + Debug/Developer messages


Above + Profiling messages

--log-flush-level LEVEL

Set the logging level at which the log buffer is flushed to mixxx.log. LEVEL is one of the values defined at --logLevel above.


Breaks (SIGINT) Mixxx if a DEBUG_ASSERT evaluates to false. A debugger can then be used to continue. This disables the MIXXX_DEBUG_ASSERTIONS_FATAL flag which can otherwise lead to a time consuming full rebuild.

-h, --help

Display this help message and exit

16.4. Developer tools

To start Mixxx in Developer mode with a custom resource directory with MIDI and HID logging enabled, type the following line into the terminal and hit return:

./mixxx --controller-debug --developer --resource-path res

Experiment modes for rapid development and testing

  • Adds a static Experiment class with a tri-state mode flag that indicates whether the experiment mode is OFF, BASE, or EXPERIMENT.

  • Adds Developer ‣ Stats:Experiment Bucket and Developer ‣ Stats:Base Bucket. Each one toggles between OFF and BASE/EXPERIMENT so you can choose exactly what time spans you would like to collect in your base and experiment buckets.

  • Updates StatsManager to segment collected stats into a base and experiment bucket. This allows you to quickly measure the difference a code change has on relevant counters / timers within the same execution of Mixxx.

This is useful for quickly enabling and disabling a code change without a re-compile/re-run cycle to get an anecdotal sense of how it „feels“ as well as a quantified sense of how it differs in terms of stats Mixxx collects.

All stats collected via the usual Counter/Timer/ScopedTimer/etc. tools are segmented into a BASE STATS and EXPERIMENT STATS section printed to the log on exit.