1JACKD(1)                                                              JACKD(1)
2
3
4

NAME

6       jackd - JACK Audio Connection Kit sound server
7

SYNOPSIS

9       jackd [options] -d backend [backend-parameters]
10       jackd --help
11

DESCRIPTION

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

OPTIONS

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

EXAMPLES

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

ENVIRONMENT

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

SEE ALSO:

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

BUGS

596       Please report bugs to
597       http://trac.jackaudio.org/
598

AUTHORS

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                           February 2019                        JACKD(1)
Impressum