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

NAME

6       jackd, jackstart - JACK Audio Connection Kit sound server
7

SYNOPSYS

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

DESCRIPTION

14       jackd invokes the JACK audio server daemon.  The jackstart command pro‐
15       vides JACK's built-in support for Linux 2.4.x kernels with the realtime
16       capabilities  patch.   Use jackd for Linux 2.6.x and all other systems.
17       All parameters are the same.
18
19       JACK is  a  low-latency  audio  server.   Originally  written  for  the
20       GNU/Linux  operating system, it also supports Mac OS X and various Unix
21       platforms.  JACK can connect a number of different client  applications
22       to  an audio device and also to each other.  Most clients are external,
23       running in their own processes as normal applications.  JACK also  sup‐
24       ports  internal  clients,  which  run  within the jackd process using a
25       loadable "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       For  the  latest  JACK  information,  please  consult  the  web   site,
32       <http://www.jackaudio.org>.
33

OPTIONS

35       -d, --driver backend [backend-parameters ]
36              Select  the  audio  interface backend.  The current list of sup‐
37              ported backends is: alsa, coreaudio,  dummy,  freebob,  oss  and
38              portaudio.   They  are  not all available on all platforms.  All
39              backend-parameters are optional.
40
41
42       -h, --help
43              Print a brief usage message describing the main  jackd  options.
44              These  do not include backend-parameters, which are listed using
45              the --help option for each  specific  backend.   Examples  below
46              show how to list them.
47
48       -m, --no-mlock
49              Do not attempt to lock memory, even if --realtime.
50
51       -n, --name server-name
52              Name this jackd instance server-name.  If unspecified, this name
53              comes from the $JACK_DEFAULT_SERVER  environment  variable.   It
54              will be "default" if that is not defined.
55
56       -p, --port-max  n
57              Set the maximum number of ports the JACK server can manage.  The
58              default value is 256.
59
60       -R, --realtime
61              Use  realtime  scheduling.   This   is   needed   for   reliable
62              low-latency  performance.  On most systems, it requires jackd to
63              run with special scheduler  and  memory  allocation  privileges,
64              which may be obtained in several ways.  The simplest, and least-
65              secure method is to run jackd with root privileges.  This  means
66              that  all  JACK clients must also run as root.  With a Linux 2.6
67              kernel, ordinary users can  run  jackd  and  its  clients  using
68              options  of  the  realtime  LSM.   Linux 2.4 kernels need "POSIX
69              draft  capabilities"  enabled  (see   the   <linux/capability.h>
70              include file).  Using that method, ordinary users who invoke the
71              daemon using jackstart, can later launch  JACK  clients  without
72              running     them    as    root.     See    http://jackit.source
73              forge.net/docs/faq.php#a52 for more information.
74
75       -P, --realtime-priority int
76              When running --realtime, set the scheduler priority to int.
77
78       --silent
79              Silence any output during operation.
80
81       -T, --temporary
82              Exit once all clients have closed their connections.
83
84       -t, --timeout int
85              Set client timeout limit in milliseconds.  The  default  is  500
86              msec.   In realtime mode the client timeout must be smaller than
87              the watchdog timeout (5000 msec).
88
89       -u, --unlock
90              Unlock libraries GTK+, QT, FLTK, Wine.
91
92       -v, --verbose
93              Give verbose output.
94
95       -c, --clocksource ( c(ycle) |  h(pet)  |  s(ystem) )
96              Select a specific wall clock (Cycle Counter, HPET timer,  System
97              timer).
98
99       -V, --version
100              Print the current JACK version number and exit.
101
102   ALSA BACKEND OPTIONS
103       -C, --capture [ name ]
104              Provide  only  capture  ports,  unless  combined  with -D or -P.
105              Parameterally set capture device name.
106
107       -d, --device name
108              The ALSA pcm device name to use.  If  none  is  specified,  JACK
109              will  use  "hw:0",  the first hardware card defined in /etc/mod‐
110              ules.conf.
111
112       -z, --dither [rectangular,triangular,shaped,none]
113              Set dithering mode.  If none or unspecified, dithering  is  off.
114              Only the first letter of the mode name is required.
115
116       -D, --duplex
117              Provide  both capture and playback ports.  Defaults to on unless
118              only one of -P or -C is specified.
119
120       -h, --help Print a brief usage message describing only the
121              alsa backend parameters.
122
123       -M, --hwmeter
124              Enable hardware metering for devices that  support  it.   Other‐
125              wise, use software metering.
126
127       -H, --hwmon
128              Enable  hardware  monitoring of capture ports.  This is a method
129              for obtaining "zero latency"  monitoring  of  audio  input.   It
130              requires support in hardware and from the underlying ALSA device
131              driver.
132
133              When enabled, requests to monitor capture ports will  be  satis‐
134              fied  by  creating  a direct signal path between audio interface
135              input and output connectors, with no processing by the host com‐
136              puter  at  all.  This offers the lowest possible latency for the
137              monitored signal.
138
139              Presently (March 2003), only the RME Hammerfall series and cards
140              based  on  the  ICE1712 chipset (M-Audio Delta series, Terratec,
141              and others) support --hwmon.  In the future, some consumer cards
142              may also be supported by modifying their mixer settings.
143
144              Without  --hwmon,  port  monitoring  requires JACK to read audio
145              into system memory, then copy it back out to the hardware again,
146              imposing  the  basic  JACK  system  latency  determined  by  the
147              --period and --nperiods parameters.
148
149       -i, --inchannels int
150              Number of capture channels.  Default  is  maximum  supported  by
151              hardware.
152
153       -n, --nperiods int
154              Specify  the number of periods of playback latency.  In seconds,
155              this corresponds to --nperiods times --period divided by --rate.
156              The  default  is  2,  the  minimum allowable.  For most devices,
157              there is no need for any other value with the --realtime option.
158              Without  realtime privileges or with boards providing unreliable
159              interrupts (like ymfpci), a larger value may yield fewer  xruns.
160              This can also help if the system is not tuned for reliable real‐
161              time scheduling.
162
163              For most ALSA devices, the hardware buffer has exactly  --period
164              times  --nperiods  frames.  Some devices demand a larger buffer.
165              If so, JACK will use the smallest possible buffer containing  at
166              least --nperiods, but the playback latency does not increase.
167
168       -o, --outchannels int
169              Number  of  playback  channels.  Default is maximum supported by
170              hardware.
171
172       -P, --playback [ name ]
173              Provide only playback ports, unless  combined  with  -D  or  -C.
174              Optionally set playback device name.
175
176       -p, --period int
177              Specify  the number of frames between JACK process() calls.  The
178              default is 1024.  If you need low latency, set -p as low as  you
179              can go without seeing xruns.  A larger period size yields higher
180              latency, but makes xruns less likely.  The JACK capture  latency
181              in seconds is --period divided by --rate.
182
183       -r, --rate int
184              Specify the sample rate.  The default is 48000.
185
186       -S, --shorts
187              Try  to  configure  card  for  16-bit samples first, only trying
188              32-bits if unsuccessful.  Default is to prefer 32-bit samples.
189
190       -s, --softmode
191              Ignore xruns reported by the ALSA driver.  This makes JACK  less
192              likely  to  disconnect  unresponsive  ports when running without
193              --realtime.
194
195   COREAUDIO BACKEND PARAMETERS
196       -c --channel
197              Maximum number of channels (default: 2)
198
199       -i --channelin
200              Maximum number of input channels (default: 2)
201
202       -o --channelout
203              Maximum number of output channels (default: 2)
204
205       -C --capture
206              Whether or not to capture (default: true)
207
208       -P --playback
209              Whether or not to playback (default: true)
210
211       -D --duplex
212              Capture and playback (default: true)
213
214       -r --rate
215              Sample rate (default: 44100)
216
217       -p --period
218              Frames per period (default: 128)
219
220       -n --name
221              Driver name (default: none)
222
223       -I --id
224              Audio Device ID (default: 0)
225
226   DUMMY BACKEND PARAMETERS
227       -C, --capture int
228              Specify number of capture ports. The default value is 2.
229
230       -P, --playback int
231              Specify number of playback ports. The default value is 2.
232
233       -r, --rate int
234              Specify sample rate. The default value is 48000.
235
236       -p, --period int
237              Specify number of frames per period. The default value is  1024.
238              If  you  need  low  latency, set -p as low as you can go without
239              seeing xruns.  A larger period size yields higher  latency,  but
240              makes xruns less likely.  The JACK capture latency in seconds is
241              --period divided by --rate.
242
243       -w, --wait int
244              Specify number of usecs to wait between engine  processes.   The
245              default value is 21333.
246
247   OSS BACKEND PARAMETERS
248       -r, --rate int
249              Specify the sample rate.  The default is 48000.
250
251       -p, --period int
252              Specify  number  of  frames  between  JACK process() calls.  The
253              default is 1024.  If you need low latency, set -p as low as  you
254              can go without seeing xruns.  A larger period size yields higher
255              latency, but makes xruns less likely.  The JACK capture  latency
256              in seconds is --period divided by --rate.
257
258       -n, --nperiods int
259              Specify  the  number  of  periods  in  the hardware buffer.  The
260              default is 2.  The period size (-p) times --nperiods times  four
261              is  the  JACK  buffer size in bytes.  The JACK output latency in
262              seconds is --nperiods times --period divided by --rate.
263
264       -w, --wordlength int
265              Specify the sample size in bits. The default is 16.
266
267       -i, --inchannels int
268              Specify how many channels to capture (default: 2)
269
270       -o, --outchannels int
271              Specify number of playback channels (default: 2)
272
273       -C, --capture device_file
274              Specify input device for capture (default: /dev/dsp)
275
276       -P, --playback device_file
277              Specify output device for playback (default: /dev/dsp)
278
279       -b, --ignorehwbuf boolean
280              Specify, whether to ignore hardware period size (default: false)
281
282   PORTAUDIO BACKEND PARAMETERS
283       -c --channel
284              Maximum number of  channels  (default:  all  available  hardware
285              channels)
286
287       -i --channelin
288              Maximum  number  of input channels (default: all available hard‐
289              ware channels)
290
291       -o --channelout
292              Maximum number of output channels (default: all available  hard‐
293              ware channels)
294
295       -C --capture
296              Whether or not to capture (default: true)
297
298       -P --playback
299              Whether or not to playback (default: true)
300
301       -D --duplex
302              Capture and playback (default: true)
303
304       -r --rate
305              Sample rate (default: 48000)
306
307       -p --period
308              Frames per period (default: 1024)
309
310       -n --name
311              Driver name (default: none)
312
313       -z --dither
314              Dithering mode (default: none)
315

EXAMPLES

317       Print usage message for the parameters specific to each backend.
318
319              jackd -d alsa --help
320              jackd -d coreaudio --help
321              jackd -d dummy --help
322              jackd -d freebob --help
323              jackd -d oss --help
324              jackd -d portaudio --help
325
326       Run  the  JACK daemon with realtime priority using the first ALSA hard‐
327       ware card defined in /etc/modules.conf.
328
329              jackstart --realtime --driver=alsa
330
331       Run the JACK daemon with low latency giving verbose output,  which  can
332       be  helpful for trouble-shooting system latency problems.  A reasonably
333       well-tuned system with a good sound card and a low-latency  kernel  can
334       handle  these  values  reliably.   Some can do better.  If you get xrun
335       messages, try a larger buffer.  Tuning a system for low latency can  be
336       challenging.   The JACK FAQ, http://jackit.sourceforge.net/docs/faq.php
337       has some useful suggestions.
338
339              jackstart -Rv -d alsa -p 128 -n 2 -r 44100
340
341       Run jackd with realtime priority using the "sblive" ALSA device defined
342       in ~/.asoundrc.  Apply shaped dithering to playback audio.
343
344              jackd -R -d alsa -d sblive --dither=shaped
345
346       Run  jackd  with  no  special privileges using the second ALSA hardware
347       card defined in /etc/modules.conf.  Any  xruns  reported  by  the  ALSA
348       backend  will  be  ignored.   The larger buffer helps reduce data loss.
349       Rectangular dithering will be used for playback.
350
351              jackd -d alsa -d hw:1 -p2048 -n3 --softmode -zr
352
353       Run jackd in full-duplex mode using the ALSA hw:0,0 device for playback
354       and the hw:0,2 device for capture.
355
356              jackd -d alsa -P hw:0,0 -C hw:0,2
357
358       Run jackd in playback-only mode using the ALSA hw:0,0 device.
359
360              jackd -d alsa -P hw:0,0
361

ENVIRONMENT

363       JACK is evolving a mechanism for automatically starting the server when
364       needed.  Any client started without a running JACK server will  attempt
365       to  start  one itself using the command line found in the first line of
366       $HOME/.jackdrc if it exists, or /etc/jackdrc if it does not.   If  nei‐
367       ther  file  exists,  a built-in default command will be used, including
368       the -T flag, which causes the server to shut down when all clients have
369       exited.
370
371       As  a  transition, this only happens when $JACK_START_SERVER is defined
372       in the environment of the calling process.  In  the  future  this  will
373       become normal behavior.  In either case, defining $JACK_NO_START_SERVER
374       disables this feature.
375
376       To  change  where   JACK   looks   for   the   backend   drivers,   set
377       $JACK_DRIVER_DIR.
378
379       $JACK_DEFAULT_SERVER   specifies  the  default  server  name.   If  not
380       defined, the string "default" is used.   If  set  in  their  respective
381       environments,  this  affects  jackd unless its --name parameter is set,
382       and  all  JACK  clients  unless  they  pass   an   explicit   name   to
383       jack_client_open().
384
385

SEE ALSO:

387       http://www.jackaudio.org
388       The official JACK website with news, docs and a list of JACK clients.
389
390       http://lists.sourceforge.net/mailman/listinfo/jackit-devel
391       The JACK developers' mailing list.  Subscribe, to take part in develop‐
392       ment of JACK or JACK clients.  User questions are also  welcome,  there
393       is no user-specific mailing list.
394
395       http://www.jackosx.com/
396       Tools specific to the Mac OS X version of JACK.
397
398       http://www.alsa-project.org
399       The Advanced Linux Sound Architecture.
400

BUGS

402       Please report bugs to
403       http://jackit.sourceforge.net/mantis/main_page.php
404

AUTHORS

406       Architect and original implementor: Paul Davis
407
408       Original  design  Group: Paul Davis, David Olofson, Kai Vehmanen, Benno
409       Sennoner, Richard Guenther, and other members of the Linux Audio Devel‐
410       opers group.
411
412       Programming:  Paul  Davis,  Jack  O'Quin, Taybin Rutkin, Stephane Letz,
413       Fernando Pablo Lopez-Lezcano, Steve Harris, Jeremy  Hall,  Andy  Wingo,
414       Kai  Vehmanen,  Melanie  Thielker, Jussi Laako, Tilman Linneweh, Johnny
415       Petrantoni.
416
417       Manpage written by Stefan Schwandter, Jack O'Quin and Alexandre Prokou‐
418       dine.
419
420
421
422April 2006                          0.103.0                           JACKD(1)
Impressum