[Ardour-Dev] What do all the drivers do?

Paul Davis paul at linuxaudiosystems.com
Fri Nov 21 23:01:27 PST 2008

On Sat, 2008-11-22 at 06:52 +0000, John Emmas wrote:
> A couple of days ago I fired up Ardour (2.5) and found that it wasn't
> replaying any audio.  The meters were going up & down but nothing was
> getting sent to my sound card.  It took a bit of tracking down but all that
> had happened was that the driver had somehow got set to 'Dummy'.  I set it
> back to 'ALSA' and everything sprung back into life.
> However, being the curious type, I decided to try the other listed drivers
> (OSS / NetJACK etc).  AFAICT all they did was to produce an error message
> along the lines "No devices found for driver OSS" (or NetJACK, or whatever).
> I took a look at the relevant code in gtk2_ardour/engine_dialog.cc and found
> that the corresponding enumeration functions
> (EngineControl::enumerate_netjack_devices() etc) simply don't do anything.

ALSA = default backend for Linux audio
OSS  = backend for use on systems with OSS installed, which on Linux is
         an older, deprecated device driver system for audio but also
         exists on Solaris and a couple of other "wierd" unix systems
Dummy = not connected with any audio hardware; uses system clock to
        drive the JACK graph
NetJACK = connects to a JACK master instance via the network and is 
        "driven" by it

since you almost certainly don't have netjack installed, it won't work
for you. OSS might have worked if you have ALSA's OSS emulation enabled.
Dummy was clearly working as planned - JACK runs but there is no audio
in or out.

at a more basic level, a JACK backend is a dynamically loaded object
that the JACK server uses to control the execution of the graph. the
backends generally do this by blocking on something, normally audio i/o
via a h/w device, but it could be network i/o or a timer. in most cases
(all except "dummy"), it also has ports and so is a participant in the

More information about the Ardour-Dev mailing list