1JACKD(1) JACKD(1)
2
3
4
6 jackd - JACK Audio Connection Kit sound server
7
9 jackd [options] -d backend [backend-parameters]
10 jackd --help
11
13 jackd is the JACK audio server daemon, a low-latency audio server.
14 Originally written for the GNU/Linux operating system, it also supports
15 Mac OS X and various Unix platforms. JACK can connect a number of dif‐
16 ferent client applications to an audio device and also to each other.
17 Most clients are external, running in their own processes as normal
18 applications. JACK also supports internal clients, which run within
19 the jackd process using a loadable "plugin" interface.
20
21 JACK differs from other audio servers in being designed from the ground
22 up for professional audio work. It focuses on two key areas: synchro‐
23 nous execution of all clients, and low latency operation.
24
25 For the latest JACK information, please consult the web site,
26 <http://www.jackaudio.org>.
27
29 -d, --driver backend [backend-parameters ]
30 Select the audio interface backend. The current list of sup‐
31 ported backends is: alsa, coreaudio, dummy, freebob, oss sun and
32 portaudio. They are not all available on all platforms. All
33 backend-parameters are optional.
34
35
36 -h, --help
37 Print a brief usage message describing the main jackd options.
38 These do not include backend-parameters, which are listed using
39 the --help option for each specific backend. Examples below
40 show how to list them.
41
42 -m, --no-mlock
43 Do not attempt to lock memory, even if --realtime.
44
45 -n, --name server-name
46 Name this jackd instance server-name. If unspecified, this name
47 comes from the $JACK_DEFAULT_SERVER environment variable. It
48 will be "default" if that is not defined.
49
50 -p, --port-max n
51 Set the maximum number of ports the JACK server can manage. The
52 default value is 256.
53
54 --replace-registry
55 Remove the shared memory registry used by all JACK server
56 instances before startup. This should rarely be used, and is
57 intended only for occasions when the structure of this registry
58 changes in ways that are incompatible across JACK versions
59 (which is rare).
60
61 -R, --realtime
62 Use realtime scheduling (default = true). This is needed for
63 reliable low-latency performance. On many systems, it requires
64 jackd to run with special scheduler and memory allocation privi‐
65 leges, which may be obtained in several ways.
66
67 -r, --no-realtime
68 Do not use realtime scheduling.
69
70 -P, --realtime-priority int
71 When running --realtime, set the scheduler priority to int.
72
73 --silent
74 Silence any output during operation.
75
76 -T, --temporary
77 Exit once all clients have closed their connections.
78
79 -t, --timeout int
80 Set client timeout limit in milliseconds. The default is 500
81 msec. In realtime mode the client timeout must be smaller than
82 the watchdog timeout (5000 msec).
83
84 -Z, --nozombies
85 Prevent JACK from ever kicking out clients because they were too
86 slow. This cancels the effect any specified timeout value, but
87 JACK and its clients are still subject to the supervision of the
88 watchdog thread or its equivalent.
89
90 -u, --unlock
91 Unlock libraries GTK+, QT, FLTK, Wine.
92
93 -v, --verbose
94 Give verbose output.
95
96 -c, --clocksource ( c(ycle) | h(pet) | s(ystem) )
97 Select a specific wall clock (Cycle Counter, HPET timer, System
98 timer).
99
100 -V, --version
101 Print the current JACK version number and exit.
102
103 ALSA BACKEND OPTIONS
104 -C, --capture [ name ]
105 Provide only capture ports, unless combined with -D or -P.
106 Parameterally set capture device name.
107
108 -d, --device name
109 The ALSA pcm device name to use. If none is specified, JACK
110 will use "hw:0", the first hardware card defined in /etc/mod‐
111 ules.conf.
112
113 -z, --dither [rectangular,triangular,shaped,none]
114 Set dithering mode. If none or unspecified, dithering is off.
115 Only the first letter of the mode name is required.
116
117 -D, --duplex
118 Provide both capture and playback ports. Defaults to on unless
119 only one of -P or -C is specified.
120
121 -h, --help Print a brief usage message describing only the
122 alsa backend parameters.
123
124 -M, --hwmeter
125 Enable hardware metering for devices that support it. Other‐
126 wise, use software metering.
127
128 -H, --hwmon
129 Enable hardware monitoring of capture ports. This is a method
130 for obtaining "zero latency" monitoring of audio input. It
131 requires support in hardware and from the underlying ALSA device
132 driver.
133
134 When enabled, requests to monitor capture ports will be satis‐
135 fied by creating a direct signal path between audio interface
136 input and output connectors, with no processing by the host com‐
137 puter at all. This offers the lowest possible latency for the
138 monitored signal.
139
140 Presently (March 2003), only the RME Hammerfall series and cards
141 based on the ICE1712 chipset (M-Audio Delta series, Terratec,
142 and others) support --hwmon. In the future, some consumer cards
143 may also be supported by modifying their mixer settings.
144
145 Without --hwmon, port monitoring requires JACK to read audio
146 into system memory, then copy it back out to the hardware again,
147 imposing the basic JACK system latency determined by the
148 --period and --nperiods parameters.
149
150 -i, --inchannels int
151 Number of capture channels. Default is maximum supported by
152 hardware.
153
154 -n, --nperiods int
155 Specify the number of periods of playback latency. In seconds,
156 this corresponds to --nperiods times --period divided by --rate.
157 The default is 2, the minimum allowable. For most devices,
158 there is no need for any other value with the --realtime option.
159 Without realtime privileges or with boards providing unreliable
160 interrupts (like ymfpci), a larger value may yield fewer xruns.
161 This can also help if the system is not tuned for reliable real‐
162 time scheduling.
163
164 For most ALSA devices, the hardware buffer has exactly --period
165 times --nperiods frames. Some devices demand a larger buffer.
166 If so, JACK will use the smallest possible buffer containing at
167 least --nperiods, but the playback latency does not increase.
168
169 For USB audio devices it is recommended to use -n 3. Firewire
170 devices supported by FFADO (formerly Freebob) are configured
171 with -n 3 by default.
172
173 -o, --outchannels int
174 Number of playback channels. Default is maximum supported by
175 hardware.
176
177 -P, --playback [ name ]
178 Provide only playback ports, unless combined with -D or -C.
179 Optionally set playback device name.
180
181 -p, --period int
182 Specify the number of frames between JACK process() calls. This
183 value must be a power of 2, and the default is 1024. If you
184 need low latency, set -p as low as you can go without seeing
185 xruns. A larger period size yields higher latency, but makes
186 xruns less likely. The JACK capture latency in seconds is
187 --period divided by --rate.
188
189 -r, --rate int
190 Specify the sample rate. The default is 48000.
191
192 -S, --shorts
193 Try to configure card for 16-bit samples first, only trying
194 32-bits if unsuccessful. Default is to prefer 32-bit samples.
195
196 -s, --softmode
197 Ignore xruns reported by the ALSA driver. This makes JACK less
198 likely to disconnect unresponsive ports when running without
199 --realtime.
200
201 -X, --midi [seq|raw]
202 Specify which ALSA MIDI system to provide access to. Using raw
203 will provide a set of JACK MIDI ports that correspond to each
204 raw ALSA device on the machine. Using seq will provide a set of
205 JACK MIDI ports that correspond to each ALSA "sequencer" client
206 (which includes each hardware MIDI port on the machine). raw
207 provides slightly better performance but does not permit JACK
208 MIDI communication with software written to use the ALSA
209 "sequencer" API.
210
211 COREAUDIO BACKEND PARAMETERS
212 -c --channel
213 Maximum number of channels (default: 2)
214
215 -i --channelin
216 Maximum number of input channels (default: 2)
217
218 -o --channelout
219 Maximum number of output channels (default: 2)
220
221 -C --capture
222 Whether or not to capture (default: true)
223
224 -P --playback
225 Whether or not to playback (default: true)
226
227 -D --duplex
228 Capture and playback (default: true)
229
230 -r --rate
231 Sample rate (default: 44100)
232
233 -p --period
234 Frames per period (default: 128). Must be a power of 2.
235
236 -n --name
237 Driver name (default: none)
238
239 -I --id
240 Audio Device ID (default: 0)
241
242 DUMMY BACKEND PARAMETERS
243 -C, --capture int
244 Specify number of capture ports. The default value is 2.
245
246 -P, --playback int
247 Specify number of playback ports. The default value is 2.
248
249 -r, --rate int
250 Specify sample rate. The default value is 48000.
251
252 -p, --period int
253 Specify the number of frames between JACK process() calls. This
254 value must be a power of 2, and the default is 1024. If you
255 need low latency, set -p as low as you can go without seeing
256 xruns. A larger period size yields higher latency, but makes
257 xruns less likely. The JACK capture latency in seconds is
258 --period divided by --rate.
259
260 -w, --wait int
261 Specify number of usecs to wait between engine processes. The
262 default value is 21333.
263
264
265
266 NET BACKEND PARAMETERS
267 -i, --audio-ins int
268 Number of capture channels (default: 2)
269
270 -o, --audio-outs int
271 Number of playback channels (default: 2)
272
273 -I, --midi-ins int
274 Number of midi capture channels (default: 1)
275
276 -O, --midi-outs int
277 Number of midi playback channels (default: 1)
278
279 -r, --rate int
280 Sample rate (default: 48000)
281
282 -p, --period int
283 Frames per period (default: 1024)
284
285 -n, --num-periods int
286 Network latency setting in no. of periods (default: 5)
287
288 -l, --listen-port int
289 The socket port we are listening on for sync packets (default:
290 3000)
291
292 -f, --factor int
293 Factor for sample rate reduction (default: 1)
294
295 -u, --upstream-factor int
296 Factor for sample rate reduction on the upstream (default: 0)
297
298 -c, --celt int
299 sets celt encoding and number of kbits per channel (default: 0)
300
301 -b, --bit-depth int
302 Sample bit-depth (0 for float, 8 for 8bit and 16 for 16bit)
303 (default: 0)
304
305 -t, --transport-sync int
306 Whether to slave the transport to the master transport (default:
307 true)
308
309 -a, --autoconf int
310 Whether to use Autoconfig, or just start. (default: true)
311
312 -R, --redundancy int
313 Send packets N times (default: 1)
314
315 -e, --native-endian int
316 Dont convert samples to network byte order. (default: false)
317
318 -J, --jitterval int
319 attempted jitterbuffer microseconds on master (default: 0)
320
321 -D, --always-deadline int
322 always use deadline (default: false)
323
324
325
326 OSS BACKEND PARAMETERS
327 -r, --rate int
328 Specify the sample rate. The default is 48000.
329
330 -p, --period int
331 Specify the number of frames between JACK process() calls. This
332 value must be a power of 2, and the default is 1024. If you
333 need low latency, set -p as low as you can go without seeing
334 xruns. A larger period size yields higher latency, but makes
335 xruns less likely. The JACK capture latency in seconds is
336 --period divided by --rate.
337
338 -n, --nperiods int
339 Specify the number of periods in the hardware buffer. The
340 default is 2. The period size (-p) times --nperiods times four
341 is the JACK buffer size in bytes. The JACK output latency in
342 seconds is --nperiods times --period divided by --rate.
343
344 -w, --wordlength int
345 Specify the sample size in bits. The default is 16.
346
347 -i, --inchannels int
348 Specify how many channels to capture (default: 2)
349
350 -o, --outchannels int
351 Specify number of playback channels (default: 2)
352
353 -C, --capture device_file
354 Specify input device for capture (default: /dev/dsp)
355
356 -P, --playback device_file
357 Specify output device for playback (default: /dev/dsp)
358
359 -b, --ignorehwbuf boolean
360 Specify, whether to ignore hardware period size (default: false)
361
362 SUN BACKEND PARAMETERS
363 -r, --rate int
364 Specify the sample rate. The default is 48000.
365
366 -p, --period int
367 Specify the number of frames between JACK process() calls. This
368 value must be a power of 2, and the default is 1024. If you
369 need low latency, set -p as low as you can go without seeing
370 xruns. A larger period size yields higher latency, but makes
371 xruns less likely. The JACK capture latency in seconds is
372 --period divided by --rate.
373
374 -n, --nperiods int
375 Specify the number of periods in the hardware buffer. The
376 default is 2. The period size (-p) times --nperiods times four
377 (assuming 2 channels 16-bit samples) is the JACK buffer size in
378 bytes. The JACK output latency in seconds is --nperiods times
379 --period divided by --rate.
380
381 -w, --wordlength int
382 Specify the sample size in bits. The default is 16.
383
384 -i, --inchannels int
385 Specify how many channels to capture (default: 2)
386
387 -o, --outchannels int
388 Specify number of playback channels (default: 2)
389
390 -C, --capture device_file
391 Specify input device for capture (default: /dev/audio)
392
393 -P, --playback device_file
394 Specify output device for playback (default: /dev/audio)
395
396 -b, --ignorehwbuf boolean
397 Specify, whether to ignore hardware period size (default: false)
398
399 PORTAUDIO BACKEND PARAMETERS
400 -c --channel
401 Maximum number of channels (default: all available hardware
402 channels)
403
404 -i --channelin
405 Maximum number of input channels (default: all available hard‐
406 ware channels)
407
408 -o --channelout
409 Maximum number of output channels (default: all available hard‐
410 ware channels)
411
412 -C --capture
413 Whether or not to capture (default: true)
414
415 -P --playback
416 Whether or not to playback (default: true)
417
418 -D --duplex
419 Capture and playback (default: true)
420
421 -r --rate
422 Sample rate (default: 48000)
423
424 -p --period
425 Frames per period (default: 1024). Must be a power of 2.
426
427 -n --name
428 Driver name (default: none)
429
430 -z --dither
431 Dithering mode (default: none)
432
434 Print usage message for the parameters specific to each backend.
435
436 jackd -d alsa --help
437 jackd -d coreaudio --help
438 jackd -d net --help
439 jackd -d dummy --help
440 jackd -d firewire --help
441 jackd -d freebob --help
442 jackd -d oss --help
443 jackd -d sun --help
444 jackd -d portaudio --help
445
446 Run the JACK daemon with realtime priority using the first ALSA hard‐
447 ware card defined in /etc/modules.conf.
448
449 jackstart --realtime --driver=alsa
450
451 Run the JACK daemon with low latency giving verbose output, which can
452 be helpful for trouble-shooting system latency problems. A reasonably
453 well-tuned system with a good sound card and a low-latency kernel can
454 handle these values reliably. Some can do better. If you get xrun
455 messages, try a larger buffer. Tuning a system for low latency can be
456 challenging. The JACK FAQ, http://jackit.sourceforge.net/docs/faq.php
457 has some useful suggestions.
458
459 jackstart -Rv -d alsa -p 128 -n 2 -r 44100
460
461 Run jackd with realtime priority using the "sblive" ALSA device defined
462 in ~/.asoundrc. Apply shaped dithering to playback audio.
463
464 jackd -R -d alsa -d sblive --dither=shaped
465
466 Run jackd with no special privileges using the second ALSA hardware
467 card defined in /etc/modules.conf. Any xruns reported by the ALSA
468 backend will be ignored. The larger buffer helps reduce data loss.
469 Rectangular dithering will be used for playback.
470
471 jackd -d alsa -d hw:1 -p2048 -n3 --softmode -zr
472
473 Run jackd in full-duplex mode using the ALSA hw:0,0 device for playback
474 and the hw:0,2 device for capture.
475
476 jackd -d alsa -P hw:0,0 -C hw:0,2
477
478 Run jackd in playback-only mode using the ALSA hw:0,0 device.
479
480 jackd -d alsa -P hw:0,0
481
483 JACK is evolving a mechanism for automatically starting the server when
484 needed. Any client started without a running JACK server will attempt
485 to start one itself using the command line found in the first line of
486 $HOME/.jackdrc if it exists, or /etc/jackdrc if it does not. If nei‐
487 ther file exists, a built-in default command will be used, including
488 the -T flag, which causes the server to shut down when all clients have
489 exited.
490
491 As a transition, this only happens when $JACK_START_SERVER is defined
492 in the environment of the calling process. In the future this will
493 become normal behavior. In either case, defining $JACK_NO_START_SERVER
494 disables this feature.
495
496 To change where JACK looks for the backend drivers, set
497 $JACK_DRIVER_DIR.
498
499 $JACK_DEFAULT_SERVER specifies the default server name. If not
500 defined, the string "default" is used. If set in their respective
501 environments, this affects jackd unless its --name parameter is set,
502 and all JACK clients unless they pass an explicit name to
503 jack_client_open().
504
505
507 http://www.jackaudio.org
508 The official JACK website with news, docs and a list of JACK clients.
509
510 http://jackaudio.org/email
511 The JACK developers' mailing list. Subscribe, to take part in develop‐
512 ment of JACK or JACK clients. User questions are also welcome, there
513 is no user-specific mailing list.
514
515 http://www.jackosx.com/
516 Tools specific to the Mac OS X version of JACK.
517
518 http://www.alsa-project.org
519 The Advanced Linux Sound Architecture.
520
522 Please report bugs to
523 http://trac.jackaudio.org/
524
526 Architect and original implementor: Paul Davis
527
528 Original design Group: Paul Davis, David Olofson, Kai Vehmanen, Benno
529 Sennoner, Richard Guenther, and other members of the Linux Audio Devel‐
530 opers group.
531
532 Programming: Paul Davis, Jack O'Quin, Taybin Rutkin, Stephane Letz,
533 Fernando Pablo Lopez-Lezcano, Steve Harris, Jeremy Hall, Andy Wingo,
534 Kai Vehmanen, Melanie Thielker, Jussi Laako, Tilman Linneweh, Johnny
535 Petrantoni, Torben Hohn.
536
537 Manpage written by Stefan Schwandter, Jack O'Quin and Alexandre Prokou‐
538 dine.
539
540
541
542May 2011 1.9.7 JACKD(1)