Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
JACKD(1)							      JACKD(1)

NAME
       jackd - JACK Audio Connection Kit sound server

SYNOPSIS
       jackd [options] -d backend [backend-parameters]
       jackd --help

DESCRIPTION
       jackd  is  the  JACK  audio  server daemon, a low-latency audio server.
       Originally written for the GNU/Linux operating system, it also supports
       Mac OS X	and various Unix platforms.  JACK can connect a	number of dif-
       ferent client applications to an	audio device and also to  each	other.
       Most clients are	external, running in their own processes as normal ap-
       plications.  JACK also supports internal	clients, which run within  the
       jackd process using a loadable "plugin" interface.

       JACK differs from other audio servers in	being designed from the	ground
       up for professional audio work.	It focuses on two key areas:  synchro-
       nous execution of all clients, and low latency operation.

       For   the  latest  JACK	information,  please  consult  the  web	 site,
       <http://www.jackaudio.org>.

OPTIONS
       -d, --driver backend [backend-parameters	]
	      Select the audio interface backend.  The current	list  of  sup-
	      ported  backends	is:  alsa,  coreaudio, dummy, freebob, oss sun
	      portaudio	and  sndio.  They are not all available	on  all	 plat-
	      forms.  All backend-parameters are optional.

       -h, --help
	      Print  a	brief usage message describing the main	jackd options.
	      These do not include backend-parameters, which are listed	 using
	      the  --help  option  for	each specific backend.	Examples below
	      show how to list them.

       -m, --no-mlock
	      Do not attempt to	lock memory, even if --realtime.

       -A device, -A device%p, -A device%c
	      (Linux-only) A simplified	way to add additional audio I/O	 hard-
	      ware  to	an  instance of	JACK. This argument is actually	just a
	      wrapper around the -I (internal client) version, requiring  only
	      the  name	of the ALSA "card" to be used. The name	should NOT in-
	      clude any	ALSA device access prefix (e.g.	 "hw:"	or  "plughw:")
	      but  can include a subdevice. If %p is added to the device name,
	      it will be made available	for playback only. If %c is  added  to
	      the  device name,	it will	be made	available for capture (record-
	      ing) only. If neither %p nor %c is added,	it will	be made	avail-
	      able  (if	 possible) for both capture and	playback. Although de-
	      vice names may be	visible	in various places on your system,  the
	      file /proc/asound/cards shows them inside	square braces.
	      Examples:
	      -A SB   (adds playback and capture for the "SB" device)
	      -A Codec,1%c  (adds capture (recording) for the 2nd subdevice of
	      the "Codec" device)
	      -A MT1a2%p   (adds playback the 1st subdevice of the "MT1a2" de-
	      vice)
	      The   use	  of   -A   CARD   is	actually   equivalent	to  -I
	      foo:zalsa_in/-dhw:CARD and -I CARD:zalsa_out/-dhw:CARD.
	      The  use	of  -A	CARD%p	 is   actually	 equivalent   to    -I
	      CARD:zalsa_out/-dhw:CARD.
	      The   use	  of   -A   CARD%c   is	  actually  equivalent	to  -I
	      CARD:zalsa_in/-dhw:CARD
	      Note that	this option (like -I) can be used  regardless  of  the
	      backend  used,  so  even if you do not use the ALSA backend, you
	      can still	add ALSA-supported devices to an instance of JACK.

       -I, --internal-client client-spec
	      Load client-name as an internal client.  May  be	used  multiple
	      times. The form of client-spec can be any	of the following:
	      client-path
	      client-name:client-path
	      client-name:client-path/init-string
	      client-path/init-string
	      The  first  form	will cause jackd to attempt to load the	client
	      from a shared object named "client-path" with  appropriate  suf-
	      fixes  appended.	If  "client-path"  is absolute,	jackd will use
	      that (adding a platform appropriate suffix for a shared object).
	      If  it  is not absolute, jackd will look for "client-path" (with
	      an appropriate suffix) in	the same  location  that  drivers  and
	      other JACK add-ons are located.
	      The  second  form	provides "client-name" as the desired name for
	      the client once loaded, in addition to the "client-path".
	      The third	form provides an "init-string" in addition to a	client
	      name  and	path, which will be passed to the client's initializa-
	      tion function.
	      The final	form does not specify the client name,	but  does  in-
	      clude  the  path	to the client's	shared object file and an ini-
	      tializations string.
	      When invoking JACK from the shell, remember to quote  the	 argu-
	      ment to -I if it includes	spaces.

       -M, --midi-bufsize [ event-count	]
	      Specify  the  size  of the buffer	used for MIDI ports. Units are
	      "MIDI events per process() cycle", where an event	occupies up to
	      4	bytes (as most common MIDI events do). The default buffer size
	      is 2048 bytes, which is about 500	MIDI events.   Typical	values
	      for  event-count will range from 10 to about 1000. Be aware that
	      using very high values along with	a large	number	of  ports  may
	      cause JACK to fail to start because of the amount	of memory that
	      would be required.

       -n, --name server-name
	      Name this	jackd instance server-name.  If	unspecified, this name
	      comes  from  the	$JACK_DEFAULT_SERVER environment variable.  It
	      will be "default"	if that	is not defined.

       -p, --port-max  n
	      Set the maximum number of	ports the JACK server can manage.  The
	      default value is 256.

       --replace-registry
	      Remove  the  shared  memory registry used	by all JACK server in-
	      stances before startup. This should rarely be used, and  is  in-
	      tended  only  for	 occasions when	the structure of this registry
	      changes in ways  that  are  incompatible	across	JACK  versions
	      (which is	rare).

       -R, --realtime
	      Use realtime scheduling (default = true).	This is	needed for re-
	      liable low-latency performance.  On many	systems,  it  requires
	      jackd to run with	special	scheduler and memory allocation	privi-
	      leges, which may be obtained in several ways.

       -r, --no-realtime
	      Do not use realtime scheduling.

       -P, --realtime-priority int
	      When running --realtime, set the scheduler priority to int.

       --silent
	      Silence any output during	operation.

       -S, --sync
	      This option does nothing in this implementation of JACK, but ex-
	      ists  for	 command-line  compatibility  with  JACK2 and possibly
	      other versions.

       -T, --temporary
	      Exit once	all clients have closed	their connections.

       -t, --timeout int
	      Set client timeout limit in milliseconds.	 The  default  is  500
	      msec.

       -X, --slave-driver driver-name
	      Asks the server to load the "slave" driver given by driver-name.
	      Slave drivers can	provide	builtin-access to  other  devices  and
	      protocols;   the	primary	 slave-driver  at  this	 time  is  the
	      "alsa_midi" one which provides bridging on Linux between	native
	      ALSA MIDI	and JACK MIDI.

       -Z, --nozombies
	      Prevent JACK from	ever kicking out clients because they were too
	      slow.  This cancels the effect any specified timeout value.

       -C, --timeout-thres time
	      Stop processing clients if JACK cannot complete the process  cy-
	      cle  in  time (typically caused by CPU overloading or misbehaved
	      clients).	The optional time argument  specifies  the  number  of
	      miliseconds,  during which consectutive process cycles must fail
	      before JACK gives	up (if the argument is not given, it  defaults
	      to  250).	 Processing will resume	on the next change to the port
	      graph (i.e. a port is added, removed, connected or disconnected)

       -u, --unlock
	      Unlock libraries GTK+, QT, FLTK, Wine.

       -v, --verbose
	      Give verbose output.

       -c, --clocksource ( h(pet)  |  s(ystem) )
	      Select a specific	wall clock (HPET timer or the  system  clock).
	      Asking  for the now removed cycle-counter	timer usiung -c	c will
	      result in	the use	of the system clock.

       -V, --version
	      Print the	current	JACK version number and	exit.

   ALSA	BACKEND	OPTIONS
       -C, --capture [ name ]
	      Provide only capture ports, unless combined with -D or -P.   Pa-
	      rameterally set capture device name.

       -d, --device name
	      The  ALSA	 pcm  device  name to use.  If none is specified, JACK
	      will use "hw:0", the first hardware card	defined	 in  /etc/mod-
	      ules.conf.

       -z, --dither [rectangular,triangular,shaped,none]
	      Set  dithering  mode.  If	none or	unspecified, dithering is off.
	      Only the first letter of the mode	name is	required.

       -D, --duplex
	      Provide both capture and playback	ports.	Defaults to on	unless
	      only one of -P or	-C is specified.

       -h, --help Print	a brief	usage message describing only the
	      alsa backend parameters.

       -M, --hwmeter
	      Enable  hardware	metering  for devices that support it.	Other-
	      wise, use	software metering.

       -H, --hwmon
	      Enable hardware monitoring of capture ports.  This is  a	method
	      for  obtaining "zero latency" monitoring of audio	input.	It re-
	      quires support in	hardware and from the underlying  ALSA	device
	      driver.

	      When  enabled,  requests to monitor capture ports	will be	satis-
	      fied by creating a direct	signal path  between  audio  interface
	      input and	output connectors, with	no processing by the host com-
	      puter at all.  This offers the lowest possible latency  for  the
	      monitored	signal.

	      Presently	(March 2003), only the RME Hammerfall series and cards
	      based on the ICE1712 chipset (M-Audio  Delta  series,  Terratec,
	      and others) support --hwmon.  In the future, some	consumer cards
	      may also be supported by modifying their mixer settings.

	      Without --hwmon, port monitoring requires	 JACK  to  read	 audio
	      into system memory, then copy it back out	to the hardware	again,
	      imposing the basic JACK system latency determined	by  the	 --pe-
	      riod and --nperiods parameters.

       -i, --inchannels	int
	      Number  of  capture  channels.   Default is maximum supported by
	      hardware.

       -n, --nperiods int
	      Specify the number of periods of playback	latency.  In  seconds,
	      this corresponds to --nperiods times --period divided by --rate.
	      The default is 2,	the  minimum  allowable.   For	most  devices,
	      there is no need for any other value with	the --realtime option.
	      Without realtime privileges or with boards providing  unreliable
	      interrupts  (like	ymfpci), a larger value	may yield fewer	xruns.
	      This can also help if the	system is not tuned for	reliable real-
	      time scheduling.

	      For  most	ALSA devices, the hardware buffer has exactly --period
	      times --nperiods frames.	Some devices demand a  larger  buffer.
	      If  so, JACK will	use the	smallest possible buffer containing at
	      least --nperiods,	but the	playback latency does not increase.

	      For USB audio devices it is recommended to use  -n  3.  Firewire
	      devices  supported  by  FFADO  (formerly Freebob)	are configured
	      with -n 3	by default.

       -o, --outchannels int
	      Number of	playback channels.  Default is	maximum	 supported  by
	      hardware.

       -P, --playback [	name ]
	      Provide only playback ports, unless combined with	-D or -C.  Op-
	      tionally set playback device name.

       -p, --period int
	      Specify the number of frames between JACK	process() calls.  This
	      value  must  be  a  power	of 2, and the default is 1024.	If you
	      need low latency,	set -p as low as you  can  go  without	seeing
	      xruns.   A  larger  period size yields higher latency, but makes
	      xruns less likely.  The JACK capture latency in seconds is --pe-
	      riod divided by --rate.

       -r, --rate int
	      Specify the sample rate.	The default is 48000.

       -S, --shorts
	      Try  to  configure  card	for  16-bit samples first, only	trying
	      32-bits if unsuccessful.	Default	is to prefer 32-bit samples.

       -s, --softmode
	      Ignore xruns reported by the ALSA	driver.	 This makes JACK  less
	      likely  to  disconnect  unresponsive  ports when running without
	      --realtime.

       -X, --midi seq
	      Provide bridging between ALSA MIDI and JACK MIDI (using the ALSA
	      sequencer	 system). All ALSA MIDI	clients	and MIDI hardware that
	      exist when jackd starts will be represented by JACK MIDI ports.
	      The "seq"	argument has been  retained  from  older  versions  of
	      JACK, in part to provide for the possibility of alternate	imple-
	      mentations.

   COREAUDIO BACKEND PARAMETERS
       -c --channel
	      Maximum number of	channels (default: 2)

       -i --channelin
	      Maximum number of	input channels (default: 2)

       -o --channelout
	      Maximum number of	output channels	(default: 2)

       -C --capture
	      Whether or not to	capture	(default: true)

       -P --playback
	      Whether or not to	playback (default: true)

       -D --duplex
	      Capture and playback (default: true)

       -r --rate
	      Sample rate (default: 44100)

       -p --period
	      Frames per period	(default: 128).	Must be	a power	of 2.

       -n --name
	      Driver name (default: none)

       -I --id
	      Audio Device ID (default:	0)

   DUMMY BACKEND PARAMETERS
       -C, --capture int
	      Specify number of	capture	ports. The default value is 2.

       -P, --playback int
	      Specify number of	playback ports.	The default value is 2.

       -r, --rate int
	      Specify sample rate. The default value is	48000.

       -p, --period int
	      Specify the number of frames between JACK	process() calls.  This
	      value  must  be  a  power	of 2, and the default is 1024.	If you
	      need low latency,	set -p as low as you  can  go  without	seeing
	      xruns.   A  larger  period size yields higher latency, but makes
	      xruns less likely.  The JACK capture latency in seconds is --pe-
	      riod divided by --rate.

       -w, --wait int
	      Specify  number  of usecs	to wait	between	engine processes.  The
	      default value is 21333.

   NET BACKEND PARAMETERS
	-i, --audio-ins	int
	      Number of	capture	channels (default: 2)

	-o, --audio-outs int
	      Number of	playback channels (default: 2)

	-I, --midi-ins int
	      Number of	midi capture channels (default:	1)

       -O, --midi-outs int
	      Number of	midi playback channels (default: 1)

	-r, --rate int
	      Sample rate (default: 48000)

       -p, --period int
	      Frames per period	(default: 1024)

       -n, --num-periods int
	      Network latency setting in no. of	periods	(default: 5)

       -l, --listen-port int
	      The socket port we are listening on for sync  packets  (default:
	      3000)

       -f, --factor int
	      Factor for sample	rate reduction (default: 1)

       -u, --upstream-factor int
	      Factor for sample	rate reduction on the upstream (default: 0)

       -c, --celt int
	      sets celt	encoding and number of kbits per channel (default: 0)

       -b, --bit-depth int
	      Sample bit-depth (0 for float, 8 for 8bit	and 16 for 16bit) (de-
	      fault: 0)

       -t, --transport-sync int
	      Whether to slave the transport to	the master transport (default:
	      true)

       -a, --autoconf int
	      Whether to use Autoconfig, or just start.	(default: true)

       -R, --redundancy	int
	      Send packets N times (default: 1)

       -e, --native-endian int
	      Dont convert samples to network byte order. (default: false)

       -J, --jitterval int
	      attempted	jitterbuffer microseconds on master (default: 0)

       -D, --always-deadline int
	      always use deadline (default: false)

   OSS BACKEND PARAMETERS
       -r, --rate int
	      Specify the sample rate.	The default is 48000.

       -p, --period int
	      Specify the number of frames between JACK	process() calls.  This
	      value must be a power of 2, and the default  is  1024.   If  you
	      need  low	 latency,  set	-p as low as you can go	without	seeing
	      xruns.  A	larger period size yields higher  latency,  but	 makes
	      xruns less likely.  The JACK capture latency in seconds is --pe-
	      riod divided by --rate.

       -n, --nperiods int
	      Specify the number of periods in the hardware buffer.   The  de-
	      fault is 2.  The period size (-p)	times --nperiods times four is
	      the JACK buffer size in bytes.  The JACK output latency in  sec-
	      onds is --nperiods times --period	divided	by --rate.

       -w, --wordlength	int
	      Specify the sample size in bits. The default is 16.

       -i, --inchannels	int
	      Specify how many channels	to capture (default: 2)

       -o, --outchannels int
	      Specify number of	playback channels (default: 2)

       -C, --capture device_file
	      Specify input device for capture (default: /dev/dsp)

       -P, --playback device_file
	      Specify output device for	playback (default: /dev/dsp)

       -b, --ignorehwbuf boolean
	      Specify, whether to ignore hardware period size (default:	false)

   SUN BACKEND PARAMETERS
       -r, --rate int
	      Specify the sample rate.	The default is 48000.

       -p, --period int
	      Specify the number of frames between JACK	process() calls.  This
	      value must be a power of 2, and the default  is  1024.   If  you
	      need  low	 latency,  set	-p as low as you can go	without	seeing
	      xruns.  A	larger period size yields higher  latency,  but	 makes
	      xruns less likely.  The JACK capture latency in seconds is --pe-
	      riod divided by --rate.

       -n, --nperiods int
	      Specify the number of periods in the hardware buffer.   The  de-
	      fault  is	 2.   The period size (-p) times --nperiods times four
	      (assuming	2 channels 16-bit samples) is the JACK buffer size  in
	      bytes.   The  JACK output	latency	in seconds is --nperiods times
	      --period divided by --rate.

       -w, --wordlength	int
	      Specify the sample size in bits. The default is 16.

       -i, --inchannels	int
	      Specify how many channels	to capture (default: 2)

       -o, --outchannels int
	      Specify number of	playback channels (default: 2)

       -C, --capture device_file
	      Specify input device for capture (default: /dev/audio)

       -P, --playback device_file
	      Specify output device for	playback (default: /dev/audio)

       -b, --ignorehwbuf boolean
	      Specify, whether to ignore hardware period size (default:	false)

   PORTAUDIO BACKEND PARAMETERS
       -c --channel
	      Maximum number of	 channels  (default:  all  available  hardware
	      channels)

       -i --channelin
	      Maximum  number  of input	channels (default: all available hard-
	      ware channels)

       -o --channelout
	      Maximum number of	output channels	(default: all available	 hard-
	      ware channels)

       -C --capture
	      Whether or not to	capture	(default: true)

       -P --playback
	      Whether or not to	playback (default: true)

       -D --duplex
	      Capture and playback (default: true)

       -r --rate
	      Sample rate (default: 48000)

       -p --period
	      Frames per period	(default: 1024). Must be a power of 2.

       -n --name
	      Driver name (default: none)

       -z --dither
	      Dithering	mode (default: none)

   SNDIO BACKEND PARAMETERS
       -r, --rate int
	      Specify the sample rate.	The default is 44100.

       -p, --period int
	      Specify the number of frames between JACK	process() calls.  This
	      value must be a power of 2, and the default  is  1024.   If  you
	      need  low	 latency,  set	-p as low as you can go	without	seeing
	      xruns.  A	larger period size yields higher  latency,  but	 makes
	      xruns less likely.  The JACK capture latency in seconds is --pe-
	      riod divided by --rate.  Note that this value is mostly advisory
	      when aucat server	is running and may be updated internally.

       -n, --nperiods int
	      Specify  the  number of periods in the hardware buffer.  The de-
	      fault is 2.  The period size (-p)	times  --nperiods  times  four
	      (assuming	 2 channels 16-bit samples) is the JACK	buffer size in
	      bytes.  The JACK output latency in seconds is  --nperiods	 times
	      --period	divided	by --rate.  Note that this value is mostly ad-
	      visory when aucat	server is running and may  be  updated	inter-
	      nally.

       -w, --wordlength	int
	      Specify the sample size in bits. The default is 16.

       -i, --inchannels	int
	      Specify how many channels	to capture (default: 2)

       -o, --outchannels int
	      Specify number of	playback channels (default: 2)

       -d, --device device_file
	      Specify device for capture and playback (default:	NULL)

       -b, --ignorehwbuf boolean
	      Specify, whether to ignore hardware period size (default:	false)

EXAMPLES
       Print usage message for the parameters specific to each backend.

	      jackd -d alsa --help
	      jackd -d coreaudio --help
	      jackd -d net --help
	      jackd -d dummy --help
	      jackd -d firewire	--help
	      jackd -d freebob --help
	      jackd -d oss --help
	      jackd -d sun --help
	      jackd -d portaudio --help
	      jackd -d sndio --help

       Run  the	 JACK daemon with realtime priority using the first ALSA hard-
       ware card defined in /etc/modules.conf.

	      jackstart	--realtime --driver=alsa

       Run the JACK daemon with	low latency giving verbose output,  which  can
       be  helpful for trouble-shooting	system latency problems.  A reasonably
       well-tuned system with a	good sound card	and a low-latency  kernel  can
       handle  these  values  reliably.	  Some can do better.  If you get xrun
       messages, try a larger buffer.  Tuning a	system for low latency can  be
       challenging.   The JACK FAQ, http://jackit.sourceforge.net/docs/faq.php
       has some	useful suggestions.

	      jackstart	-Rv -d alsa -p 128 -n 2	-r 44100

       Run jackd with realtime priority	using the "sblive" ALSA	device defined
       in ~/.asoundrc.	Apply shaped dithering to playback audio.

	      jackd -R -d alsa -d sblive --dither=shaped

       Run  jackd  with	 no  special privileges	using the second ALSA hardware
       card defined in /etc/modules.conf.  Any	xruns  reported	 by  the  ALSA
       backend	will  be  ignored.   The larger	buffer helps reduce data loss.
       Rectangular dithering will be used for playback.

	      jackd -d alsa -d hw:1 -p2048 -n3 --softmode -zr

       Run jackd in full-duplex	mode using the ALSA hw:0,0 device for playback
       and the hw:0,2 device for capture.

	      jackd -d alsa -P hw:0,0 -C hw:0,2

       Run jackd in playback-only mode using the ALSA hw:0,0 device.

	      jackd -d alsa -P hw:0,0

ENVIRONMENT
       JACK is evolving	a mechanism for	automatically starting the server when
       needed.	Any client started without a running JACK server will  attempt
       to  start  one itself using the command line found in the first line of
       $HOME/.jackdrc if it exists, or /etc/jackdrc if it does not.   If  nei-
       ther  file  exists,  a built-in default command will be used, including
       the -T flag, which causes the server to shut down when all clients have
       exited.

       As  a  transition, this only happens when $JACK_START_SERVER is defined
       in the environment of the calling process.  In the future this will be-
       come  normal  behavior.	In either case,	defining $JACK_NO_START_SERVER
       disables	this feature.

       To  change  where   JACK	  looks	  for	the   backend	drivers,   set
       $JACK_DRIVER_DIR.

       $JACK_DEFAULT_SERVER  specifies	the  default  server name.  If not de-
       fined, the string "default" is used.  If	set in their respective	 envi-
       ronments,  this	affects	 jackd unless its --name parameter is set, and
       all   JACK   clients   unless   they   pass   an	  explicit   name   to
       jack_client_open().

SEE ALSO:
       http://www.jackaudio.org
       The official JACK website with news, docs and a list of JACK clients.

       http://jackaudio.org/email
       The JACK	developers' mailing list.  Subscribe, to take part in develop-
       ment of JACK or JACK clients.  User questions are also  welcome,	 there
       is no user-specific mailing list.

       http://www.jackosx.com/
       Tools specific to the Mac OS X version of JACK.

       http://www.alsa-project.org
       The Advanced Linux Sound	Architecture.

BUGS
       Please report bugs to
       http://trac.jackaudio.org/

AUTHORS
       Architect and original implementor: Paul	Davis

       Original	 design	 Group:	Paul Davis, David Olofson, Kai Vehmanen, Benno
       Sennoner, Richard Guenther, and other members of	the Linux Audio	Devel-
       opers group.

       Programming:  Paul  Davis,  Jack	 O'Quin, Taybin	Rutkin,	Stephane Letz,
       Fernando	Pablo Lopez-Lezcano, Steve Harris, Jeremy  Hall,  Andy	Wingo,
       Kai  Vehmanen,  Melanie	Thielker, Jussi	Laako, Tilman Linneweh,	Johnny
       Petrantoni, Torben Hohn.

       Manpage written by Stefan Schwandter, Jack O'Quin and Alexandre Prokou-
       dine.

April 2006			  0.125.0rc1			      JACKD(1)

NAME | SYNOPSIS | DESCRIPTION | OPTIONS | EXAMPLES | ENVIRONMENT | SEE ALSO: | BUGS | AUTHORS

Want to link to this manual page? Use this URL:
<https://www.freebsd.org/cgi/man.cgi?query=jackd&sektion=1&manpath=FreeBSD+12.1-RELEASE+and+Ports>

home | help