1JACKD(1) JACKD(1)
2
3
4
6 jackd, jackstart - JACK Audio Connection Kit sound server
7
9 jackd [options] -d backend [backend-parameters]
10 jackstart [options] -d backend [backend-parameters]
11 jackd --help
12
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
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
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
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
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
402 Please report bugs to
403 http://jackit.sourceforge.net/mantis/main_page.php
404
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)