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 that allows JACK client programs
       to process and route audio and MIDI data	in a synchronous, sample-accu-
       rate and	low-latency manner. Originally written for the GNU/Linux oper-
       ating system, it	also runs on various Unix platforms, Mac OS X  and  MS
       Windows.	 JACK can connect a number of different	client applications to
       an audio	device and also	to each	other. Most clients are	external, run-
       ning  in	their own processes as normal applications. 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.

       The name	JACK makes a reference to the classical	way of patching	 audio
       connections  with physical audio	jack cables.  JACK is also a recursive
       acronym,	that is	an abbreviation	which is part of  itself.  JACK	 Audio
       Connection Kit.

       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, firewire, oss sun
	      and portaudio. They are not all available	on all platforms.  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.

       -a, --autoconnect modechar
	      Select  how  to handle self connect requests. They can be	ignore
	      or fail, on all port or just external ones. Use the  --help  op-
	      tion to know your	system specific	options. The default is	to not
	      restrict self connect requests.

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

       -n, --name server-name
	      Name  this jackd instance	server-name. If	unspecified, this name
	      comes from the $JACK_DEFAULT_SERVER environment variable.	  (de-
	      fault: "default")

       -p, --port-max  n
	      Set  the	maximum	 number	 of  ports the JACK server can manage.
	      (default:	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. This is needed for reliable low-latency
	      performance. On many systems, it requires	jackd to run with spe-
	      cial scheduler and memory	allocation privileges,	which  may  be
	      obtained in several ways.	 (default: true)

       -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.

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

       -t, --timeout int
	      Set  client timeout limit	in milliseconds.  In realtime mode the
	      client timeout must be smaller than the watchdog	timeout	 (5000
	      msec).  (default:	500)

       -Z, --nozombies
	      Prevent JACK from	ever kicking out clients because they were too
	      slow.   This cancels the effect any specified timeout value, but
	      JACK and its clients are still subject to	the supervision	of the
	      watchdog thread or its equivalent.

       -C, --internal-session-file internal-session-file
	      Load internal clients  and  connections  from  internal-session-
	      file.   Each  line of this configuration file starts with	a com-
	      mand.  The following commands are	available:
	      l(oad) client-name lib-name client-args
	      With this	command	an internal JACK client	will be	 instantiated.
	      client-name and lib-name cannot contain spaces.  The rest	of the
	      line  will  be interpreted as client-args	and sent to the	client
	      library.
	      c(on) source-port	destination-port
	      With this	command	a source port will be connected	to a  destina-
	      tion  port.   source-port	 and  destination-port	cannot contain
	      spaces.
	      Comments are allowed, they start with #.
	      An example configuration could look like the following:
	       l inprocess1 inprocess
	       l amp1 jalv http://lv2plug.in/plugins/eg-amp
	       c amp:out system:playback_1

       -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,	System timer).

       -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.  Op-
	      tionally 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.  (default: true)

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

       -M, --hwmeter
	      Enable hardware metering for devices that	support	it. Otherwise,
	      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:	maximum	 supported  by
	      hardware)

       -I, --input-latency
	      Extra input latency (frames).  (default: 0)

       -n, --nperiods int
	      Number  of  periods of playback latency. In seconds, this	corre-
	      sponds to	--nperiods times --period divided by --rate.  The  de-
	      fault  is	 2, the	minimum	allowed. For most devices, there is no
	      need for any other value with the	--realtime option. Without re-
	      altime 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 realtime
	      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:	maximum	 supported  by
	      hardware)

       -O, --output-latency
	      Extra output latency (frames).  (default:	0)

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

       -p, --period int
	      Number of	frames between JACK process() calls. This  value  must
	      be  a  power of 2. 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 --period divided by	--rate.	 (default: 1024)

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

       -S, --shorts
	      Try to configure card for	 16-bit	 samples  first,  only	trying
	      32-bits if unsuccessful.	(default: 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|raw]
	      Which ALSA MIDI system to	provide	access to. Using raw will pro-
	      vide  a  set of JACK MIDI	ports that correspond to each raw ALSA
	      device on	the machine. Using seq will provide a set of JACK MIDI
	      ports that correspond to each ALSA "sequencer" client (which in-
	      cludes each hardware MIDI	port on	 the  machine).	 raw  provides
	      slightly better performance but does not permit JACK MIDI	commu-
	      nication with software written to	use the	ALSA "sequencer" API.

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

       -i, --inchannels
	      Maximum number of	input channels.	 (default: 2)

       -o, --outchannels
	      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, --monitor
	      Provide monitor ports for	the output.  (default: false)

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

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

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

       -d, --device
	      CoreAudio	device name.  (default:	none)

       -I, --input-latency
	      Extra input latency (frames).  (default: 0)

       -O, --output-latency
	      Extra output latency (frames).  (default:	0)

       -l, --list-devices
	      Display available	CoreAudio devices.  (default: false)

       -H, --hog
	      Take exclusive access of the audio device.  (default: false)

       -L, --async-latency
	      Extra  output latency in asynchronous mode (percent).  (default:
	      100)

       -G, --grain
	      Computation grain	in RT thread (percent).	 (default: 100)

       -s, --clock-drift
	      Whether or not to	compensate clock drift in dynamically  created
	      aggregate	device.	 (default: false)

   DUMMY BACKEND PARAMETERS
       -C, --capture int
	      Number of	capture	ports.	(default: 2)

       -P, --playback int
	      Number of	playback ports.	 (default: 2)

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

       -p, --period int
	      Number  of  frames between JACK process()	calls. This value must
	      be a power of 2. 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 --period divided by	--rate.	 (default: 1024)

       -w, --wait int
	      Number  of  usecs	 to  wait between engine processes.  (default:
	      21333)

   NETONE 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).
	      (default:	0)

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

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

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

       -e, --native-endian int
	      Don't 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
	      Sample rate.  (default: 48000)

       -p, --period int
	      Number of	frames between JACK process() calls. This  value  must
	      be  a  power of 2. 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 --period divided by	--rate.	 (default: 1024)

       -n, --nperiods int
	      Number of	periods	in the hardware	buffer.	 The period size  (-p)
	      times  --nperiods	 times	four is	the JACK buffer	size in	bytes.
	      The JACK output latency in seconds is --nperiods times  --period
	      divided by --rate.  (default: 2)

       -w, --wordlength	int
	      Sample size in bits.  (default: 16)

       -i, --inchannels	int
	      Number of	capture	channels.  (default: 2)

       -o, --outchannels int
	      Number of	playback channels.  (default: 2)

       -C, --capture device_file
	      Input device for capture.	 (default: /dev/dsp)

       -P, --playback device_file
	      Output device for	playback.  (default: /dev/dsp)

       -b, --ignorehwbuf boolean
	      Whether or not to	ignore hardware	period size.  (default:	false)

       -e, --excl boolean
	      Request  exclusive  and direct access to the sound device.  This
	      avoids mixing and	automatic audio	conversion in the OSS  driver,
	      and the extra latency that comes with that.  (default: false)

       -I, --input-latency
	      Extra input latency (frames).  (default: 0)

       -O, --output-latency
	      Extra output latency (frames).  (default:	0)

   SUN BACKEND PARAMETERS
       -r, --rate int
	      Sample rate.  (default: 48000)

       -p, --period int
	      Number  of  frames between JACK process()	calls. This value must
	      be a power of 2. 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 --period divided by	--rate.	 (default: 1024)

       -n, --nperiods int
	      Number  of periods in the	hardware buffer.  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.  (de-
	      fault: 2)

       -w, --wordlength	int
	      Sample size in bits.  (default: 16)

       -i, --inchannels	int
	      Number of	capture	channels.  (default: 2)

       -o, --outchannels int
	      Number of	playback channels.  (default: 2)

       -C, --capture device_file
	      Input device for capture.	 (default: /dev/audio)

       -P, --playback device_file
	      Output device for	playback.  (default: /dev/audio)

       -b, --ignorehwbuf boolean
	      Whether or not 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)

       -I, --input-latency
	      Extra input latency (frames).  (default: 0)

       -o, --channelout
	      Maximum  number  of  output  channels.   (default: all available
	      hardware channels)

       -O, --output-latency
	      Extra output latency (frames).  (default:	0)

       -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, must be a power of 2.	(default: 1024)

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

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

   FIREWIRE BACKEND PARAMETERS
       -d, --device name
	      The Firewire device name to use. If none is specified, JACK will
	      try to use "hw:0". To get	a list of available Firewire  devices,
	      see  ffado-test.	It's recommended to use	the GUID of a Firewire
	      device to	rule out any ambiguities. Once the GUID	of the	device
	      is  known	 ("ffado-test  ListDevices"),  it  can	be  used  like
	      -dguid:0xff2584e39b078a2e	to tell	JACK which interface  to  use.
	      Sometimes	 resetting the Firewire	bus can	help ("ffado-test Bus-
	      Reset") if there is any problem.	(default: hw:0)

       -p, --period int
	      Number of	frames between JACK process() calls. This  value  must
	      be  a  power of 2. 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 --period divided by	--rate.	 (default: 1024)

       -n, --nperiods int
	      Number of	periods	of playback latency. Value must	be greater  or
	      equal  2.	In seconds, this corresponds to	--nperiods times --pe-
	      riod divided by --rate.  (default: 3)

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

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

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

       -D, --duplex
	      Provide both capture and playback	ports. This option is the  de-
	      fault behaviour and can normally be omitted.  -D can not be com-
	      bined with -P or -C.

       -I, --input-latency
	      Extra input latency (frames).  (default: 0)

       -O, --output-latency
	      Extra output latency (frames).  (default:	0)

       -v, --verbose
	      libffado verbose level.  (default: 3)

       -X, --snoop
	      Snoop Firewire traffic.  (default: false)

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

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 oss --help
	      jackd -d sun --help
	      jackd -d portaudio --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 mes-
       sages, try a larger buffer. Tuning a system  for	 low  latency  can  be
       challenging. Please consult the JACK FAQ	for more 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 back-
       end will	be ignored. The	larger buffer helps reduce data	loss.  Rectan-
       gular 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 neither
       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  ex-
       ited.

       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_DRI-
       VER_DIR.

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

       Defining	 $JACK_NO_AUDIO_RESERVATION  will bypass audio device reserva-
       tion via	session	bus (DBus). This can be	useful if  JACK	 was  compiled
       with DBus support but should run	on a headless system.

       $JACK_PROMISCUOUS_SERVER	enables	an alternate way of handling the vari-
       ous shared resources (Unix sockets, semaphores, ...). In	this mode, the
       generated  names	 will not contain the user id anymore, and the permis-
       sions of	those resources	will be	relaxed, allowing clients from differ-
       ent users to talk with the same server.	Moreover,  on  platforms  that
       support	it  (all POSIX variants), if set to a valid Unix group name or
       id, the permissions will	be restricted to that group, so	 only  members
       of  that	group will be able to launch clients that talk to this server.
       Important note: it must be set with the same value for both server  and
       clients to work as expected.

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

       <http://www.github.com/jackaudio/>
       The official JACK github	code repository. Pull requests are welcome.

       <http://lists.jackaudio.org/listinfo.cgi/jack-devel-jackaudio.org>
       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.

       <http://www.ffado.org/>
       The Free	Firewire Audio Drivers (FFADO) Site.

       <irc.freenode.net#jack>
       Join the	JACK community with your favourite IRC client.

BUGS
       Please report bugs as issues to the corresponding repository:
       <http://www.github.com/jackaudio/>

AUTHORS
       Architect and original implementer: 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, Stphane Letz, Fer-
       nando Pablo Lopez-Lezcano, Steve	Harris,	Jeremy Hall, Andy  Wingo,  Kai
       Vehmanen,  Melanie  Thielker,  Jussi Laako, Tilman Linneweh, Johnny Pe-
       trantoni, Torben	Hohn.

       Manpage written by Stefan Schwandter, Jack O'Quin, Alexandre Prokoudine
       and Thomas Brand.

       Create a	PDF file from this manpage:

	      man -t jackd | ps2pdf - >	jackd.pdf

1.9.22				  April	2025			      JACKD(1)

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

home | help