1
.TH "JACKD" "1" "!VERSION!" "!DATE!" ""
3
jackd \- JACK Audio Connection Kit sound server
5
\fBjackd\fR [\fIoptions\fR] \fB\-d\fI backend \fR
6
[\fIbackend\-parameters\fR]
10
\fBjackd\fR is the JACK audio server daemon, a low\-latency audio
11
server. Originally written for the
12
GNU/Linux operating system, it also supports Mac OS X and various Unix
13
platforms. JACK can connect a number of different client applications
14
to an audio device and also to each other. Most clients are external,
15
running in their own processes as normal applications. JACK also
16
supports internal clients, which run within the \fBjackd\fR process
17
using a loadable "plugin" interface.
19
JACK differs from other audio servers in being designed from the
20
ground up for professional audio work. It focuses on two key areas:
21
synchronous execution of all clients, and low latency operation.
23
For the latest JACK information, please consult the web site,
24
<\fBhttp://www.jackaudio.org\fR>.
27
\fB\-d, \-\-driver \fIbackend\fR [\fIbackend\-parameters\fR ]
29
Select the audio interface backend. The current list of supported
30
backends is: \fBalsa\fR, \fBcoreaudio\fR, \fBdummy\fR, \fBfreebob\fR,
31
\fBoss\fR \fBsun\fR and \fBportaudio\fR. They are not all available
32
on all platforms. All \fIbackend\-parameters\fR are optional.
37
Print a brief usage message describing the main \fBjackd\fR options.
38
These do not include \fIbackend\-parameters\fR, which are listed using
39
the \fB\-\-help\fR option for each specific backend. Examples below
40
show how to list them.
42
\fB\-m, \-\-no\-mlock\fR
43
Do not attempt to lock memory, even if \fB\-\-realtime\fR.
45
\fB\-n, \-\-name\fR \fIserver\-name\fR
46
Name this \fBjackd\fR instance \fIserver\-name\fR. If unspecified,
47
this name comes from the \fB$JACK_DEFAULT_SERVER\fR environment
48
variable. It will be "default" if that is not defined.
50
\fB\-p, \-\-port\-max \fI n\fR
51
Set the maximum number of ports the JACK server can manage.
52
The default value is 256.
54
\fB\-\-replace-registry\fR
56
Remove the shared memory registry used by all JACK server instances
57
before startup. This should rarely be used, and is intended only
58
for occasions when the structure of this registry changes in ways
59
that are incompatible across JACK versions (which is rare).
61
\fB\-R, \-\-realtime\fR
63
Use realtime scheduling (default = true). This is needed for reliable low\-latency
64
performance. On many systems, it requires \fBjackd\fR to run with
65
special scheduler and memory allocation privileges, which may be
66
obtained in several ways.
68
\fB\-r, \-\-no-realtime\fR
70
Do not use realtime scheduling.
72
\fB\-P, \-\-realtime\-priority \fIint\fR
73
When running \fB\-\-realtime\fR, set the scheduler priority to
77
Silence any output during operation.
79
\fB\-T, \-\-temporary\fR
80
Exit once all clients have closed their connections.
82
\fB\-t, \-\-timeout \fIint\fR
84
Set client timeout limit in milliseconds. The default is 500 msec.
85
In realtime mode the client timeout must be smaller than the watchdog timeout (5000 msec).
87
\fB\-Z, \-\-nozombies\fR
89
Prevent JACK from ever kicking out clients because they were too slow.
90
This cancels the effect any specified timeout value, but JACK and its clients are
91
still subject to the supervision of the watchdog thread or its equivalent.
95
Unlock libraries GTK+, QT, FLTK, Wine.
97
\fB\-v, \-\-verbose\fR
100
\fB\-c, \-\-clocksource\fR (\fI c(ycle)\fR | \fI h(pet) \fR | \fI s(ystem) \fR)
101
Select a specific wall clock (Cycle Counter, HPET timer, System timer).
103
\fB\-V, \-\-version\fR
104
Print the current JACK version number and exit.
105
.SS ALSA BACKEND OPTIONS
107
\fB\-C, \-\-capture\fR [ \fIname\fR ]
108
Provide only capture ports, unless combined with \-D or \-P. Parameterally set
111
\fB\-d, \-\-device \fIname\fR
113
The ALSA pcm device \fIname\fR to use. If none is specified, JACK will
114
use "hw:0", the first hardware card defined in \fB/etc/modules.conf\fR.
116
\fB\-z, \-\-dither [rectangular,triangular,shaped,none]
117
Set dithering mode. If \fBnone\fR or unspecified, dithering is off.
118
Only the first letter of the mode name is required.
120
\fB\-D, \-\-duplex\fR
121
Provide both capture and playback ports. Defaults to on unless only one
122
of \-P or \-C is specified.
124
\fB\-h, \-\-help\fR Print a brief usage message describing only the
125
\fBalsa\fR backend parameters.
127
\fB\-M, \-\-hwmeter\fR
129
Enable hardware metering for devices that support it. Otherwise, use
134
Enable hardware monitoring of capture ports. This is a method for
135
obtaining "zero latency" monitoring of audio input. It requires
136
support in hardware and from the underlying ALSA device driver.
138
When enabled, requests to monitor capture ports will be satisfied by
139
creating a direct signal path between audio interface input and output
140
connectors, with no processing by the host computer at all. This
141
offers the lowest possible latency for the monitored signal.
143
Presently (March 2003), only the RME Hammerfall series and cards based
144
on the ICE1712 chipset (M\-Audio Delta series, Terratec, and others)
145
support \fB\-\-hwmon\fR. In the future, some consumer cards may also
146
be supported by modifying their mixer settings.
148
Without \fB\-\-hwmon\fR, port monitoring requires JACK to read audio
149
into system memory, then copy it back out to the hardware again,
150
imposing the basic JACK system latency determined by the
151
\fB\-\-period\fR and \fB\-\-nperiods\fR parameters.
153
\fB\-i, \-\-inchannels \fIint\fR
155
Number of capture channels. Default is maximum supported by hardware.
157
\fB\-n, \-\-nperiods \fIint\fR
159
Specify the number of periods of playback latency. In seconds, this
160
corresponds to \fB\-\-nperiods\fR times \fB\-\-period\fR divided by
161
\fB\-\-rate\fR. The default is 2, the minimum allowable. For most
162
devices, there is no need for any other value with the
163
\fB\-\-realtime\fR option. Without realtime privileges or with boards
164
providing unreliable interrupts (like ymfpci), a larger value may
165
yield fewer xruns. This can also help if the system is not tuned for
166
reliable realtime scheduling.
168
For most ALSA devices, the hardware buffer has exactly
169
\fB\-\-period\fR times \fB\-\-nperiods\fR frames. Some devices demand
170
a larger buffer. If so, JACK will use the smallest possible buffer
171
containing at least \fB\-\-nperiods\fR, but the playback latency does
174
For USB audio devices it is recommended to use \fB\-n 3\fR. Firewire
175
devices supported by FFADO (formerly Freebob) are configured with
176
\fB\-n 3\fR by default.
178
\fB\-o, \-\-outchannels \fIint\fR
180
Number of playback channels. Default is maximum supported by hardware.
182
\fB\-P, \-\-playback\fR [ \fIname\fR ]
183
Provide only playback ports, unless combined with \-D or \-C. Optionally set
184
playback device name.
186
\fB\-p, \-\-period \fIint\fR
188
Specify the number of frames between JACK \fBprocess()\fR calls. This
189
value must be a power of 2, and the default is 1024. If you need low
190
latency, set \fB\-p\fR as low as you can go without seeing xruns. A larger
191
period size yields higher latency, but makes xruns less likely. The JACK
192
capture latency in seconds is \fB\-\-period\fR divided by \fB\-\-rate\fR.
194
\fB\-r, \-\-rate \fIint\fR
195
Specify the sample rate. The default is 48000.
199
Try to configure card for 16\-bit samples first, only trying 32\-bits if
200
unsuccessful. Default is to prefer 32\-bit samples.
202
\fB\-s, \-\-softmode\fR
204
Ignore xruns reported by the ALSA driver. This makes JACK less likely
205
to disconnect unresponsive ports when running without \fB\-\-realtime\fR.
207
\fB\-X, \-\-midi \fR[\fIseq\fR|\fIraw\fR]
209
Specify which ALSA MIDI system to provide access to. Using \fBraw\fR
210
will provide a set of JACK MIDI ports that correspond to each raw ALSA
211
device on the machine. Using \fBseq\fR will provide a set of JACK MIDI
212
ports that correspond to each ALSA "sequencer" client (which includes
213
each hardware MIDI port on the machine). \fBraw\fR provides slightly
214
better performance but does not permit JACK MIDI communication with
215
software written to use the ALSA "sequencer" API.
216
.SS COREAUDIO BACKEND PARAMETERS
218
\fB\-c \-\-channel\fR
219
Maximum number of channels (default: 2)
221
\fB\-i \-\-channelin\fR
222
Maximum number of input channels (default: 2)
224
\fB\-o \-\-channelout\fR
225
Maximum number of output channels (default: 2)
227
\fB\-C \-\-capture\fR
228
Whether or not to capture (default: true)
230
\fB\-P \-\-playback\fR
231
Whether or not to playback (default: true)
234
Capture and playback (default: true)
237
Sample rate (default: 44100)
240
Frames per period (default: 128). Must be a power of 2.
243
Driver name (default: none)
246
Audio Device ID (default: 0)
247
.SS DUMMY BACKEND PARAMETERS
249
\fB\-C, \-\-capture \fIint\fR
250
Specify number of capture ports. The default value is 2.
252
\fB\-P, \-\-playback \fIint\fR
253
Specify number of playback ports. The default value is 2.
255
\fB\-r, \-\-rate \fIint\fR
256
Specify sample rate. The default value is 48000.
258
\fB\-p, \-\-period \fIint\fR
259
Specify the number of frames between JACK \fBprocess()\fR calls. This
260
value must be a power of 2, and the default is 1024. If you need low
261
latency, set \fB\-p\fR as low as you can go without seeing xruns. A larger
262
period size yields higher latency, but makes xruns less likely. The JACK
263
capture latency in seconds is \fB\-\-period\fR divided by \fB\-\-rate\fR.
265
\fB\-w, \-\-wait \fIint\fR
266
Specify number of usecs to wait between engine processes.
267
The default value is 21333.
270
.SS NET BACKEND PARAMETERS
273
\fB\-i, \-\-audio\-ins \fIint\fR
274
Number of capture channels (default: 2)
276
\fB\-o, \-\-audio\-outs \fIint\fR
277
Number of playback channels (default: 2)
279
\fB\-I, \-\-midi\-ins \fIint\fR
280
Number of midi capture channels (default: 1)
282
\fB\-O, \-\-midi\-outs \fIint\fR
283
Number of midi playback channels (default: 1)
285
\fB\-r, \-\-rate \fIint\fR
286
Sample rate (default: 48000)
288
\fB\-p, \-\-period \fIint\fR
289
Frames per period (default: 1024)
291
\fB\-n, \-\-num\-periods \fIint\fR
292
Network latency setting in no. of periods (default: 5)
294
\fB\-l, \-\-listen\-port \fIint\fR
295
The socket port we are listening on for sync packets (default: 3000)
297
\fB\-f, \-\-factor \fIint\fR
298
Factor for sample rate reduction (default: 1)
300
\fB\-u, \-\-upstream\-factor \fIint\fR
301
Factor for sample rate reduction on the upstream (default: 0)
303
\fB\-c, \-\-celt \fIint\fR
304
sets celt encoding and number of kbits per channel (default: 0)
306
\fB\-b, \-\-bit\-depth \fIint\fR
307
Sample bit\-depth (0 for float, 8 for 8bit and 16 for 16bit) (default: 0)
309
\fB\-t, \-\-transport\-sync \fIint\fR
310
Whether to slave the transport to the master transport (default: true)
312
\fB\-a, \-\-autoconf \fIint\fR
313
Whether to use Autoconfig, or just start. (default: true)
315
\fB\-R, \-\-redundancy \fIint\fR
316
Send packets N times (default: 1)
318
\fB\-e, \-\-native\-endian \fIint\fR
319
Dont convert samples to network byte order. (default: false)
321
\fB\-J, \-\-jitterval \fIint\fR
322
attempted jitterbuffer microseconds on master (default: 0)
324
\fB\-D, \-\-always\-deadline \fIint\fR
325
always use deadline (default: false)
328
.SS OSS BACKEND PARAMETERS
330
\fB\-r, \-\-rate \fIint\fR
331
Specify the sample rate. The default is 48000.
333
\fB\-p, \-\-period \fIint\fR
334
Specify the number of frames between JACK \fBprocess()\fR calls. This
335
value must be a power of 2, and the default is 1024. If you need low
336
latency, set \fB\-p\fR as low as you can go without seeing xruns. A larger
337
period size yields higher latency, but makes xruns less likely. The JACK
338
capture latency in seconds is \fB\-\-period\fR divided by \fB\-\-rate\fR.
340
\fB\-n, \-\-nperiods \fIint\fR
341
Specify the number of periods in the hardware buffer. The default is
342
2. The period size (\fB\-p\fR) times \fB\-\-nperiods\fR times four is
343
the JACK buffer size in bytes. The JACK output latency in seconds is
344
\fB\-\-nperiods\fR times \fB\-\-period\fR divided by \fB\-\-rate\fR.
346
\fB\-w, \-\-wordlength \fIint\fR
347
Specify the sample size in bits. The default is 16.
349
\fB\-i, \-\-inchannels \fIint\fR
350
Specify how many channels to capture (default: 2)
352
\fB\-o, \-\-outchannels \fIint\fR
353
Specify number of playback channels (default: 2)
355
\fB\-C, \-\-capture \fIdevice_file\fR
356
Specify input device for capture (default: /dev/dsp)
358
\fB\-P, \-\-playback \fIdevice_file\fR
359
Specify output device for playback (default: /dev/dsp)
361
\fB\-b, \-\-ignorehwbuf \fIboolean\fR
362
Specify, whether to ignore hardware period size (default: false)
363
.SS SUN BACKEND PARAMETERS
365
\fB\-r, \-\-rate \fIint\fR
366
Specify the sample rate. The default is 48000.
368
\fB\-p, \-\-period \fIint\fR
369
Specify the number of frames between JACK \fBprocess()\fR calls. This
370
value must be a power of 2, and the default is 1024. If you need low
371
latency, set \fB\-p\fR as low as you can go without seeing xruns. A larger
372
period size yields higher latency, but makes xruns less likely. The JACK
373
capture latency in seconds is \fB\-\-period\fR divided by \fB\-\-rate\fR.
375
\fB\-n, \-\-nperiods \fIint\fR
376
Specify the number of periods in the hardware buffer. The default is
377
2. The period size (\fB\-p\fR) times \fB\-\-nperiods\fR times four
378
(assuming 2 channels 16-bit samples) is the JACK buffer size in bytes.
379
The JACK output latency in seconds is \fB\-\-nperiods\fR times
380
\fB\-\-period\fR divided by \fB\-\-rate\fR.
382
\fB\-w, \-\-wordlength \fIint\fR
383
Specify the sample size in bits. The default is 16.
385
\fB\-i, \-\-inchannels \fIint\fR
386
Specify how many channels to capture (default: 2)
388
\fB\-o, \-\-outchannels \fIint\fR
389
Specify number of playback channels (default: 2)
391
\fB\-C, \-\-capture \fIdevice_file\fR
392
Specify input device for capture (default: /dev/audio)
394
\fB\-P, \-\-playback \fIdevice_file\fR
395
Specify output device for playback (default: /dev/audio)
397
\fB\-b, \-\-ignorehwbuf \fIboolean\fR
398
Specify, whether to ignore hardware period size (default: false)
399
.SS PORTAUDIO BACKEND PARAMETERS
401
\fB\-c \-\-channel\fR
402
Maximum number of channels (default: all available hardware channels)
404
\fB\-i \-\-channelin\fR
405
Maximum number of input channels (default: all available hardware channels)
407
\fB\-o \-\-channelout\fR
408
Maximum number of output channels (default: all available hardware channels)
410
\fB\-C \-\-capture\fR
411
Whether or not to capture (default: true)
413
\fB\-P \-\-playback\fR
414
Whether or not to playback (default: true)
417
Capture and playback (default: true)
420
Sample rate (default: 48000)
423
Frames per period (default: 1024). Must be a power of 2.
426
Driver name (default: none)
429
Dithering mode (default: none)
432
Print usage message for the parameters specific to each backend.
434
\fBjackd \-d alsa \-\-help\fR
436
\fBjackd \-d coreaudio \-\-help\fR
438
\fBjackd \-d net \-\-help\fR
440
\fBjackd \-d dummy \-\-help\fR
442
\fBjackd \-d firewire \-\-help\fR
444
\fBjackd \-d freebob \-\-help\fR
446
\fBjackd \-d oss \-\-help\fR
448
\fBjackd \-d sun \-\-help\fR
450
\fBjackd \-d portaudio \-\-help\fR
452
Run the JACK daemon with realtime priority using the first ALSA
453
hardware card defined in \fB/etc/modules.conf\fR.
455
\fBjackstart \-\-realtime \-\-driver=alsa\fR
457
Run the JACK daemon with low latency giving verbose output, which can
458
be helpful for trouble\-shooting system latency problems. A
459
reasonably well\-tuned system with a good sound card and a
460
low\-latency kernel can handle these values reliably. Some can do
461
better. If you get xrun messages, try a larger buffer. Tuning a
462
system for low latency can be challenging. The JACK FAQ,
463
.I http://jackit.sourceforge.net/docs/faq.php\fR
464
has some useful suggestions.
466
\fBjackstart \-Rv \-d alsa \-p 128 \-n 2 \-r 44100\fR
468
Run \fBjackd\fR with realtime priority using the "sblive" ALSA device
469
defined in ~/.asoundrc. Apply shaped dithering to playback audio.
471
\fBjackd \-R \-d alsa \-d sblive \-\-dither=shaped\fR
473
Run \fBjackd\fR with no special privileges using the second ALSA
474
hardware card defined in \fB/etc/modules.conf\fR. Any xruns reported
475
by the ALSA backend will be ignored. The larger buffer helps reduce
476
data loss. Rectangular dithering will be used for playback.
478
\fBjackd \-d alsa \-d hw:1 \-p2048 \-n3 \-\-softmode \-zr\fR
480
Run \fBjackd\fR in full\-duplex mode using the ALSA hw:0,0 device for
481
playback and the hw:0,2 device for capture.
483
\fBjackd \-d alsa \-P hw:0,0 \-C hw:0,2\fR
485
Run \fBjackd\fR in playback\-only mode using the ALSA hw:0,0 device.
487
\fBjackd \-d alsa \-P hw:0,0\fR
490
JACK is evolving a mechanism for automatically starting the server
491
when needed. Any client started without a running JACK server will
492
attempt to start one itself using the command line found in the first
493
line of \fB$HOME/.jackdrc\fR if it exists, or \fB/etc/jackdrc\fR if it
494
does not. If neither file exists, a built\-in default command will be
495
used, including the \fB\-T\fR flag, which causes the server to shut
496
down when all clients have exited.
498
As a transition, this only happens when \fB$JACK_START_SERVER\fR is
499
defined in the environment of the calling process. In the future this
500
will become normal behavior. In either case, defining
501
\fB$JACK_NO_START_SERVER\fR disables this feature.
503
To change where JACK looks for the backend drivers, set
504
\fB$JACK_DRIVER_DIR\fR.
506
\fB$JACK_DEFAULT_SERVER\fR specifies the default server name. If not
507
defined, the string "default" is used. If set in their respective
508
environments, this affects \fBjackd\fR unless its \fB\-\-name\fR
509
parameter is set, and all JACK clients unless they pass an explicit
510
name to \fBjack_client_open()\fR.
514
.I http://www.jackaudio.org
516
The official JACK website with news, docs and a list of JACK clients.
518
.I http://jackaudio.org/email
520
The JACK developers' mailing list. Subscribe, to take part in
521
development of JACK or JACK clients. User questions are also welcome,
522
there is no user-specific mailing list.
524
.I http://www.jackosx.com/
526
Tools specific to the Mac OS X version of JACK.
528
.I http://www.alsa\-project.org
530
The Advanced Linux Sound Architecture.
532
Please report bugs to
534
.I http://trac.jackaudio.org/
536
Architect and original implementor: Paul Davis
538
Original design Group: Paul Davis, David Olofson, Kai Vehmanen, Benno Sennoner,
539
Richard Guenther, and other members of the Linux Audio Developers group.
541
Programming: Paul Davis, Jack O'Quin, Taybin Rutkin, Stephane Letz, Fernando
542
Pablo Lopez-Lezcano, Steve Harris, Jeremy Hall, Andy Wingo, Kai
543
Vehmanen, Melanie Thielker, Jussi Laako, Tilman Linneweh, Johnny
544
Petrantoni, Torben Hohn.
546
Manpage written by Stefan Schwandter, Jack O'Quin and Alexandre