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       -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

EXAMPLES

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

ENVIRONMENT

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

SEE ALSO:

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

BUGS

522       Please report bugs to
523       http://trac.jackaudio.org/
524

AUTHORS

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)
Impressum