jackd [options] -d backend [backend-parameters] jackd --help
jackd is the JACK audio server daemon, a low-latency audio server. Originally written for the GNU/Linux operating system, it also supports Mac OS X and various Unix platforms. JACK can connect a number of different client applications to an audio device and also to each other. Most clients are external, running in their own processes as normal applications. JACK also supports internal clients, which run within the jackd process using a loadable "plugin" interface.
JACK differs from other audio servers in being designed from the ground up for professional audio work. It focuses on two key areas: synchronous execution of all clients, and low latency operation.
For the latest JACK information, please consult the web site, <http://www.jackaudio.org>.
When enabled, requests to monitor capture ports will be satisfied by creating a direct signal path between audio interface input and output connectors, with no processing by the host computer at all. This offers the lowest possible latency for the monitored signal.
Presently (March 2003), only the RME Hammerfall series and cards based on the ICE1712 chipset (M-Audio Delta series, Terratec, and others) support --hwmon. In the future, some consumer cards may also be supported by modifying their mixer settings.
Without --hwmon, port monitoring requires JACK to read audio into system memory, then copy it back out to the hardware again, imposing the basic JACK system latency determined by the --period and --nperiods parameters.
For most ALSA devices, the hardware buffer has exactly --period times --nperiods frames. Some devices demand a larger buffer. If so, JACK will use the smallest possible buffer containing at least --nperiods, but the playback latency does not increase.
For USB audio devices it is recommended to use -n 3. Firewire devices supported by FFADO (formerly Freebob) are configured with -n 3 by default.
Print usage message for the parameters specific to each backend.
Run the JACK daemon with realtime priority using the first ALSA hardware card defined in /etc/modules.conf.
Run the JACK daemon with low latency giving verbose output, which can be helpful for trouble-shooting system latency problems. A reasonably well-tuned system with a good sound card and a low-latency kernel can handle these values reliably. Some can do better. If you get xrun messages, try a larger buffer. Tuning a system for low latency can be challenging. The JACK FAQ, http://jackit.sourceforge.net/docs/faq.php has some useful suggestions.
Run jackd with realtime priority using the "sblive" ALSA device defined in ~/.asoundrc. Apply shaped dithering to playback audio.
Run jackd with no special privileges using the second ALSA hardware card defined in /etc/modules.conf. Any xruns reported by the ALSA backend will be ignored. The larger buffer helps reduce data loss. Rectangular dithering will be used for playback.
Run jackd in full-duplex mode using the ALSA hw:0,0 device for playback and the hw:0,2 device for capture.
Run jackd in playback-only mode using the ALSA hw:0,0 device.
JACK is evolving a mechanism for automatically starting the server when needed. Any client started without a running JACK server will attempt to start one itself using the command line found in the first line of $HOME/.jackdrc if it exists, or /etc/jackdrc if it does not. If neither file exists, a built-in default command will be used, including the -T flag, which causes the server to shut down when all clients have exited.
As a transition, this only happens when $JACK_START_SERVER is defined in the environment of the calling process. In the future this will become normal behavior. In either case, defining $JACK_NO_START_SERVER disables this feature.
To change where JACK looks for the backend drivers, set $JACK_DRIVER_DIR.
$JACK_DEFAULT_SERVER specifies the default server name. If not defined, the string "default" is used. If set in their respective environments, this affects jackd unless its --name parameter is set, and all JACK clients unless they pass an explicit name to jack_client_open().
http://www.jackaudio.org The official JACK website with news, docs and a list of JACK clients.
http://jackaudio.org/email The JACK developers' mailing list. Subscribe, to take part in development of JACK or JACK clients. User questions are also welcome, there is no user-specific mailing list.
http://www.jackosx.com/ Tools specific to the Mac OS X version of JACK.
http://www.alsa-project.org The Advanced Linux Sound Architecture.
Please report bugs to http://trac.jackaudio.org/
Architect and original implementor: Paul Davis
Original design Group: Paul Davis, David Olofson, Kai Vehmanen, Benno Sennoner, Richard Guenther, and other members of the Linux Audio Developers group.
Programming: Paul Davis, Jack O'Quin, Taybin Rutkin, Stephane Letz, Fernando Pablo Lopez-Lezcano, Steve Harris, Jeremy Hall, Andy Wingo, Kai Vehmanen, Melanie Thielker, Jussi Laako, Tilman Linneweh, Johnny Petrantoni, Torben Hohn.
Manpage written by Stefan Schwandter, Jack O'Quin and Alexandre Prokoudine.