1JACKD(1) JACKD(1)
2
3
4
6 jackd - JACK Audio Connection Kit sound server
7
8
9
11 jackd [options] -d backend [backend-parameters]
12 jackd --help
13
14
15
17 jackd is the JACK audio server daemon that allows JACK client programs
18 to process and route audio and MIDI data in a synchronous, sample-accu‐
19 rate and low-latency manner. Originally written for the GNU/Linux oper‐
20 ating system, it also runs on various Unix platforms, Mac OS X and MS
21 Windows. JACK can connect a number of different client applications to
22 an audio device and also to each other. Most clients are external, run‐
23 ning in their own processes as normal applications. JACK also supports
24 internal clients, which run within the jackd process using a loadable
25 "plugin" interface.
26
27 JACK differs from other audio servers in being designed from the ground
28 up for professional audio work. It focuses on two key areas: synchro‐
29 nous execution of all clients and low latency operation.
30
31 The name JACK makes a reference to the classical way of patching audio
32 connections with physical audio jack cables. JACK is also a recursive
33 acronym, that is an abbreviation which is part of itself. JACK Audio
34 Connection Kit.
35
36 For the latest JACK information please consult the web site:
37 <http://www.jackaudio.org/>.
38
39
40
42 -d, --driver backend [backend-parameters ]
43 Select the audio interface backend. The current list of sup‐
44 ported backends is: alsa, coreaudio, dummy, firewire, oss sun
45 and portaudio. They are not all available on all platforms. All
46 backend-parameters are optional.
47
48
49 -h, --help
50 Print a brief usage message describing the main jackd options.
51 These do not include backend-parameters, which are listed using
52 the --help option for each specific backend. Examples below show
53 how to list them.
54
55
56 -a, --autoconnect modechar
57 Select how to handle self connect requests. They can be ignore
58 or fail, on all port or just external ones. Use the --help op‐
59 tion to know your system specific options. The default is to not
60 restrict self connect requests.
61
62 -m, --no-mlock
63 Do not attempt to lock memory, even if --realtime.
64
65
66 -n, --name server-name
67 Name this jackd instance server-name. If unspecified, this name
68 comes from the $JACK_DEFAULT_SERVER environment variable. (de‐
69 fault: "default")
70
71
72 -p, --port-max n
73 Set the maximum number of ports the JACK server can manage.
74 (default: 256)
75
76
77 --replace-registry
78 Remove the shared memory registry used by all JACK server in‐
79 stances before startup. This should rarely be used, and is in‐
80 tended only for occasions when the structure of this registry
81 changes in ways that are incompatible across JACK versions
82 (which is rare).
83
84
85 -R, --realtime
86 Use realtime scheduling. This is needed for reliable low-latency
87 performance. On many systems, it requires jackd to run with spe‐
88 cial scheduler and memory allocation privileges, which may be
89 obtained in several ways. (default: true)
90
91
92 -r, --no-realtime
93 Do not use realtime scheduling.
94
95
96 -P, --realtime-priority int
97 When running --realtime, set the scheduler priority to int.
98
99
100 --silent
101 Silence any output during operation.
102
103
104
105 -T, --temporary
106 Exit once all clients have closed their connections.
107
108
109 -t, --timeout int
110 Set client timeout limit in milliseconds. In realtime mode the
111 client timeout must be smaller than the watchdog timeout (5000
112 msec). (default: 500)
113
114
115 -Z, --nozombies
116 Prevent JACK from ever kicking out clients because they were too
117 slow. This cancels the effect any specified timeout value, but
118 JACK and its clients are still subject to the supervision of the
119 watchdog thread or its equivalent.
120
121
122 -C, --internal-session-file internal-session-file
123 Load internal clients and connections from internal-session-
124 file. Each line of this configuration file starts with a com‐
125 mand. The following commands are available:
126 l(oad) client-name lib-name client-args
127 With this command an internal JACK client will be instantiated.
128 client-name and lib-name cannot contain spaces. The rest of the
129 line will be interpreted as client-args and sent to the client
130 library.
131 c(on) source-port destination-port
132 With this command a source port will be connected to a destina‐
133 tion port. source-port and destination-port cannot contain spa‐
134 ces.
135 Comments are allowed, they start with #.
136 An example configuration could look like the following:
137 l inprocess1 inprocess
138 l amp1 jalv http://lv2plug.in/plugins/eg-amp
139 c amp:out system:playback_1
140
141
142 -u, --unlock
143 Unlock libraries GTK+, QT, FLTK, Wine.
144
145
146 -v, --verbose
147 Give verbose output.
148
149
150 -c, --clocksource ( h(pet) | s(ystem) )
151 Select a specific wall clock (HPET timer, System timer).
152
153
154 -V, --version
155 Print the current JACK version number and exit.
156
157
158
159 ALSA BACKEND OPTIONS
160 -C, --capture [ name ]
161 Provide only capture ports, unless combined with -D or -P. Op‐
162 tionally set capture device name.
163
164
165 -d, --device name
166 The ALSA pcm device name to use. If none is specified, JACK will
167 use "hw:0", the first hardware card defined in /etc/mod‐
168 ules.conf.
169
170
171 -z, --dither [rectangular,triangular,shaped,none]
172 Set dithering mode. If none or unspecified, dithering is off.
173 Only the first letter of the mode name is required.
174
175
176 -D, --duplex
177 Provide both capture and playback ports. Defaults to on unless
178 only one of -P or -C is specified. (default: true)
179
180
181 -h, --help Print a brief usage message describing only the
182 alsa backend parameters.
183
184
185 -M, --hwmeter
186 Enable hardware metering for devices that support it. Otherwise,
187 use software metering.
188
189
190 -H, --hwmon
191 Enable hardware monitoring of capture ports. This is a method
192 for obtaining "zero latency" monitoring of audio input. It re‐
193 quires support in hardware and from the underlying ALSA device
194 driver.
195
196 When enabled, requests to monitor capture ports will be satis‐
197 fied by creating a direct signal path between audio interface
198 input and output connectors, with no processing by the host com‐
199 puter at all. This offers the lowest possible latency for the
200 monitored signal.
201
202 Presently (March 2003), only the RME Hammerfall series and cards
203 based on the ICE1712 chipset (M-Audio Delta series, Terratec,
204 and others) support --hwmon. In the future, some consumer cards
205 may also be supported by modifying their mixer settings.
206
207 Without --hwmon, port monitoring requires JACK to read audio
208 into system memory, then copy it back out to the hardware again,
209 imposing the basic JACK system latency determined by the --pe‐
210 riod and --nperiods parameters.
211
212
213 -i, --inchannels int
214 Number of capture channels. (default: maximum supported by
215 hardware)
216
217
218 -I, --input-latency
219 Extra input latency (frames). (default: 0)
220
221
222 -n, --nperiods int
223 Number of periods of playback latency. In seconds, this corre‐
224 sponds to --nperiods times --period divided by --rate. The de‐
225 fault is 2, the minimum allowed. For most devices, there is no
226 need for any other value with the --realtime option. Without re‐
227 altime privileges or with boards providing unreliable interrupts
228 (like ymfpci), a larger value may yield fewer xruns. This can
229 also help if the system is not tuned for reliable realtime
230 scheduling.
231
232 For most ALSA devices, the hardware buffer has exactly --period
233 times --nperiods frames. Some devices demand a larger buffer. If
234 so, JACK will use the smallest possible buffer containing at
235 least --nperiods, but the playback latency does not increase.
236
237 For USB audio devices it is recommended to use -n 3. Firewire
238 devices supported by FFADO (formerly FreeBoB) are configured
239 with -n 3 by default.
240
241
242 -o, --outchannels int
243 Number of playback channels. (default: maximum supported by
244 hardware)
245
246
247 -O, --output-latency
248 Extra output latency (frames). (default: 0)
249
250
251 -P, --playback [ name ]
252 Provide only playback ports, unless combined with -D or -C. Op‐
253 tionally set playback device name.
254
255
256 -p, --period int
257 Number of frames between JACK process() calls. This value must
258 be a power of 2. If you need low latency, set -p as low as you
259 can go without seeing xruns. A larger period size yields higher
260 latency, but makes xruns less likely. The JACK capture latency
261 in seconds is --period divided by --rate. (default: 1024)
262
263
264 -r, --rate int
265 Sample rate. (default: 48000)
266
267
268 -S, --shorts
269 Try to configure card for 16-bit samples first, only trying
270 32-bits if unsuccessful. (default: 32-bit samples)
271
272
273 -s, --softmode
274 Ignore xruns reported by the ALSA driver. This makes JACK less
275 likely to disconnect unresponsive ports when running without
276 --realtime.
277
278
279 -X, --midi [seq|raw]
280 Which ALSA MIDI system to provide access to. Using raw will pro‐
281 vide a set of JACK MIDI ports that correspond to each raw ALSA
282 device on the machine. Using seq will provide a set of JACK MIDI
283 ports that correspond to each ALSA "sequencer" client (which in‐
284 cludes each hardware MIDI port on the machine). raw provides
285 slightly better performance but does not permit JACK MIDI commu‐
286 nication with software written to use the ALSA "sequencer" API.
287
288
289
290 COREAUDIO BACKEND PARAMETERS
291 -c, --channels
292 Maximum number of channels. (default: 2)
293
294
295 -i, --inchannels
296 Maximum number of input channels. (default: 2)
297
298
299 -o, --outchannels
300 Maximum number of output channels. (default: 2)
301
302
303 -C, --capture
304 Whether or not to capture. (default: true)
305
306
307 -P, --playback
308 Whether or not to playback. (default: true)
309
310
311 -D, --monitor
312 Provide monitor ports for the output. (default: false)
313
314
315 -D, --duplex
316 Capture and playback. (default: true)
317
318
319 -r, --rate
320 Sample rate. (default: 44100)
321
322
323 -p, --period
324 Frames per period, must be a power of 2. (default: 128)
325
326
327 -d, --device
328 CoreAudio device name. (default: none)
329
330
331 -I, --input-latency
332 Extra input latency (frames). (default: 0)
333
334
335 -O, --output-latency
336 Extra output latency (frames). (default: 0)
337
338
339 -l, --list-devices
340 Display available CoreAudio devices. (default: false)
341
342
343 -H, --hog
344 Take exclusive access of the audio device. (default: false)
345
346
347 -L, --async-latency
348 Extra output latency in asynchronous mode (percent). (default:
349 100)
350
351
352 -G, --grain
353 Computation grain in RT thread (percent). (default: 100)
354
355
356 -s, --clock-drift
357 Whether or not to compensate clock drift in dynamically created
358 aggregate device. (default: false)
359
360
361
362 DUMMY BACKEND PARAMETERS
363 -C, --capture int
364 Number of capture ports. (default: 2)
365
366
367 -P, --playback int
368 Number of playback ports. (default: 2)
369
370
371 -r, --rate int
372 Sample rate. (default: 48000)
373
374
375 -p, --period int
376 Number of frames between JACK process() calls. This value must
377 be a power of 2. If you need low latency, set -p as low as you
378 can go without seeing xruns. A larger period size yields higher
379 latency, but makes xruns less likely. The JACK capture latency
380 in seconds is --period divided by --rate. (default: 1024)
381
382
383 -w, --wait int
384 Number of usecs to wait between engine processes. (default:
385 21333)
386
387
388
389 NETONE BACKEND PARAMETERS
390 -i, --audio-ins int
391 Number of capture channels. (default: 2)
392
393
394 -o, --audio-outs int
395 Number of playback channels. (default: 2)
396
397
398 -I, --midi-ins int
399 Number of midi capture channels. (default: 1)
400
401
402 -O, --midi-outs int
403 Number of midi playback channels. (default: 1)
404
405
406 -r, --rate int
407 Sample rate. (default: 48000)
408
409
410 -p, --period int
411 Frames per period. (default: 1024)
412
413
414 -n, --num-periods int
415 Network latency setting in no. of periods. (default: 5)
416
417
418 -l, --listen-port int
419 The socket port we are listening on for sync packets. (default:
420 3000)
421
422
423 -f, --factor int
424 Factor for sample rate reduction. (default: 1)
425
426
427 -u, --upstream-factor int
428 Factor for sample rate reduction on the upstream. (default: 0)
429
430
431 -c, --celt int
432 Sets celt encoding and number of kbits per channel. (default:
433 0)
434
435
436 -b, --bit-depth int
437 Sample bit-depth (0 for float, 8 for 8bit and 16 for 16bit).
438 (default: 0)
439
440
441 -t, --transport-sync int
442 Whether or not to slave the transport to the master transport.
443 (default: true)
444
445
446 -a, --autoconf int
447 Whether or not to use Autoconfig, or just start. (default:
448 true)
449
450
451 -R, --redundancy int
452 Send packets N times. (default: 1)
453
454
455 -e, --native-endian int
456 Don't convert samples to network byte order. (default: false)
457
458 -J, --jitterval int
459 Attempted jitterbuffer microseconds on master. (default: 0)
460
461
462 -D, --always-deadline int
463 Always use deadline. (default: false)
464
465
466
467 OSS BACKEND PARAMETERS
468 -r, --rate int
469 Sample rate. (default: 48000)
470
471
472 -p, --period int
473 Number of frames between JACK process() calls. This value must
474 be a power of 2. If you need low latency, set -p as low as you
475 can go without seeing xruns. A larger period size yields higher
476 latency, but makes xruns less likely. The JACK capture latency
477 in seconds is --period divided by --rate. (default: 1024)
478
479
480 -n, --nperiods int
481 Number of periods in the hardware buffer. The period size (-p)
482 times --nperiods times four is the JACK buffer size in bytes.
483 The JACK output latency in seconds is --nperiods times --period
484 divided by --rate. (default: 2)
485
486
487 -w, --wordlength int
488 Sample size in bits. (default: 16)
489
490
491 -i, --inchannels int
492 Number of capture channels. (default: 2)
493
494
495 -o, --outchannels int
496 Number of playback channels. (default: 2)
497
498
499 -C, --capture device_file
500 Input device for capture. (default: /dev/dsp)
501
502
503 -P, --playback device_file
504 Output device for playback. (default: /dev/dsp)
505
506
507 -b, --ignorehwbuf boolean
508 Whether or not to ignore hardware period size. (default: false)
509
510
511 -e, --excl boolean
512 Request exclusive and direct access to the sound device. This
513 avoids mixing and automatic audio conversion in the OSS driver,
514 and the extra latency that comes with that. (default: false)
515
516
517 -I, --input-latency
518 Extra input latency (frames). (default: 0)
519
520
521 -O, --output-latency
522 Extra output latency (frames). (default: 0)
523
524
525
526 SUN BACKEND PARAMETERS
527 -r, --rate int
528 Sample rate. (default: 48000)
529
530
531 -p, --period int
532 Number of frames between JACK process() calls. This value must
533 be a power of 2. If you need low latency, set -p as low as you
534 can go without seeing xruns. A larger period size yields higher
535 latency, but makes xruns less likely. The JACK capture latency
536 in seconds is --period divided by --rate. (default: 1024)
537
538
539 -n, --nperiods int
540 Number of periods in the hardware buffer. The period size (-p)
541 times --nperiods times four (assuming 2 channels 16-bit samples)
542 is the JACK buffer size in bytes. The JACK output latency in
543 seconds is --nperiods times --period divided by --rate. (de‐
544 fault: 2)
545
546
547 -w, --wordlength int
548 Sample size in bits. (default: 16)
549
550
551 -i, --inchannels int
552 Number of capture channels. (default: 2)
553
554
555 -o, --outchannels int
556 Number of playback channels. (default: 2)
557
558
559 -C, --capture device_file
560 Input device for capture. (default: /dev/audio)
561
562
563 -P, --playback device_file
564 Output device for playback. (default: /dev/audio)
565
566
567 -b, --ignorehwbuf boolean
568 Whether or not to ignore hardware period size. (default: false)
569
570
571
572 PORTAUDIO BACKEND PARAMETERS
573 -c, --channel
574 Maximum number of channels. (default: all available hardware
575 channels)
576
577
578 -i, --channelin
579 Maximum number of input channels. (default: all available hard‐
580 ware channels)
581
582
583 -I, --input-latency
584 Extra input latency (frames). (default: 0)
585
586
587 -o, --channelout
588 Maximum number of output channels. (default: all available
589 hardware channels)
590
591
592 -O, --output-latency
593 Extra output latency (frames). (default: 0)
594
595
596 -C, --capture
597 Whether or not to capture. (default: true)
598
599
600 -P, --playback
601 Whether or not to playback. (default: true)
602
603
604 -D, --duplex
605 Capture and playback. (default: true)
606
607
608 -r, --rate
609 Sample rate. (default: 48000)
610
611
612 -p, --period
613 Frames per period, must be a power of 2. (default: 1024)
614
615
616 -n, --name
617 Driver name. (default: none)
618
619
620 -z, --dither
621 Dithering mode. (default: none)
622
623
624
625 FIREWIRE BACKEND PARAMETERS
626 -d, --device name
627 The Firewire device name to use. If none is specified, JACK will
628 try to use "hw:0". To get a list of available Firewire devices,
629 see ffado-test. It's recommended to use the GUID of a Firewire
630 device to rule out any ambiguities. Once the GUID of the device
631 is known ("ffado-test ListDevices"), it can be used like
632 -dguid:0xff2584e39b078a2e to tell JACK which interface to use.
633 Sometimes resetting the Firewire bus can help ("ffado-test Bus‐
634 Reset") if there is any problem. (default: hw:0)
635
636
637 -p, --period int
638 Number of frames between JACK process() calls. This value must
639 be a power of 2. If you need low latency, set -p as low as you
640 can go without seeing xruns. A larger period size yields higher
641 latency, but makes xruns less likely. The JACK capture latency
642 in seconds is --period divided by --rate. (default: 1024)
643
644
645 -n, --nperiods int
646 Number of periods of playback latency. Value must be greater or
647 equal 2. In seconds, this corresponds to --nperiods times --pe‐
648 riod divided by --rate. (default: 3)
649
650
651 -r, --rate int
652 Sample rate. (default: 48000)
653
654
655 -C, --capture [ name ]
656 Provide only capture ports, unless combined with -D or -P. Op‐
657 tionally set capture device name.
658
659
660 -P, --playback [ name ]
661 Provide only playback ports, unless combined with -D or -C. Op‐
662 tionally set playback device name.
663
664
665 -D, --duplex
666 Provide both capture and playback ports. This option is the de‐
667 fault behaviour and can normally be omitted. -D can not be com‐
668 bined with -P or -C.
669
670
671 -I, --input-latency
672 Extra input latency (frames). (default: 0)
673
674
675 -O, --output-latency
676 Extra output latency (frames). (default: 0)
677
678
679 -v, --verbose
680 libffado verbose level. (default: 3)
681
682
683 -X, --snoop
684 Snoop Firewire traffic. (default: false)
685
686
687 -h, --help Print a brief usage message describing only the
688 firewire backend parameters.
689
690
691
693 Print usage message for the parameters specific to each backend.
694
695
696 jackd -d alsa --help
697 jackd -d coreaudio --help
698 jackd -d net --help
699 jackd -d dummy --help
700 jackd -d firewire --help
701 jackd -d oss --help
702 jackd -d sun --help
703 jackd -d portaudio --help
704
705 Run the JACK daemon with realtime priority using the first ALSA hard‐
706 ware card defined in /etc/modules.conf.
707
708
709 jackstart --realtime --driver=alsa
710
711 Run the JACK daemon with low latency giving verbose output, which can
712 be helpful for trouble-shooting system latency problems. A reasonably
713 well-tuned system with a good sound card and a low-latency kernel can
714 handle these values reliably. Some can do better. If you get xrun mes‐
715 sages, try a larger buffer. Tuning a system for low latency can be
716 challenging. Please consult the JACK FAQ for more suggestions.
717
718
719 jackstart -Rv -d alsa -p 128 -n 2 -r 44100
720
721 Run jackd with realtime priority using the "sblive" ALSA device defined
722 in ~/.asoundrc. Apply shaped dithering to playback audio.
723
724
725 jackd -R -d alsa -d sblive --dither=shaped
726
727 Run jackd with no special privileges using the second ALSA hardware
728 card defined in /etc/modules.conf. Any xruns reported by the ALSA back‐
729 end will be ignored. The larger buffer helps reduce data loss. Rectan‐
730 gular dithering will be used for playback.
731
732
733 jackd -d alsa -d hw:1 -p2048 -n3 --softmode -zr
734
735 Run jackd in full-duplex mode using the ALSA hw:0,0 device for playback
736 and the hw:0,2 device for capture.
737
738
739 jackd -d alsa -P hw:0,0 -C hw:0,2
740
741 Run jackd in playback-only mode using the ALSA hw:0,0 device.
742
743
744 jackd -d alsa -P hw:0,0
745
746
747
749 JACK is evolving a mechanism for automatically starting the server when
750 needed. Any client started without a running JACK server will attempt
751 to start one itself using the command line found in the first line of
752 $HOME/.jackdrc if it exists, or /etc/jackdrc if it does not. If neither
753 file exists, a built-in default command will be used, including the -T
754 flag, which causes the server to shut down when all clients have ex‐
755 ited.
756
757 As a transition, this only happens when $JACK_START_SERVER is defined
758 in the environment of the calling process. In the future this will be‐
759 come normal behavior. In either case, defining $JACK_NO_START_SERVER
760 disables this feature.
761
762 To change where JACK looks for the backend drivers, set
763 $JACK_DRIVER_DIR.
764
765 $JACK_DEFAULT_SERVER specifies the default server name. If not defined,
766 the string "default" is used. If set in their respective environments,
767 this affects jackd unless its --name parameter is set, and all JACK
768 clients unless they pass an explicit name to jack_client_open().
769
770 Defining $JACK_NO_AUDIO_RESERVATION will bypass audio device reserva‐
771 tion via session bus (DBus). This can be useful if JACK was compiled
772 with DBus support but should run on a headless system.
773
774 $JACK_PROMISCUOUS_SERVER enables an alternate way of handling the vari‐
775 ous shared resources (Unix sockets, semaphores, ...). In this mode, the
776 generated names will not contain the user id anymore, and the permis‐
777 sions of those resources will be relaxed, allowing clients from differ‐
778 ent users to talk with the same server. Moreover, on platforms that
779 support it (all POSIX variants), if set to a valid Unix group name or
780 id, the permissions will be restricted to that group, so only members
781 of that group will be able to launch clients that talk to this server.
782 Important note: it must be set with the same value for both server and
783 clients to work as expected.
784
785
787 <http://www.jackaudio.org/>
788 The official JACK website with news, docs and a list of JACK clients.
789
790 <http://www.github.com/jackaudio/>
791 The official JACK github code repository. Pull requests are welcome.
792
793 <http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org>
794 The JACK developers' mailing list. Subscribe to take part in develop‐
795 ment of JACK or JACK clients. User questions are also welcome, there is
796 no user-specific mailing list.
797
798 <http://www.jackosx.com/>
799 Tools specific to the Mac OS X version of JACK.
800
801 <http://www.alsa-project.org/>
802 The Advanced Linux Sound Architecture.
803
804 <http://www.ffado.org/>
805 The Free Firewire Audio Drivers (FFADO) Site.
806
807 <irc.freenode.net#jack>
808 Join the JACK community with your favourite IRC client.
809
810
811
813 Please report bugs as issues to the corresponding repository:
814 <http://www.github.com/jackaudio/>
815
816
817
819 Architect and original implementer: Paul Davis
820
821 Original design group: Paul Davis, David Olofson, Kai Vehmanen, Benno
822 Sennoner, Richard Guenther and other members of the Linux Audio Devel‐
823 opers group.
824
825 Programming: Paul Davis, Jack O'Quin, Taybin Rutkin, Stéphane Letz,
826 Fernando Pablo Lopez-Lezcano, Steve Harris, Jeremy Hall, Andy Wingo,
827 Kai Vehmanen, Melanie Thielker, Jussi Laako, Tilman Linneweh, Johnny
828 Petrantoni, Torben Hohn.
829
830 Manpage written by Stefan Schwandter, Jack O'Quin, Alexandre Prokoudine
831 and Thomas Brand.
832
833 Create a PDF file from this manpage:
834
835 man -t jackd | ps2pdf - > jackd.pdf
836
837
838
8391.9.20 January 2022 JACKD(1)