jackd (1)
NAME
jackd, jackstart - JACK Audio Connection Kit sound server
SYNOPSYS
jackd [ options ] -d driver [ driver options ]
jackstart [ options ] -d driver [ driver options ]
jackd --help
DESCRIPTION
jackd invokes the JACK audio server daemon. When using JACK's built-in
support for realtime capabilities, use the jackstart command, instead.
All options are the same.
JACK is a low-latency audio server, originally written for the
GNU/Linux operating system. It can connect a number of different JACK
client applications to an audio device, and also to each other. Most
clients are external, running in their own processes as normal applica-
tions. 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: syn-
chronous execution of all clients, and low latency operation.
For the latest JACK information, please consult the web site,
<http://jackit.sourceforge.net>.
OPTIONS
-h, --help
Print a brief usage message describing the main jackd options.
These do not include driver options, which are obtained using
the --help option for that specific driver, instead.
-a, --asio
Force absolute realtime behaviour on the system. Rather than
allowing clients to take a time determined by the kernel, they
are determined to have timed out on receipt of the next inter-
rupt from the audio interface. This only makes sense when used
with an ASIO-style configuration where there are 2 periods per
buffer (see --nperiods). It is safe to omit this parameter, if
you don't need to enforce strict realtime limits. It can be
useful for testing the realtime behavior of a new JACK clients.
-t, --timeout int
Set client timeout limit in microseconds. The default is 500
msec when not in realtime mode (see: -R).
-R, --realtime
Use realtime scheduling. This is needed for reliable low-
latency performance. It requires jackd to run with special
scheduler and memory allocation privileges, which may be
obtained in two ways. The first method is to run jackd with
root privileges, which means that all JACK clients must also run
as root. The second method requires a kernel with "POSIX draft
capabilities" enabled (see the <linux/capability.h> include
-v, --verbose
Give verbose output.
-V, --version
Print the current JACK version number and exit.
-d, --driver driver [ driver-options ]
Select the output driver. The only driver currently documented
is alsa (see below).
ALSA DRIVER OPTIONS
-h, --help Print a brief usage message describing only the
alsa driver options.
-d, --device name
The ALSA pcm device name to use ("default" if none specified).
-r, --rate int
Specify the sample rate. The default is 48000.
-p, --period int
Specify the number of frames between JACK process() calls. The
default is 1024. If you need low latency, set -p as low as you
can go without seeing xruns. A larger period size yields higher
latency, but makes xruns less likely.
-n, --nperiods int
Specify the number of periods in the hardware buffer. The
default is 2. The period size (-p) times --nperiods times four
is the JACK buffer size in bytes.
-D, --duplex
Provide both capture and playback ports (the default).
-C, --capture
Provide only capture ports.
-P, --playback
Provide only playback ports.
-H, --hwmon
Enable hardware monitoring of capture ports. This is a method
for obtaining "zero latency" monitoring of audio input. It
requires support in hardware and from the underlying ALSA device
driver.
When enabled, requests to monitor capture ports will be satis-
fied by creating a direct signal path between audio interface
input and output connectors, with no processing by the host com-
puter 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.
-s, --softmode
Ignore xruns reported by the ALSA driver. This makes JACK less
likely to disconnect unresponsive ports when running without
--realtime.
-z, --dither [rectangular,triangular,shaped,none]
Set dithering mode. If none or unspecified, dithering is off.
Only the first letter of the mode name is required.
EXAMPLES
Print usage message for options specific to the alsa driver.
jackd -d alsa --help
Run the JACK daemon with realtime priority using the first ALSA hard-
ware card defined in /etc/modules.conf. This must be run on a kernel
with capabilities enabled.
jackstart --realtime --driver=alsa --device=hw:0
Run the JACK daemon with low latency. A reasonably well-tuned current-
generation system with a decent sound card and a low-latency kernel
with capabilities enabled can handle these values reliably. Some can
do better. If you get xrun messages, try a larger buffer. Tuning a
system for low latency is challenging. The JACK FAQ,
<http://jackit.sourceforge.net/docs/faq.php> has some useful sugges-
tions.
jackstart -R -d alsa -d hw:0 -p 128 -n 3 -r 44100
Run jackd with realtime priority using the "sblive" ALSA device defined
in ~/.asoundrc. Apply shaped dithering to playback audio. This must
be run as root.
jackd -R -d alsa -d sblive --dither=shaped
Run jackd with no special privileges using the "sblive" ALSA device
defined in ~/.asoundrc. Any xruns reported by the ALSA driver will be
ignored. The larger buffer helps reduce data loss. Rectangular
dithering will be used for playback.
jackd -d alsa -d sblive -p1024 -n3 --softmode -zr
SEE ALSO:
<http://www.alsa-project.org>
BUGS
Please send bug reports to <jackit-devel@lists.sourceforge.net>.
AUTHORS
Paul Davis and others.
Manpage originally written by Stefan Schwandter <e9925373@stu-
dent.tuwien.ac.at> and later adapted by Jack O'Quin <joq@joq.us>.