The Open Lighting Project has moved!

We've launched our new site at This wiki will remain and be updated with more technical information.

LLA and Q Light Controller OSX Tutorial

Jump to: navigation, search


To show the steps to get the Enttec DMX USB Pro interface working with the Linux Lighting Architecture under OS X. Also getting the Q Lighting Controller (QLC) to work with LLA.


I have used the page LLA, OpenDMX USB and Q Light Controller Tutorial as a template because it was well written and made sense.

Having used QLC in Linux with dmx4linux and an open dmx usb interface in the past I was excited to have a Mac OS X port of QLC and a DMX USB Pro interface with OS X drivers.

Operating System

This process was completed on a Mac OS X Leopard 10.5.6 and 10.5.7 system with Xcode 3.2.1 and Qt Framework 4.5.1

LLA and Q Light Controller on OSX

This is a Tutorial for building and installing LLA and Q Light Controller with an Enttec USB Dmx Pro interface.

Prerequisite packages


XCode contains some of the necessary programs and libraries to compile LLA and QLC.

Qt Framework

QLC uses the Qt Framework, so might as well have the newest one.


MacPorts is used as a source for many of the tools needed.

Once you have these core packages installed, continue

Helper progams

sudo port install git-core pkgconfig protobuf-cpp cppunit unittest-cpp libtool wget

Download and Install the Enttec DMX USB Pro driver

Install the correct driver depending on if you have an Intel or PPC architechiture machine.

Test the driver

Plug in your dongle!! Hopefully all will go well, and if you type:

sudo dmesg

you should see something like:

FTDIUSBSerialDriver:        0  4036001 start - ok

Download and install LLA

LLA is Linux Lighting Architecture, a general framework for lighting applications in Linux. It's available as a live CD, but we're just using the package as a way to interface QLC with the USB driver. More info about LLA on its webpage.

Install the packages

Checkout LLA

  mkdir svn
  git clone
  cd lla

Fix libltdl/

Somehow this got broken. But this fixes it. For now.

  glibtoolize --ltdl --force --copy
  cp /opt/local/share/aclocal/pkg.m4 config
  cp /opt/local/share/aclocal/* libltdl/m4/

If glibtoolize fails for some reason, make sure you have the libtool sources

Set some Environment Vars

  export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:/usr/local/lib/pkgconfig
  export CPPFLAGS="-I/opt/local/var/macports/software/protobuf-cpp/2.0.3_0/opt/local/include/"
  export LDFLAGS="-L/opt/local/var/macports/software/protobuf-cpp/2.0.3_0/opt/local/lib/ -L/usr/local/lib/ -L/opt/local/lib/"

Run autoreconf

If this is the first time run with -i to install the missing files and --force to make up for ./libltdl wierdness

 autoreconf -i --force

Do the usual steps

 make check
 sudo make install

Test the installation

With your dongle connected as in section 3, you're now ready to test. Connect a DMX device up to your dongle, make sure you know the channel number it's on, make sure it's working correctly, make sure you got the polarity in your DMX lead right, etc. etc. Being sure that the dongle/hardware/software combination is the only weak link will save a lot of hair-pulling...

Edit your ~/.lla/dmxusbpro.conf file:

vi lla-usbpro.conf

Add the following string, replacing the X's for what you have listed in /dev

device = /dev/cu.usbserial-XXXXXXXX

First, start the daemon with debug mode on:

llad -d 3 -f -s

Next, in another terminal find out what number the OpenDMX device is:


you should get something like:

Device 2: Enttec Usb Pro Device
  port 0, capability IN
  port 1, capability OUT

If you can't see 'Enttec Usb Pro Device' in there somewhere, then you haven't got the driver installed properly.

Assuming everything is OK, you need to patch this device so we can use it:

lla_patch -d2 -p1 -u0

(replace -d2 with whichever device number is your Usb Pro)

now do:


and it should say

Device 2: Enttec Usb Pro Device
  port 0, capability IN
  port 1, capability OUT, universe 1



and play with the console!

Don't forget to remove your test patch afterwards:

lla_patch -r -d2 -p0 -u0

Build and Test QLC

svn co qlc
cd qlc
qmake -spec macx-g++
sudo make install
lla_patch -d2 -p1 -u1
llad -s -f

  • Click on Manager
  • Select Outputs
  • Double-click Universe 1
  • Check the box under LLA Output Plugin for 'LLA Output 1'
  • Click Ok
  • Close the Output Manager
  • Click the Parcan icon, add a fixtue, test it out in the console!