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 -C, --internal-session-file internal-session-file
91 Load internal clients and connections from internal-session-
92 file. Each line of this configuration file starts with a com‐
93 mand. The following commands are available:
94 l(oad) client-name lib-name client-args
95 With this command an internal JACK client will be instantiated.
96 client-name and lib-name cannot contain spaces. The rest of the
97 line will be interpreted as client-args and sent to the client
98 library.
99 c(on) source-port destination-port
100 With this command a source port will be connected to a destina‐
101 tion port. source-port and destination-port cannot contain spa‐
102 ces.
103 Comments are allowed, they start with #.
104 An example configuration could look like the following:
105 l inprocess1 inprocess
106 l amp1 jalv http://lv2plug.in/plugins/eg-amp
107 c amp:out system:playback_1
108
109 -u, --unlock
110 Unlock libraries GTK+, QT, FLTK, Wine.
111
112 -v, --verbose
113 Give verbose output.
114
115 -c, --clocksource ( h(pet) | s(ystem) )
116 Select a specific wall clock (HPET timer, System timer).
117
118 -V, --version
119 Print the current JACK version number and exit.
120
121 ALSA BACKEND OPTIONS
122 -C, --capture [ name ]
123 Provide only capture ports, unless combined with -D or -P.
124 Parameterally set capture device name.
125
126 -d, --device name
127 The ALSA pcm device name to use. If none is specified, JACK
128 will use "hw:0", the first hardware card defined in /etc/mod‐
129 ules.conf.
130
131 -z, --dither [rectangular,triangular,shaped,none]
132 Set dithering mode. If none or unspecified, dithering is off.
133 Only the first letter of the mode name is required.
134
135 -D, --duplex
136 Provide both capture and playback ports. Defaults to on unless
137 only one of -P or -C is specified.
138
139 -h, --help Print a brief usage message describing only the
140 alsa backend parameters.
141
142 -M, --hwmeter
143 Enable hardware metering for devices that support it. Other‐
144 wise, use software metering.
145
146 -H, --hwmon
147 Enable hardware monitoring of capture ports. This is a method
148 for obtaining "zero latency" monitoring of audio input. It
149 requires support in hardware and from the underlying ALSA device
150 driver.
151
152 When enabled, requests to monitor capture ports will be satis‐
153 fied by creating a direct signal path between audio interface
154 input and output connectors, with no processing by the host com‐
155 puter at all. This offers the lowest possible latency for the
156 monitored signal.
157
158 Presently (March 2003), only the RME Hammerfall series and cards
159 based on the ICE1712 chipset (M-Audio Delta series, Terratec,
160 and others) support --hwmon. In the future, some consumer cards
161 may also be supported by modifying their mixer settings.
162
163 Without --hwmon, port monitoring requires JACK to read audio
164 into system memory, then copy it back out to the hardware again,
165 imposing the basic JACK system latency determined by the
166 --period and --nperiods parameters.
167
168 -i, --inchannels int
169 Number of capture channels. Default is maximum supported by
170 hardware.
171
172 -I --input-latency
173 Extra input latency (frames) (default: 0)
174
175 -n, --nperiods int
176 Specify the number of periods of playback latency. In seconds,
177 this corresponds to --nperiods times --period divided by --rate.
178 The default is 2, the minimum allowable. For most devices,
179 there is no need for any other value with the --realtime option.
180 Without realtime privileges or with boards providing unreliable
181 interrupts (like ymfpci), a larger value may yield fewer xruns.
182 This can also help if the system is not tuned for reliable real‐
183 time scheduling.
184
185 For most ALSA devices, the hardware buffer has exactly --period
186 times --nperiods frames. Some devices demand a larger buffer.
187 If so, JACK will use the smallest possible buffer containing at
188 least --nperiods, but the playback latency does not increase.
189
190 For USB audio devices it is recommended to use -n 3. Firewire
191 devices supported by FFADO (formerly Freebob) are configured
192 with -n 3 by default.
193
194 -o, --outchannels int
195 Number of playback channels. Default is maximum supported by
196 hardware.
197
198 -O --output-latency
199 Extra output latency (frames) (default: 0)
200
201 -P, --playback [ name ]
202 Provide only playback ports, unless combined with -D or -C.
203 Optionally set playback device name.
204
205 -p, --period int
206 Specify the number of frames between JACK process() calls. This
207 value must be a power of 2, and the default is 1024. If you
208 need low latency, set -p as low as you can go without seeing
209 xruns. A larger period size yields higher latency, but makes
210 xruns less likely. The JACK capture latency in seconds is
211 --period divided by --rate.
212
213 -r, --rate int
214 Specify the sample rate. The default is 48000.
215
216 -S, --shorts
217 Try to configure card for 16-bit samples first, only trying
218 32-bits if unsuccessful. Default is to prefer 32-bit samples.
219
220 -s, --softmode
221 Ignore xruns reported by the ALSA driver. This makes JACK less
222 likely to disconnect unresponsive ports when running without
223 --realtime.
224
225 -X, --midi [seq|raw]
226 Specify which ALSA MIDI system to provide access to. Using raw
227 will provide a set of JACK MIDI ports that correspond to each
228 raw ALSA device on the machine. Using seq will provide a set of
229 JACK MIDI ports that correspond to each ALSA "sequencer" client
230 (which includes each hardware MIDI port on the machine). raw
231 provides slightly better performance but does not permit JACK
232 MIDI communication with software written to use the ALSA
233 "sequencer" API.
234
235 COREAUDIO BACKEND PARAMETERS
236 -c --channels
237 Maximum number of channels (default: 2)
238
239 -i --inchannels
240 Maximum number of input channels (default: 2)
241
242 -o --outchannels
243 Maximum number of output channels (default: 2)
244
245 -C --capture
246 Whether or not to capture (default: true)
247
248 -P --playback
249 Whether or not to playback (default: true)
250
251 -D --monitor
252 Provide monitor ports for the output (default: false)
253
254 -D --duplex
255 Capture and playback (default: true)
256
257 -r --rate
258 Sample rate (default: 44100)
259
260 -p --period
261 Frames per period (default: 128). Must be a power of 2.
262
263 -d --device
264 CoreAudio device name (default: none)
265
266 -I --input-latency
267 Extra input latency (frames) (default: 0)
268
269 -O --output-latency
270 Extra output latency (frames) (default: 0)
271
272 -l --list-devices
273 Display available CoreAudio devices (default: false)
274
275 -H --hog
276 Take exclusive access of the audio device (default: false)
277
278 -L --async-latency
279 Extra output latency in asynchronous mode (percent) (default:
280 100)
281
282 -G --grain
283 Computation grain in RT thread (percent) (default: 100)
284
285 -s --clock-drift
286 Whether to compensate clock drift in dynamically created aggre‐
287 gate device (default: false)
288
289 DUMMY BACKEND PARAMETERS
290 -C, --capture int
291 Specify number of capture ports. The default value is 2.
292
293 -P, --playback int
294 Specify number of playback ports. The default value is 2.
295
296 -r, --rate int
297 Specify sample rate. The default value is 48000.
298
299 -p, --period int
300 Specify the number of frames between JACK process() calls. This
301 value must be a power of 2, and the default is 1024. If you
302 need low latency, set -p as low as you can go without seeing
303 xruns. A larger period size yields higher latency, but makes
304 xruns less likely. The JACK capture latency in seconds is
305 --period divided by --rate.
306
307 -w, --wait int
308 Specify number of usecs to wait between engine processes. The
309 default value is 21333.
310
311
312
313 NETONE BACKEND PARAMETERS
314 -i, --audio-ins int
315 Number of capture channels (default: 2)
316
317 -o, --audio-outs int
318 Number of playback channels (default: 2)
319
320 -I, --midi-ins int
321 Number of midi capture channels (default: 1)
322
323 -O, --midi-outs int
324 Number of midi playback channels (default: 1)
325
326 -r, --rate int
327 Sample rate (default: 48000)
328
329 -p, --period int
330 Frames per period (default: 1024)
331
332 -n, --num-periods int
333 Network latency setting in no. of periods (default: 5)
334
335 -l, --listen-port int
336 The socket port we are listening on for sync packets (default:
337 3000)
338
339 -f, --factor int
340 Factor for sample rate reduction (default: 1)
341
342 -u, --upstream-factor int
343 Factor for sample rate reduction on the upstream (default: 0)
344
345 -c, --celt int
346 sets celt encoding and number of kbits per channel (default: 0)
347
348 -b, --bit-depth int
349 Sample bit-depth (0 for float, 8 for 8bit and 16 for 16bit)
350 (default: 0)
351
352 -t, --transport-sync int
353 Whether to slave the transport to the master transport (default:
354 true)
355
356 -a, --autoconf int
357 Whether to use Autoconfig, or just start. (default: true)
358
359 -R, --redundancy int
360 Send packets N times (default: 1)
361
362 -e, --native-endian int
363 Dont convert samples to network byte order. (default: false)
364
365 -J, --jitterval int
366 attempted jitterbuffer microseconds on master (default: 0)
367
368 -D, --always-deadline int
369 always use deadline (default: false)
370
371
372
373 OSS BACKEND PARAMETERS
374 -r, --rate int
375 Specify the sample rate. The default is 48000.
376
377 -p, --period int
378 Specify the number of frames between JACK process() calls. This
379 value must be a power of 2, and the default is 1024. If you
380 need low latency, set -p as low as you can go without seeing
381 xruns. A larger period size yields higher latency, but makes
382 xruns less likely. The JACK capture latency in seconds is
383 --period divided by --rate.
384
385 -n, --nperiods int
386 Specify the number of periods in the hardware buffer. The
387 default is 2. The period size (-p) times --nperiods times four
388 is the JACK buffer size in bytes. The JACK output latency in
389 seconds is --nperiods times --period divided by --rate.
390
391 -w, --wordlength int
392 Specify the sample size in bits. The default is 16.
393
394 -i, --inchannels int
395 Specify how many channels to capture (default: 2)
396
397 -o, --outchannels int
398 Specify number of playback channels (default: 2)
399
400 -C, --capture device_file
401 Specify input device for capture (default: /dev/dsp)
402
403 -P, --playback device_file
404 Specify output device for playback (default: /dev/dsp)
405
406 -b, --ignorehwbuf boolean
407 Specify, whether to ignore hardware period size (default: false)
408
409 -I --input-latency
410 Extra input latency (frames) (default: 0)
411
412 -O --output-latency
413 Extra output latency (frames) (default: 0)
414
415 SUN BACKEND PARAMETERS
416 -r, --rate int
417 Specify the sample rate. The default is 48000.
418
419 -p, --period int
420 Specify the number of frames between JACK process() calls. This
421 value must be a power of 2, and the default is 1024. If you
422 need low latency, set -p as low as you can go without seeing
423 xruns. A larger period size yields higher latency, but makes
424 xruns less likely. The JACK capture latency in seconds is
425 --period divided by --rate.
426
427 -n, --nperiods int
428 Specify the number of periods in the hardware buffer. The
429 default is 2. The period size (-p) times --nperiods times four
430 (assuming 2 channels 16-bit samples) is the JACK buffer size in
431 bytes. The JACK output latency in seconds is --nperiods times
432 --period divided by --rate.
433
434 -w, --wordlength int
435 Specify the sample size in bits. The default is 16.
436
437 -i, --inchannels int
438 Specify how many channels to capture (default: 2)
439
440 -o, --outchannels int
441 Specify number of playback channels (default: 2)
442
443 -C, --capture device_file
444 Specify input device for capture (default: /dev/audio)
445
446 -P, --playback device_file
447 Specify output device for playback (default: /dev/audio)
448
449 -b, --ignorehwbuf boolean
450 Specify, whether to ignore hardware period size (default: false)
451
452 PORTAUDIO BACKEND PARAMETERS
453 -c --channel
454 Maximum number of channels (default: all available hardware
455 channels)
456
457 -i --channelin
458 Maximum number of input channels (default: all available hard‐
459 ware channels)
460
461 -I --input-latency
462 Extra input latency (frames) (default: 0)
463
464 -o --channelout
465 Maximum number of output channels (default: all available hard‐
466 ware channels)
467
468 -O --output-latency
469 Extra output latency (frames) (default: 0)
470
471 -C --capture
472 Whether or not to capture (default: true)
473
474 -P --playback
475 Whether or not to playback (default: true)
476
477 -D --duplex
478 Capture and playback (default: true)
479
480 -r --rate
481 Sample rate (default: 48000)
482
483 -p --period
484 Frames per period (default: 1024). Must be a power of 2.
485
486 -n --name
487 Driver name (default: none)
488
489 -z --dither
490 Dithering mode (default: none)
491
493 Print usage message for the parameters specific to each backend.
494
495 jackd -d alsa --help
496 jackd -d coreaudio --help
497 jackd -d net --help
498 jackd -d dummy --help
499 jackd -d firewire --help
500 jackd -d freebob --help
501 jackd -d oss --help
502 jackd -d sun --help
503 jackd -d portaudio --help
504
505 Run the JACK daemon with realtime priority using the first ALSA hard‐
506 ware card defined in /etc/modules.conf.
507
508 jackstart --realtime --driver=alsa
509
510 Run the JACK daemon with low latency giving verbose output, which can
511 be helpful for trouble-shooting system latency problems. A reasonably
512 well-tuned system with a good sound card and a low-latency kernel can
513 handle these values reliably. Some can do better. If you get xrun
514 messages, try a larger buffer. Tuning a system for low latency can be
515 challenging. The JACK FAQ, http://jackit.sourceforge.net/docs/faq.php
516 has some useful suggestions.
517
518 jackstart -Rv -d alsa -p 128 -n 2 -r 44100
519
520 Run jackd with realtime priority using the "sblive" ALSA device defined
521 in ~/.asoundrc. Apply shaped dithering to playback audio.
522
523 jackd -R -d alsa -d sblive --dither=shaped
524
525 Run jackd with no special privileges using the second ALSA hardware
526 card defined in /etc/modules.conf. Any xruns reported by the ALSA
527 backend will be ignored. The larger buffer helps reduce data loss.
528 Rectangular dithering will be used for playback.
529
530 jackd -d alsa -d hw:1 -p2048 -n3 --softmode -zr
531
532 Run jackd in full-duplex mode using the ALSA hw:0,0 device for playback
533 and the hw:0,2 device for capture.
534
535 jackd -d alsa -P hw:0,0 -C hw:0,2
536
537 Run jackd in playback-only mode using the ALSA hw:0,0 device.
538
539 jackd -d alsa -P hw:0,0
540
542 JACK is evolving a mechanism for automatically starting the server when
543 needed. Any client started without a running JACK server will attempt
544 to start one itself using the command line found in the first line of
545 $HOME/.jackdrc if it exists, or /etc/jackdrc if it does not. If nei‐
546 ther file exists, a built-in default command will be used, including
547 the -T flag, which causes the server to shut down when all clients have
548 exited.
549
550 As a transition, this only happens when $JACK_START_SERVER is defined
551 in the environment of the calling process. In the future this will
552 become normal behavior. In either case, defining $JACK_NO_START_SERVER
553 disables this feature.
554
555 To change where JACK looks for the backend drivers, set
556 $JACK_DRIVER_DIR.
557
558 $JACK_DEFAULT_SERVER specifies the default server name. If not
559 defined, the string "default" is used. If set in their respective
560 environments, this affects jackd unless its --name parameter is set,
561 and all JACK clients unless they pass an explicit name to
562 jack_client_open().
563
564 Defining $JACK_NO_AUDIO_RESERVATION will bypass audio device reserva‐
565 tion via session bus (DBus). This can be useful if JACK was compiled
566 with DBus support but should run on a headless system.
567
568 $JACK_PROMISCUOUS_SERVER enables an alternate way of handling the vari‐
569 ous shared resources (Unix sockets, semaphores, ...). In this mode, the
570 generated names will not contain the user id anymore, and the permis‐
571 sions of those resources will be relaxed, allowing clients from differ‐
572 ent users to talk with the same server. Moreover, on platforms that
573 support it (all POSIX variants), if set to a valid Unix group name or
574 id, the permissions will be restricted to that group, so only members
575 of that group will be able to launch clients that talk to this server.
576 Important note: it must be set with the same value for both server and
577 clients to work as expected.
578
579
581 http://www.jackaudio.org
582 The official JACK website with news, docs and a list of JACK clients.
583
584 http://jackaudio.org/email
585 The JACK developers' mailing list. Subscribe, to take part in develop‐
586 ment of JACK or JACK clients. User questions are also welcome, there
587 is no user-specific mailing list.
588
589 http://www.jackosx.com/
590 Tools specific to the Mac OS X version of JACK.
591
592 http://www.alsa-project.org
593 The Advanced Linux Sound Architecture.
594
596 Please report bugs to
597 http://trac.jackaudio.org/
598
600 Architect and original implementor: Paul Davis
601
602 Original design Group: Paul Davis, David Olofson, Kai Vehmanen, Benno
603 Sennoner, Richard Guenther, and other members of the Linux Audio Devel‐
604 opers group.
605
606 Programming: Paul Davis, Jack O'Quin, Taybin Rutkin, Stephane Letz,
607 Fernando Pablo Lopez-Lezcano, Steve Harris, Jeremy Hall, Andy Wingo,
608 Kai Vehmanen, Melanie Thielker, Jussi Laako, Tilman Linneweh, Johnny
609 Petrantoni, Torben Hohn.
610
611 Manpage written by Stefan Schwandter, Jack O'Quin and Alexandre Prokou‐
612 dine.
613
614
615
6161.9.12 December 2019 JACKD(1)