jack1 codebase
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

427 lines
15KB

  1. .TH "JACKD" "1" "@VERSION@" "April 2006" ""
  2. .SH "NAME"
  3. jackd, jackstart \- JACK Audio Connection Kit sound server
  4. .SH "SYNOPSYS"
  5. \fBjackd\fR [\fIoptions\fR] \fB\-d\fI backend \fR
  6. [\fIbackend\-parameters\fR]
  7. .br
  8. \fBjackstart\fR [\fIoptions\fR] \fB\-d\fI backend \fR
  9. [\fIbackend\-parameters\fR]
  10. .br
  11. \fBjackd \-\-help\fR
  12. .SH "DESCRIPTION"
  13. \fBjackd\fR invokes the JACK audio server daemon. The \fBjackstart\fR
  14. command provides JACK's built\-in support for Linux 2.4.x kernels with
  15. the realtime capabilities patch. Use \fBjackd\fR for Linux 2.6.x and
  16. all other systems. All parameters are the same.
  17. JACK is a low\-latency audio server. Originally written for the
  18. GNU/Linux operating system, it also supports Mac OS X and various Unix
  19. platforms. JACK can connect a number of different client applications
  20. to an audio device and also to each other. Most clients are external,
  21. running in their own processes as normal applications. JACK also
  22. supports internal clients, which run within the \fBjackd\fR process
  23. using a loadable "plugin" interface.
  24. JACK differs from other audio servers in being designed from the
  25. ground up for professional audio work. It focuses on two key areas:
  26. synchronous execution of all clients, and low latency operation.
  27. For the latest JACK information, please consult the web site,
  28. <\fBhttp://www.jackaudio.org\fR>.
  29. .SH "OPTIONS"
  30. .TP
  31. \fB\-d, \-\-driver \fIbackend\fR [\fIbackend\-parameters\fR ]
  32. .br
  33. Select the audio interface backend. The current list of supported
  34. backends is: \fBalsa\fR, \fBcoreaudio\fR, \fBdummy\fR, \fBfreebob\fR,
  35. \fBoss\fR and \fBportaudio\fR. They are not all available on all
  36. platforms. All \fIbackend\-parameters\fR are optional.
  37. .TP
  38. \fB\-h, \-\-help\fR
  39. .br
  40. Print a brief usage message describing the main \fBjackd\fR options.
  41. These do not include \fIbackend\-parameters\fR, which are listed using
  42. the \fB\-\-help\fR option for each specific backend. Examples below
  43. show how to list them.
  44. .TP
  45. \fB\-m, \-\-no\-mlock\fR
  46. Do not attempt to lock memory, even if \fB\-\-realtime\fR.
  47. .TP
  48. \fB\-n, \-\-name\fR \fIserver\-name\fR
  49. Name this \fBjackd\fR instance \fIserver\-name\fR. If unspecified,
  50. this name comes from the \fB$JACK_DEFAULT_SERVER\fR environment
  51. variable. It will be "default" if that is not defined.
  52. .TP
  53. \fB\-p, \-\-port\-max \fI n\fR
  54. Set the maximum number of ports the JACK server can manage.
  55. The default value is 128.
  56. .TP
  57. \fB\-R, \-\-realtime\fR
  58. .br
  59. Use realtime scheduling. This is needed for reliable low\-latency
  60. performance. On most systems, it requires \fBjackd\fR to run with
  61. special scheduler and memory allocation privileges, which may be
  62. obtained in several ways. The simplest, and least-secure method is to
  63. run \fBjackd\fR with root privileges. This means that all JACK
  64. clients must also run as root. With a Linux 2.6 kernel, ordinary
  65. users can run \fBjackd\fR and its clients using options of the
  66. realtime LSM. Linux 2.4 kernels need "POSIX draft capabilities"
  67. enabled (see the \fB<linux/capability.h>\fR include file). Using that
  68. method, ordinary users who invoke the daemon using \fBjackstart\fR,
  69. can later launch JACK clients without running them as root. See
  70. .I http://jackit.sourceforge.net/docs/faq.php#a52
  71. for more information.
  72. .TP
  73. \fB\-P, \-\-realtime\-priority \fIint\fR
  74. When running \fB\-\-realtime\fR, set the scheduler priority to
  75. \fIint\fR.
  76. .TP
  77. \fB\-\-silent\fR
  78. Silence any output during operation.
  79. .TP
  80. \fB\-T, \-\-temporary\fR
  81. Exit once all clients have closed their connections.
  82. .TP
  83. \fB\-t, \-\-timeout \fIint\fR
  84. .br
  85. Set client timeout limit in milliseconds. The default is 500 msec
  86. when not in realtime mode (see: \-R).
  87. .TP
  88. \fB\-u, \-\-unlock\fR
  89. .br
  90. Unlock libraries GTK+, QT, FLTK, Wine.
  91. .TP
  92. \fB\-v, \-\-verbose\fR
  93. Give verbose output.
  94. .TP
  95. \fB\-V, \-\-version\fR
  96. Print the current JACK version number and exit.
  97. .SS ALSA BACKEND OPTIONS
  98. .TP
  99. \fB\-C, \-\-capture\fR [ \fIname\fR ]
  100. Provide only capture ports, unless combined with \-D or \-P. Parameterally set
  101. capture device name.
  102. .TP
  103. \fB\-d, \-\-device \fIname\fR
  104. .br
  105. The ALSA pcm device \fIname\fR to use. If none is specified, JACK will
  106. use "hw:0", the first hardware card defined in \fB/etc/modules.conf\fR.
  107. .TP
  108. \fB\-z, \-\-dither [rectangular,triangular,shaped,none]
  109. Set dithering mode. If \fBnone\fR or unspecified, dithering is off.
  110. Only the first letter of the mode name is required.
  111. .TP
  112. \fB\-D, \-\-duplex\fR
  113. Provide both capture and playback ports. Defaults to on unless only one
  114. of \-P or \-C is specified.
  115. .TP
  116. \fB\-h, \-\-help\fR Print a brief usage message describing only the
  117. \fBalsa\fR backend parameters.
  118. .TP
  119. \fB\-M, \-\-hwmeter\fR
  120. .br
  121. Enable hardware metering for devices that support it. Otherwise, use
  122. software metering.
  123. .TP
  124. \fB\-H, \-\-hwmon\fR
  125. .br
  126. Enable hardware monitoring of capture ports. This is a method for
  127. obtaining "zero latency" monitoring of audio input. It requires
  128. support in hardware and from the underlying ALSA device driver.
  129. When enabled, requests to monitor capture ports will be satisfied by
  130. creating a direct signal path between audio interface input and output
  131. connectors, with no processing by the host computer at all. This
  132. offers the lowest possible latency for the monitored signal.
  133. Presently (March 2003), only the RME Hammerfall series and cards based
  134. on the ICE1712 chipset (M\-Audio Delta series, Terratec, and others)
  135. support \fB\-\-hwmon\fR. In the future, some consumer cards may also
  136. be supported by modifying their mixer settings.
  137. Without \fB\-\-hwmon\fR, port monitoring requires JACK to read audio
  138. into system memory, then copy it back out to the hardware again,
  139. imposing the basic JACK system latency determined by the
  140. \fB\-\-period\fR and \fB\-\-nperiods\fR parameters.
  141. .TP
  142. \fB\-i, \-\-inchannels \fIint\fR
  143. .br
  144. Number of capture channels. Default is maximum supported by hardware.
  145. .TP
  146. \fB\-n, \-\-nperiods \fIint\fR
  147. .br
  148. Specify the number of periods of playback latency. In seconds, this
  149. corresponds to \fB\-\-nperiods\fR times \fB\-\-period\fR divided by
  150. \fB\-\-rate\fR. The default is 2, the minimum allowable. For most
  151. devices, there is no need for any other value with the
  152. \fB\-\-realtime\fR option. Without realtime privileges or with boards
  153. providing unreliable interrupts (like ymfpci), a larger value may
  154. yield fewer xruns. This can also help if the system is not tuned for
  155. reliable realtime scheduling.
  156. For most ALSA devices, the hardware buffer has exactly
  157. \fB\-\-period\fR times \fB\-\-nperiods\fR frames. Some devices demand
  158. a larger buffer. If so, JACK will use the smallest possible buffer
  159. containing at least \fB\-\-nperiods\fR, but the playback latency does
  160. not increase.
  161. .TP
  162. \fB\-o, \-\-outchannels \fIint\fR
  163. .br
  164. Number of playback channels. Default is maximum supported by hardware.
  165. .TP
  166. \fB\-P, \-\-playback\fR [ \fIname\fR ]
  167. Provide only playback ports, unless combined with \-D or \-C. Optionally set
  168. playback device name.
  169. .TP
  170. \fB\-p, \-\-period \fIint\fR
  171. .br
  172. Specify the number of frames between JACK \fBprocess()\fR calls. The
  173. default is 1024. If you need low latency, set \fB\-p\fR as low as you
  174. can go without seeing xruns. A larger period size yields higher
  175. latency, but makes xruns less likely. The JACK capture latency in
  176. seconds is \fB\-\-period\fR divided by \fB\-\-rate\fR.
  177. .TP
  178. \fB\-r, \-\-rate \fIint\fR
  179. Specify the sample rate. The default is 48000.
  180. .TP
  181. \fB\-S, \-\-shorts
  182. .br
  183. Try to configure card for 16\-bit samples first, only trying 32\-bits if
  184. unsuccessful. Default is to prefer 32\-bit samples.
  185. .TP
  186. \fB\-s, \-\-softmode\fR
  187. .br
  188. Ignore xruns reported by the ALSA driver. This makes JACK less likely
  189. to disconnect unresponsive ports when running without \fB\-\-realtime\fR.
  190. .SS COREAUDIO BACKEND PARAMETERS
  191. .TP
  192. \fB\-c \-\-channel\fR
  193. Maximum number of channels (default: 2)
  194. .TP
  195. \fB\-i \-\-channelin\fR
  196. Maximum number of input channels (default: 2)
  197. .TP
  198. \fB\-o \-\-channelout\fR
  199. Maximum number of output channels (default: 2)
  200. .TP
  201. \fB\-C \-\-capture\fR
  202. Whether or not to capture (default: true)
  203. .TP
  204. \fB\-P \-\-playback\fR
  205. Whether or not to playback (default: true)
  206. .TP
  207. \fB\-D \-\-duplex\fR
  208. Capture and playback (default: true)
  209. .TP
  210. \fB\-r \-\-rate\fR
  211. Sample rate (default: 44100)
  212. .TP
  213. \fB\-p \-\-period\fR
  214. Frames per period (default: 128)
  215. .TP
  216. \fB\-n \-\-name\fR
  217. Driver name (default: none)
  218. .TP
  219. \fB\-I \-\-id\fR
  220. Audio Device ID (default: 0)
  221. .SS DUMMY BACKEND PARAMETERS
  222. .TP
  223. \fB\-C, \-\-capture \fIint\fR
  224. Specify number of capture ports. The default value is 2.
  225. .TP
  226. \fB\-P, \-\-playback \fIint\fR
  227. Specify number of playback ports. The default value is 2.
  228. .TP
  229. \fB\-r, \-\-rate \fIint\fR
  230. Specify sample rate. The default value is 48000.
  231. .TP
  232. \fB\-p, \-\-period \fIint\fR
  233. Specify number of frames per period. The default value is 1024.
  234. If you need low latency, set \fB\-p\fR as low as you
  235. can go without seeing xruns. A larger period size yields higher
  236. latency, but makes xruns less likely. The JACK capture latency in
  237. seconds is \fB\-\-period\fR divided by \fB\-\-rate\fR.
  238. .TP
  239. \fB\-w, \-\-wait \fIint\fR
  240. Specify number of usecs to wait between engine processes.
  241. The default value is 21333.
  242. .SS OSS BACKEND PARAMETERS
  243. .TP
  244. \fB\-r, \-\-rate \fIint\fR
  245. Specify the sample rate. The default is 48000.
  246. .TP
  247. \fB\-p, \-\-period \fIint\fR
  248. Specify number of frames between JACK \fBprocess()\fR calls. The
  249. default is 1024. If you need low latency, set \fB\-p\fR as low as you
  250. can go without seeing xruns. A larger period size yields higher
  251. latency, but makes xruns less likely. The JACK capture latency in
  252. seconds is \fB\-\-period\fR divided by \fB\-\-rate\fR.
  253. .TP
  254. \fB\-n, \-\-nperiods \fIint\fR
  255. Specify the number of periods in the hardware buffer. The default is
  256. 2. The period size (\fB\-p\fR) times \fB\-\-nperiods\fR times four is
  257. the JACK buffer size in bytes. The JACK output latency in seconds is
  258. \fB\-\-nperiods\fR times \fB\-\-period\fR divided by \fB\-\-rate\fR.
  259. .TP
  260. \fB\-w, \-\-wordlength \fIint\fR
  261. Specify the sample size in bits. The default is 16.
  262. .TP
  263. \fB\-i, \-\-inchannels \fIint\fR
  264. Specify how many channels to capture (default: 2)
  265. .TP
  266. \fB\-o, \-\-outchannels \fIint\fR
  267. Specify number of playback channels (default: 2)
  268. .TP
  269. \fB\-C, \-\-capture \fIdevice_file\fR
  270. Specify input device for capture (default: /dev/dsp)
  271. .TP
  272. \fB\-P, \-\-playback \fIdevice_file\fR
  273. Specify output device for playback (default: /dev/dsp)
  274. .TP
  275. \fB\-b, \-\-ignorehwbuf \fIboolean\fR
  276. Specify, whether to ignore hardware period size (default: false)
  277. .SS PORTAUDIO BACKEND PARAMETERS
  278. .TP
  279. \fB\-c \-\-channel\fR
  280. Maximum number of channels (default: all available hardware channels)
  281. .TP
  282. \fB\-i \-\-channelin\fR
  283. Maximum number of input channels (default: all available hardware channels)
  284. .TP
  285. \fB\-o \-\-channelout\fR
  286. Maximum number of output channels (default: all available hardware channels)
  287. .TP
  288. \fB\-C \-\-capture\fR
  289. Whether or not to capture (default: true)
  290. .TP
  291. \fB\-P \-\-playback\fR
  292. Whether or not to playback (default: true)
  293. .TP
  294. \fB\-D \-\-duplex\fR
  295. Capture and playback (default: true)
  296. .TP
  297. \fB\-r \-\-rate\fR
  298. Sample rate (default: 48000)
  299. .TP
  300. \fB\-p \-\-period\fR
  301. Frames per period (default: 1024)
  302. .TP
  303. \fB\-n \-\-name\fR
  304. Driver name (default: none)
  305. .TP
  306. \fB\-z \-\-dither\fR
  307. Dithering mode (default: none)
  308. .SH "EXAMPLES"
  309. .PP
  310. Print usage message for the parameters specific to each backend.
  311. .IP
  312. \fBjackd \-d alsa \-\-help\fR
  313. .br
  314. \fBjackd \-d coreaudio \-\-help\fR
  315. .br
  316. \fBjackd \-d dummy \-\-help\fR
  317. .br
  318. \fBjackd \-d freebob \-\-help\fR
  319. .br
  320. \fBjackd \-d oss \-\-help\fR
  321. .br
  322. \fBjackd \-d portaudio \-\-help\fR
  323. .PP
  324. Run the JACK daemon with realtime priority using the first ALSA
  325. hardware card defined in \fB/etc/modules.conf\fR.
  326. .IP
  327. \fBjackstart \-\-realtime \-\-driver=alsa\fR
  328. .PP
  329. Run the JACK daemon with low latency giving verbose output, which can
  330. be helpful for trouble\-shooting system latency problems. A
  331. reasonably well\-tuned system with a good sound card and a
  332. low\-latency kernel can handle these values reliably. Some can do
  333. better. If you get xrun messages, try a larger buffer. Tuning a
  334. system for low latency can be challenging. The JACK FAQ,
  335. .I http://jackit.sourceforge.net/docs/faq.php\fR
  336. has some useful suggestions.
  337. .IP
  338. \fBjackstart \-Rv \-d alsa \-p 128 \-n 2 \-r 44100\fR
  339. .PP
  340. Run \fBjackd\fR with realtime priority using the "sblive" ALSA device
  341. defined in ~/.asoundrc. Apply shaped dithering to playback audio.
  342. .IP
  343. \fBjackd \-R \-d alsa \-d sblive \-\-dither=shaped\fR
  344. .PP
  345. Run \fBjackd\fR with no special privileges using the second ALSA
  346. hardware card defined in \fB/etc/modules.conf\fR. Any xruns reported
  347. by the ALSA backend will be ignored. The larger buffer helps reduce
  348. data loss. Rectangular dithering will be used for playback.
  349. .IP
  350. \fBjackd \-d alsa \-d hw:1 \-p2048 \-n3 \-\-softmode \-zr\fR
  351. .PP
  352. Run \fBjackd\fR in full\-duplex mode using the ALSA hw:0,0 device for
  353. playback and the hw:0,2 device for capture.
  354. .IP
  355. \fBjackd \-d alsa \-P hw:0,0 \-C hw:0,2\fR
  356. .PP
  357. Run \fBjackd\fR in playback\-only mode using the ALSA hw:0,0 device.
  358. .IP
  359. \fBjackd \-d alsa \-P hw:0,0\fR
  360. .SH "ENVIRONMENT"
  361. .br
  362. JACK is evolving a mechanism for automatically starting the server
  363. when needed. Any client started without a running JACK server will
  364. attempt to start one itself using the command line found in the first
  365. line of \fB$HOME/.jackdrc\fR if it exists, or \fB/etc/jackdrc\fR if it
  366. does not. If neither file exists, a built\-in default command will be
  367. used, including the \fB\-T\fR flag, which causes the server to shut
  368. down when all clients have exited.
  369. As a transition, this only happens when \fB$JACK_START_SERVER\fR is
  370. defined in the environment of the calling process. In the future this
  371. will become normal behavior. In either case, defining
  372. \fB$JACK_NO_START_SERVER\fR disables this feature.
  373. To change where JACK looks for the backend drivers, set
  374. \fB$JACK_DRIVER_DIR\fR.
  375. \fB$JACK_DEFAULT_SERVER\fR specifies the default server name. If not
  376. defined, the string "default" is used. If set in their respective
  377. environments, this affects \fBjackd\fR unless its \fB\-\-name\fR
  378. parameter is set, and all JACK clients unless they pass an explicit
  379. name to \fBjack_client_open()\fR.
  380. .SH "SEE ALSO:"
  381. .PP
  382. .I http://www.jackaudio.org
  383. .br
  384. The official JACK website with news, docs and a list of JACK clients.
  385. .PP
  386. .I http://lists.sourceforge.net/mailman/listinfo/jackit\-devel
  387. .br
  388. The JACK developers' mailing list. Subscribe, to take part in
  389. development of JACK or JACK clients. User questions are also welcome,
  390. there is no user-specific mailing list.
  391. .PP
  392. .I http://www.jackosx.com/
  393. .br
  394. Tools specific to the Mac OS X version of JACK.
  395. .PP
  396. .I http://www.alsa\-project.org
  397. .br
  398. The Advanced Linux Sound Architecture.
  399. .SH "BUGS"
  400. Please report bugs to
  401. .br
  402. .I http://jackit.sourceforge.net/mantis/main_page.php
  403. .SH "AUTHORS"
  404. Architect and original implementor: Paul Davis
  405. .PP
  406. Original design Group: Paul Davis, David Olofson, Kai Vehmanen, Benno Sennoner,
  407. Richard Guenther, and other members of the Linux Audio Developers group.
  408. .PP
  409. Programming: Paul Davis, Jack O'Quin, Taybin Rutkin, Stephane Letz, Fernando
  410. Pablo Lopez-Lezcano, Steve Harris, Jeremy Hall, Andy Wingo, Kai
  411. Vehmanen, Melanie Thielker, Jussi Laako, Tilman Linneweh, Johnny Petrantoni.
  412. .PP
  413. Manpage written by Stefan Schwandter, Jack O'Quin and Alexandre
  414. Prokoudine.