remove stray "x" char that appeared in a DEBUG() macro call (prevents --enable-debug...
[jack.git] / jackd / jackd.1.in
blob718f21d518248dacfeea267ef5967901ec015758
1 .TH "JACKD" "1" "@VERSION@" "April 2006" ""
2 .SH "NAME"
3 jackd \- JACK Audio Connection Kit sound server
4 .SH "SYNOPSIS"
5 \fBjackd\fR [\fIoptions\fR] \fB\-d\fI backend \fR 
6 [\fIbackend\-parameters\fR]
7 .br
8 \fBjackd \-\-help\fR
9 .SH "DESCRIPTION"
10 \fBjackd\fR is the JACK audio server daemon, a low\-latency audio
11 server.  Originally written for the
12 GNU/Linux operating system, it also supports Mac OS X and various Unix
13 platforms.  JACK can connect a number of different client applications
14 to an audio device and also to each other.  Most clients are external,
15 running in their own processes as normal applications.  JACK also
16 supports internal clients, which run within the \fBjackd\fR process
17 using a loadable "plugin" interface.
19 JACK differs from other audio servers in being designed from the
20 ground up for professional audio work.  It focuses on two key areas:
21 synchronous execution of all clients, and low latency operation.
23 For the latest JACK information, please consult the web site,
24 <\fBhttp://www.jackaudio.org\fR>.
25 .SH "OPTIONS"
26 .TP
27 \fB\-d, \-\-driver \fIbackend\fR [\fIbackend\-parameters\fR ]
28 .br
29 Select the audio interface backend.  The current list of supported
30 backends is: \fBalsa\fR, \fBcoreaudio\fR, \fBdummy\fR, \fBfreebob\fR,
31 \fBoss\fR \fBsun\fR and \fBportaudio\fR.  They are not all available
32 on all platforms.  All \fIbackend\-parameters\fR are optional.
34 .TP
35 \fB\-h, \-\-help\fR
36 .br
37 Print a brief usage message describing the main \fBjackd\fR options.
38 These do not include \fIbackend\-parameters\fR, which are listed using
39 the \fB\-\-help\fR option for each specific backend.  Examples below
40 show how to list them.
41 .TP
42 \fB\-m, \-\-no\-mlock\fR
43 Do not attempt to lock memory, even if \fB\-\-realtime\fR.
44 .TP
45 \fB\-n, \-\-name\fR \fIserver\-name\fR
46 Name this \fBjackd\fR instance \fIserver\-name\fR.  If unspecified,
47 this name comes from the \fB$JACK_DEFAULT_SERVER\fR environment
48 variable.  It will be "default" if that is not defined.
49 .TP
50 \fB\-p, \-\-port\-max \fI n\fR
51 Set the maximum number of ports the JACK server can manage.  
52 The default value is 256.
53 .TP
54 \fB\-\-replace-registry\fR 
55 .br
56 Remove the shared memory registry used by all JACK server instances
57 before startup. This should rarely be used, and is intended only
58 for occasions when the structure of this registry changes in ways
59 that are incompatible across JACK versions (which is rare).
60 .TP
61 \fB\-R, \-\-realtime\fR 
62 .br
63 Use realtime scheduling (default = true). This is needed for reliable low\-latency
64 performance.  On many systems, it requires \fBjackd\fR to run with
65 special scheduler and memory allocation privileges, which may be
66 obtained in several ways. 
67 .TP
68 \fB\-r, \-\-no-realtime\fR
69 .br
70 Do not use realtime scheduling. 
71 .TP
72 \fB\-P, \-\-realtime\-priority \fIint\fR
73 When running \fB\-\-realtime\fR, set the scheduler priority to
74 \fIint\fR.
75 .TP
76 \fB\-\-silent\fR
77 Silence any output during operation.
78 .TP
79 \fB\-T, \-\-temporary\fR
80 Exit once all clients have closed their connections.
81 .TP
82 \fB\-t, \-\-timeout \fIint\fR
83 .br
84 Set client timeout limit in milliseconds.  The default is 500 msec.
85 In realtime mode the client timeout must be smaller than the watchdog timeout (5000 msec).
86 .TP
87 \fB\-Z, \-\-nozombies\fR
88 .br
89 Prevent JACK from ever kicking out clients because they were too slow.
90 This cancels the effect any specified timeout value, but JACK and its clients are
91 still subject to the supervision of the watchdog thread or its equivalent.
92 .TP
93 \fB\-u, \-\-unlock\fR
94 .br
95 Unlock libraries GTK+, QT, FLTK, Wine.
96 .TP
97 \fB\-v, \-\-verbose\fR
98 Give verbose output.
99 .TP
100 \fB\-c, \-\-clocksource\fR (\fI c(ycle)\fR | \fI h(pet) \fR | \fI s(ystem) \fR)
101 Select a specific wall clock (Cycle Counter, HPET timer, System timer).
103 \fB\-V, \-\-version\fR
104 Print the current JACK version number and exit.
105 .SS ALSA BACKEND OPTIONS
107 \fB\-C, \-\-capture\fR [ \fIname\fR ]
108 Provide only capture ports, unless combined with \-D or \-P.  Parameterally set 
109 capture device name.
111 \fB\-d, \-\-device \fIname\fR
113 The ALSA pcm device \fIname\fR to use.  If none is specified, JACK will
114 use "hw:0", the first hardware card defined in \fB/etc/modules.conf\fR.
116 \fB\-z, \-\-dither [rectangular,triangular,shaped,none]
117 Set dithering mode.  If \fBnone\fR or unspecified, dithering is off.
118 Only the first letter of the mode name is required.
120 \fB\-D, \-\-duplex\fR
121 Provide both capture and playback ports.  Defaults to on unless only one 
122 of \-P or \-C is specified.
124 \fB\-h, \-\-help\fR Print a brief usage message describing only the
125 \fBalsa\fR backend parameters.
127 \fB\-M, \-\-hwmeter\fR
129 Enable hardware metering for devices that support it.  Otherwise, use
130 software metering.
132 \fB\-H, \-\-hwmon\fR
134 Enable hardware monitoring of capture ports.  This is a method for
135 obtaining "zero latency" monitoring of audio input.  It requires
136 support in hardware and from the underlying ALSA device driver.
138 When enabled, requests to monitor capture ports will be satisfied by
139 creating a direct signal path between audio interface input and output
140 connectors, with no processing by the host computer at all.  This
141 offers the lowest possible latency for the monitored signal.
143 Presently (March 2003), only the RME Hammerfall series and cards based
144 on the ICE1712 chipset (M\-Audio Delta series, Terratec, and others)
145 support \fB\-\-hwmon\fR.  In the future, some consumer cards may also
146 be supported by modifying their mixer settings.
148 Without \fB\-\-hwmon\fR, port monitoring requires JACK to read audio
149 into system memory, then copy it back out to the hardware again,
150 imposing the basic JACK system latency determined by the
151 \fB\-\-period\fR and \fB\-\-nperiods\fR parameters.
153 \fB\-i, \-\-inchannels \fIint\fR
155 Number of capture channels.  Default is maximum supported by hardware.
157 \fB\-n, \-\-nperiods \fIint\fR
159 Specify the number of periods of playback latency.  In seconds, this
160 corresponds to \fB\-\-nperiods\fR times \fB\-\-period\fR divided by
161 \fB\-\-rate\fR.  The default is 2, the minimum allowable.  For most
162 devices, there is no need for any other value with the
163 \fB\-\-realtime\fR option.  Without realtime privileges or with boards
164 providing unreliable interrupts (like ymfpci), a larger value may
165 yield fewer xruns.  This can also help if the system is not tuned for
166 reliable realtime scheduling.
168 For most ALSA devices, the hardware buffer has exactly
169 \fB\-\-period\fR times \fB\-\-nperiods\fR frames.  Some devices demand
170 a larger buffer.  If so, JACK will use the smallest possible buffer
171 containing at least \fB\-\-nperiods\fR, but the playback latency does
172 not increase.
174 For USB audio devices it is recommended to use \fB\-n 3\fR. Firewire
175 devices supported by FFADO (formerly Freebob) are configured with
176 \fB\-n 3\fR by default.
178 \fB\-o, \-\-outchannels \fIint\fR
180 Number of playback channels.  Default is maximum supported by hardware.
182 \fB\-P, \-\-playback\fR [ \fIname\fR ]
183 Provide only playback ports, unless combined with \-D or \-C.  Optionally set 
184 playback device name.
186 \fB\-p, \-\-period \fIint\fR
188 Specify the number of frames between JACK \fBprocess()\fR calls.  This
189 value must be a power of 2, and the default is 1024.  If you need low 
190 latency, set \fB\-p\fR as low as you can go without seeing xruns.  A larger 
191 period size yields higher latency, but makes xruns less likely.  The JACK 
192 capture latency in seconds is \fB\-\-period\fR divided by \fB\-\-rate\fR.
194 \fB\-r, \-\-rate \fIint\fR
195 Specify the sample rate.  The default is 48000.
197 \fB\-S, \-\-shorts
199 Try to configure card for 16\-bit samples first, only trying 32\-bits if
200 unsuccessful.  Default is to prefer 32\-bit samples.
202 \fB\-s, \-\-softmode\fR 
204 Ignore xruns reported by the ALSA driver.  This makes JACK less likely
205 to disconnect unresponsive ports when running without \fB\-\-realtime\fR.
207 \fB\-X, \-\-midi \fR[\fIseq\fR|\fIraw\fR]
209 Specify which ALSA MIDI system to provide access to. Using \fBraw\fR
210 will provide a set of JACK MIDI ports that correspond to each raw ALSA
211 device on the machine. Using \fBseq\fR will provide a set of JACK MIDI
212 ports that correspond to each ALSA "sequencer" client (which includes
213 each hardware MIDI port on the machine). \fBraw\fR provides slightly
214 better performance but does not permit JACK MIDI communication with
215 software written to use the ALSA "sequencer" API.
216 .SS COREAUDIO BACKEND PARAMETERS
218 \fB\-c \-\-channel\fR
219 Maximum number of channels (default: 2)
221 \fB\-i \-\-channelin\fR
222 Maximum number of input channels (default: 2)
224 \fB\-o \-\-channelout\fR
225 Maximum number of output channels (default: 2)
227 \fB\-C \-\-capture\fR
228 Whether or not to capture (default: true)
230 \fB\-P \-\-playback\fR
231 Whether or not to playback (default: true)
233 \fB\-D \-\-duplex\fR
234 Capture and playback (default: true)
236 \fB\-r \-\-rate\fR
237 Sample rate (default: 44100)
239 \fB\-p \-\-period\fR
240 Frames per period (default: 128). Must be a power of 2.
242 \fB\-n \-\-name\fR
243 Driver name (default: none)
245 \fB\-I \-\-id\fR
246 Audio Device ID (default: 0)
247 .SS DUMMY BACKEND PARAMETERS
249 \fB\-C, \-\-capture \fIint\fR
250 Specify number of capture ports. The default value is 2.
252 \fB\-P, \-\-playback \fIint\fR
253 Specify number of playback ports. The default value is 2.
255 \fB\-r, \-\-rate \fIint\fR
256 Specify sample rate. The default value is 48000.
258 \fB\-p, \-\-period \fIint\fR
259 Specify the number of frames between JACK \fBprocess()\fR calls.  This
260 value must be a power of 2, and the default is 1024.  If you need low 
261 latency, set \fB\-p\fR as low as you can go without seeing xruns.  A larger 
262 period size yields higher latency, but makes xruns less likely.  The JACK 
263 capture latency in seconds is \fB\-\-period\fR divided by \fB\-\-rate\fR.
265 \fB\-w, \-\-wait \fIint\fR 
266 Specify number of usecs to wait between engine processes. 
267 The default value is 21333.
270 .SS NET BACKEND PARAMETERS
273  \fB\-i, \-\-audio\-ins \fIint\fR
274 Number of capture channels (default: 2)
276  \fB\-o, \-\-audio\-outs \fIint\fR
277 Number of playback channels (default: 2)
279  \fB\-I, \-\-midi\-ins \fIint\fR
280 Number of midi capture channels (default: 1)
281 .TP 
282 \fB\-O, \-\-midi\-outs \fIint\fR
283 Number of midi playback channels (default: 1)
285  \fB\-r, \-\-rate \fIint\fR
286 Sample rate (default: 48000)
287 .TP 
288 \fB\-p, \-\-period \fIint\fR
289 Frames per period (default: 1024)
290 .TP 
291 \fB\-n, \-\-num\-periods \fIint\fR
292 Network latency setting in no. of periods (default: 5)
293 .TP 
294 \fB\-l, \-\-listen\-port \fIint\fR
295 The socket port we are listening on for sync packets (default: 3000)
296 .TP 
297 \fB\-f, \-\-factor \fIint\fR
298 Factor for sample rate reduction (default: 1)
299 .TP 
300 \fB\-u, \-\-upstream\-factor \fIint\fR
301 Factor for sample rate reduction on the upstream (default: 0)
302 .TP 
303 \fB\-c, \-\-celt \fIint\fR
304 sets celt encoding and number of kbits per channel (default: 0)
305 .TP 
306 \fB\-b, \-\-bit\-depth \fIint\fR
307 Sample bit\-depth (0 for float, 8 for 8bit and 16 for 16bit) (default: 0)
308 .TP 
309 \fB\-t, \-\-transport\-sync \fIint\fR
310 Whether to slave the transport to the master transport (default: true)
311 .TP 
312 \fB\-a, \-\-autoconf \fIint\fR
313 Whether to use Autoconfig, or just start. (default: true)
314 .TP 
315 \fB\-R, \-\-redundancy \fIint\fR
316 Send packets N times (default: 1)
317 .TP 
318 \fB\-e, \-\-native\-endian \fIint\fR
319 Dont convert samples to network byte order. (default: false)
320 .TP 
321 \fB\-J, \-\-jitterval \fIint\fR
322 attempted jitterbuffer microseconds on master (default: 0)
323 .TP 
324 \fB\-D, \-\-always\-deadline \fIint\fR
325 always use deadline (default: false)
328 .SS OSS BACKEND PARAMETERS
330 \fB\-r, \-\-rate \fIint\fR
331 Specify the sample rate.  The default is 48000.
333 \fB\-p, \-\-period \fIint\fR
334 Specify the number of frames between JACK \fBprocess()\fR calls.  This
335 value must be a power of 2, and the default is 1024.  If you need low 
336 latency, set \fB\-p\fR as low as you can go without seeing xruns.  A larger 
337 period size yields higher latency, but makes xruns less likely.  The JACK 
338 capture latency in seconds is \fB\-\-period\fR divided by \fB\-\-rate\fR.
340 \fB\-n, \-\-nperiods \fIint\fR
341 Specify the number of periods in the hardware buffer.  The default is
342 2.  The period size (\fB\-p\fR) times \fB\-\-nperiods\fR times four is
343 the JACK buffer size in bytes.  The JACK output latency in seconds is
344 \fB\-\-nperiods\fR times \fB\-\-period\fR divided by \fB\-\-rate\fR.
346 \fB\-w, \-\-wordlength \fIint\fR
347 Specify the sample size in bits. The default is 16.
349 \fB\-i, \-\-inchannels \fIint\fR
350 Specify how many channels to capture (default: 2)
352 \fB\-o, \-\-outchannels \fIint\fR
353 Specify number of playback channels (default: 2)
355 \fB\-C, \-\-capture \fIdevice_file\fR
356 Specify input device for capture (default: /dev/dsp)
358 \fB\-P, \-\-playback \fIdevice_file\fR
359 Specify output device for playback (default: /dev/dsp)
361 \fB\-b, \-\-ignorehwbuf \fIboolean\fR
362 Specify, whether to ignore hardware period size (default: false)
363 .SS SUN BACKEND PARAMETERS
365 \fB\-r, \-\-rate \fIint\fR
366 Specify the sample rate.  The default is 48000.
368 \fB\-p, \-\-period \fIint\fR
369 Specify the number of frames between JACK \fBprocess()\fR calls.  This
370 value must be a power of 2, and the default is 1024.  If you need low 
371 latency, set \fB\-p\fR as low as you can go without seeing xruns.  A larger 
372 period size yields higher latency, but makes xruns less likely.  The JACK 
373 capture latency in seconds is \fB\-\-period\fR divided by \fB\-\-rate\fR.
375 \fB\-n, \-\-nperiods \fIint\fR
376 Specify the number of periods in the hardware buffer.  The default is
377 2.  The period size (\fB\-p\fR) times \fB\-\-nperiods\fR times four
378 (assuming 2 channels 16-bit samples) is the JACK buffer size in bytes.
379 The JACK output latency in seconds is \fB\-\-nperiods\fR times
380 \fB\-\-period\fR divided by \fB\-\-rate\fR.
382 \fB\-w, \-\-wordlength \fIint\fR
383 Specify the sample size in bits. The default is 16.
385 \fB\-i, \-\-inchannels \fIint\fR
386 Specify how many channels to capture (default: 2)
388 \fB\-o, \-\-outchannels \fIint\fR
389 Specify number of playback channels (default: 2)
391 \fB\-C, \-\-capture \fIdevice_file\fR
392 Specify input device for capture (default: /dev/audio)
394 \fB\-P, \-\-playback \fIdevice_file\fR
395 Specify output device for playback (default: /dev/audio)
397 \fB\-b, \-\-ignorehwbuf \fIboolean\fR
398 Specify, whether to ignore hardware period size (default: false)
399 .SS PORTAUDIO BACKEND PARAMETERS
401 \fB\-c \-\-channel\fR
402 Maximum number of channels (default: all available hardware channels)
404 \fB\-i \-\-channelin\fR
405 Maximum number of input channels (default: all available hardware channels)
407 \fB\-o \-\-channelout\fR
408 Maximum number of output channels (default: all available hardware channels)
410 \fB\-C \-\-capture\fR
411 Whether or not to capture (default: true)
413 \fB\-P \-\-playback\fR
414 Whether or not to playback (default: true)
416 \fB\-D \-\-duplex\fR
417 Capture and playback (default: true)
419 \fB\-r \-\-rate\fR
420 Sample rate (default: 48000)
422 \fB\-p \-\-period\fR
423 Frames per period (default: 1024). Must be a power of 2.
425 \fB\-n \-\-name\fR
426 Driver name (default: none)
428 \fB\-z \-\-dither\fR
429 Dithering mode (default: none)
430 .SH "EXAMPLES"
432 Print usage message for the parameters specific to each backend.
434 \fBjackd \-d alsa \-\-help\fR
436 \fBjackd \-d coreaudio \-\-help\fR
438 \fBjackd \-d net \-\-help\fR
440 \fBjackd \-d dummy \-\-help\fR
442 \fBjackd \-d firewire \-\-help\fR
444 \fBjackd \-d freebob \-\-help\fR
446 \fBjackd \-d oss \-\-help\fR
448 \fBjackd \-d sun \-\-help\fR
450 \fBjackd \-d portaudio \-\-help\fR
452 Run the JACK daemon with realtime priority using the first ALSA
453 hardware card defined in \fB/etc/modules.conf\fR.
455 \fBjackstart \-\-realtime \-\-driver=alsa\fR
457 Run the JACK daemon with low latency giving verbose output, which can
458 be helpful for trouble\-shooting system latency problems.  A
459 reasonably well\-tuned system with a good sound card and a
460 low\-latency kernel can handle these values reliably.  Some can do
461 better.  If you get xrun messages, try a larger buffer.  Tuning a
462 system for low latency can be challenging.  The JACK FAQ,
463 .I http://jackit.sourceforge.net/docs/faq.php\fR
464 has some useful suggestions.
466 \fBjackstart \-Rv \-d alsa \-p 128 \-n 2 \-r 44100\fR
468 Run \fBjackd\fR with realtime priority using the "sblive" ALSA device
469 defined in ~/.asoundrc.  Apply shaped dithering to playback audio.
471 \fBjackd \-R \-d alsa \-d sblive \-\-dither=shaped\fR
473 Run \fBjackd\fR with no special privileges using the second ALSA
474 hardware card defined in \fB/etc/modules.conf\fR.  Any xruns reported
475 by the ALSA backend will be ignored.  The larger buffer helps reduce
476 data loss.  Rectangular dithering will be used for playback.
478 \fBjackd \-d alsa \-d hw:1 \-p2048 \-n3 \-\-softmode \-zr\fR
480 Run \fBjackd\fR in full\-duplex mode using the ALSA hw:0,0 device for 
481 playback and the hw:0,2 device for capture.
483 \fBjackd \-d alsa \-P hw:0,0 \-C hw:0,2\fR
485 Run \fBjackd\fR in playback\-only mode using the ALSA hw:0,0 device. 
487 \fBjackd \-d alsa \-P hw:0,0\fR
488 .SH "ENVIRONMENT"
490 JACK is evolving a mechanism for automatically starting the server
491 when needed.  Any client started without a running JACK server will
492 attempt to start one itself using the command line found in the first
493 line of \fB$HOME/.jackdrc\fR if it exists, or \fB/etc/jackdrc\fR if it
494 does not.  If neither file exists, a built\-in default command will be
495 used, including the \fB\-T\fR flag, which causes the server to shut
496 down when all clients have exited.
498 As a transition, this only happens when \fB$JACK_START_SERVER\fR is
499 defined in the environment of the calling process.  In the future this
500 will become normal behavior.  In either case, defining
501 \fB$JACK_NO_START_SERVER\fR disables this feature.
503 To change where JACK looks for the backend drivers, set
504 \fB$JACK_DRIVER_DIR\fR.
506 \fB$JACK_DEFAULT_SERVER\fR specifies the default server name.  If not
507 defined, the string "default" is used.  If set in their respective
508 environments, this affects \fBjackd\fR unless its \fB\-\-name\fR
509 parameter is set, and all JACK clients unless they pass an explicit
510 name to \fBjack_client_open()\fR.
512 .SH "SEE ALSO:"
514 .I http://www.jackaudio.org
516 The official JACK website with news, docs and a list of JACK clients.
518 .I http://jackaudio.org/email
520 The JACK developers' mailing list.  Subscribe, to take part in
521 development of JACK or JACK clients.  User questions are also welcome,
522 there is no user-specific mailing list.
524 .I http://www.jackosx.com/
526 Tools specific to the Mac OS X version of JACK.
528 .I http://www.alsa\-project.org
530 The Advanced Linux Sound Architecture.
531 .SH "BUGS"
532 Please report bugs to
534 .I http://trac.jackaudio.org/
535 .SH "AUTHORS"
536 Architect and original implementor: Paul Davis
538 Original design Group: Paul Davis, David Olofson, Kai Vehmanen, Benno Sennoner,
539 Richard Guenther, and other members of the Linux Audio Developers group.
541 Programming: Paul Davis, Jack O'Quin, Taybin Rutkin, Stephane Letz, Fernando
542 Pablo Lopez-Lezcano, Steve Harris, Jeremy Hall, Andy Wingo, Kai
543 Vehmanen, Melanie Thielker, Jussi Laako, Tilman Linneweh, Johnny
544 Petrantoni, Torben Hohn.
546 Manpage written by Stefan Schwandter, Jack O'Quin and Alexandre
547 Prokoudine.