<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.nixos.org/w/index.php?action=history&amp;feed=atom&amp;title=Using_JACK_with_PulseAudio</id>
	<title>Using JACK with PulseAudio - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.nixos.org/w/index.php?action=history&amp;feed=atom&amp;title=Using_JACK_with_PulseAudio"/>
	<link rel="alternate" type="text/html" href="https://wiki.nixos.org/w/index.php?title=Using_JACK_with_PulseAudio&amp;action=history"/>
	<updated>2026-05-09T03:29:28Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.45.0</generator>
	<entry>
		<id>https://wiki.nixos.org/w/index.php?title=Using_JACK_with_PulseAudio&amp;diff=4097&amp;oldid=prev</id>
		<title>imported&gt;User: Redirected page to JACK</title>
		<link rel="alternate" type="text/html" href="https://wiki.nixos.org/w/index.php?title=Using_JACK_with_PulseAudio&amp;diff=4097&amp;oldid=prev"/>
		<updated>2019-06-12T09:13:17Z</updated>

		<summary type="html">&lt;p&gt;Redirected page to &lt;a href=&quot;/wiki/JACK&quot; title=&quot;JACK&quot;&gt;JACK&lt;/a&gt;&lt;/p&gt;
&lt;a href=&quot;https://wiki.nixos.org/w/index.php?title=Using_JACK_with_PulseAudio&amp;amp;diff=4097&amp;amp;oldid=4096&quot;&gt;Show changes&lt;/a&gt;</summary>
		<author><name>imported&gt;User</name></author>
	</entry>
	<entry>
		<id>https://wiki.nixos.org/w/index.php?title=Using_JACK_with_PulseAudio&amp;diff=4096&amp;oldid=prev</id>
		<title>imported&gt;User at 09:11, 12 June 2019</title>
		<link rel="alternate" type="text/html" href="https://wiki.nixos.org/w/index.php?title=Using_JACK_with_PulseAudio&amp;diff=4096&amp;oldid=prev"/>
		<updated>2019-06-12T09:11:59Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 09:11, 12 June 2019&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l131&quot;&gt;Line 131:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 131:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;};&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;};&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/syntaxHighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/syntaxHighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Configuration]] [[Category:PulseAudio]]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[[Category:Configuration]] [[Category:PulseAudio&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;]] [[Category:Audio&lt;/ins&gt;]]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mediawiki:diff:1.41:old-4095:rev-4096:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>imported&gt;User</name></author>
	</entry>
	<entry>
		<id>https://wiki.nixos.org/w/index.php?title=Using_JACK_with_PulseAudio&amp;diff=4095&amp;oldid=prev</id>
		<title>imported&gt;User at 07:21, 12 June 2019</title>
		<link rel="alternate" type="text/html" href="https://wiki.nixos.org/w/index.php?title=Using_JACK_with_PulseAudio&amp;diff=4095&amp;oldid=prev"/>
		<updated>2019-06-12T07:21:45Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 07:21, 12 June 2019&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l1&quot;&gt;Line 1:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 1:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;When on nixos-unstable, one may use [https://github.com/NixOS/nixpkgs-channels/blob/nixos-unstable/nixos/modules/services/audio/jack.nix JACK module]. It works both with and without PulseAudio. Enable it this way and reboot:&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{{file|/etc/nixos/configuration.nix|nix|&amp;lt;nowiki&amp;gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;  services.jack = {&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;    jackd.enable = true;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;    # support ALSA only programs via ALSA JACK PCM plugin&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;    alsa.enable = false;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;    # support ALSA only programs via loopback device (supports programs like Steam)&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;    loopback = {&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;      enable = true;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;      # buffering parameters for dmix device to work with ALSA only semi-professional sound programs&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;      dmixConfig = &#039;&#039;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;        period_size 2048&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;      &#039;&#039;;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;    };&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;  };&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;  users.extraUsers.YOURUSER.extraGroups = [ &quot;jackaudio&quot; ];&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&amp;lt;/nowiki&amp;gt;}}  &lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Outdated|needs cleanup}}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;{{Outdated|needs cleanup}}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[http://jackaudio.org The Jack Audio Connection Kit] is used by most of the serious audio applications on Linux. It provides real-time, low latency connections for both audio and MIDI data between applications that implement its API. NixOS uses the dbus version of JACK2 (jackdbus). This can be used together with pulseaudio with a little configuration. The result is that you don&amp;#039;t have to manually hunt down applications which are using the sound device and kill them before starting JACK. You can also continue to use non-JACK aware applications (e.g. flash) at the same time as using JACK applications (e.g. Ardour).&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;[http://jackaudio.org The Jack Audio Connection Kit] is used by most of the serious audio applications on Linux. It provides real-time, low latency connections for both audio and MIDI data between applications that implement its API. NixOS uses the dbus version of JACK2 (jackdbus). This can be used together with pulseaudio with a little configuration. The result is that you don&amp;#039;t have to manually hunt down applications which are using the sound device and kill them before starting JACK. You can also continue to use non-JACK aware applications (e.g. flash) at the same time as using JACK applications (e.g. Ardour).&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mediawiki:diff:1.41:old-4094:rev-4095:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>imported&gt;User</name></author>
	</entry>
	<entry>
		<id>https://wiki.nixos.org/w/index.php?title=Using_JACK_with_PulseAudio&amp;diff=4094&amp;oldid=prev</id>
		<title>imported&gt;HLandau at 16:38, 24 October 2017</title>
		<link rel="alternate" type="text/html" href="https://wiki.nixos.org/w/index.php?title=Using_JACK_with_PulseAudio&amp;diff=4094&amp;oldid=prev"/>
		<updated>2017-10-24T16:38:02Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 16:38, 24 October 2017&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l112&quot;&gt;Line 112:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 112:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;};&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;};&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/syntaxHighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;/syntaxHighlight&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;[[Category:Configuration]] [[Category:PulseAudio]]&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key mediawiki:diff:1.41:old-4093:rev-4094:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>imported&gt;HLandau</name></author>
	</entry>
	<entry>
		<id>https://wiki.nixos.org/w/index.php?title=Using_JACK_with_PulseAudio&amp;diff=4093&amp;oldid=prev</id>
		<title>imported&gt;HLandau: Created page with &quot;{{Outdated|needs cleanup}} [http://jackaudio.org The Jack Audio Connection Kit] is used by most of the serious audio applications on Linux. It provides real-time, low latency...&quot;</title>
		<link rel="alternate" type="text/html" href="https://wiki.nixos.org/w/index.php?title=Using_JACK_with_PulseAudio&amp;diff=4093&amp;oldid=prev"/>
		<updated>2017-10-24T16:36:28Z</updated>

		<summary type="html">&lt;p&gt;Created page with &amp;quot;{{Outdated|needs cleanup}} [http://jackaudio.org The Jack Audio Connection Kit] is used by most of the serious audio applications on Linux. It provides real-time, low latency...&amp;quot;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Outdated|needs cleanup}}&lt;br /&gt;
[http://jackaudio.org The Jack Audio Connection Kit] is used by most of the serious audio applications on Linux. It provides real-time, low latency connections for both audio and MIDI data between applications that implement its API. NixOS uses the dbus version of JACK2 (jackdbus). This can be used together with pulseaudio with a little configuration. The result is that you don&amp;#039;t have to manually hunt down applications which are using the sound device and kill them before starting JACK. You can also continue to use non-JACK aware applications (e.g. flash) at the same time as using JACK applications (e.g. Ardour).&lt;br /&gt;
&lt;br /&gt;
# Load the sequencer and midi kernel modules&lt;br /&gt;
#: boot.kernelModules = [ &amp;quot;snd-seq&amp;quot; &amp;quot;snd-rawmidi&amp;quot; ];&lt;br /&gt;
#Enable JACK support&lt;br /&gt;
#: In your configuration file:&lt;br /&gt;
#: &amp;lt;syntaxhighlight lang=&amp;quot;nix&amp;quot; &amp;gt;hardware.pulseaudio.package = pkgs.pulseaudio.override { jackaudioSupport = true; };&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
# Ensure that the JACK enabled pulseaudio is being used&lt;br /&gt;
#: ~/.config/pulse/client.conf&lt;br /&gt;
#: &amp;lt;pre&amp;gt;daemon-binary=/var/run/current-system/sw/bin/pulseaudio&amp;lt;/pre&amp;gt;&lt;br /&gt;
# Configure QjackCtl&lt;br /&gt;
## Enable jackdbus&lt;br /&gt;
##: Setup -&amp;gt; Settings -&amp;gt; Server Path: jackdbus&lt;br /&gt;
##: [[File:qjackctl-settings.png]]&lt;br /&gt;
##: Setup -&amp;gt; Misc -&amp;gt; Enable D-Bus interface: check&lt;br /&gt;
##: [[File:qjackctl-misc.png]]&lt;br /&gt;
## Load the jack modules for pulseaudio after starting jackdbus&lt;br /&gt;
##: Setup -&amp;gt; Settings -&amp;gt; Options -&amp;gt; Execute script after Startup: check&lt;br /&gt;
##: &amp;lt;pre&amp;gt;pactl load-module module-jack-sink channels=2; pactl load-module module-jack-source channels=2; pacmd set-default-sink jack_out&amp;lt;/pre&amp;gt;&lt;br /&gt;
##: Setup -&amp;gt; Settings -&amp;gt; Options -&amp;gt; Execute script on Shutdown: check&lt;br /&gt;
##: &amp;lt;pre&amp;gt;pactl unload-module `pactl list|grep -A 3 jack-source|tail -1|awk &amp;#039;{ print $NF }&amp;#039;`;pactl unload-module `pactl list|grep -A 3 jack-sink|tail -1|awk &amp;#039;{ print $NF }&amp;#039;`&amp;lt;/pre&amp;gt;&lt;br /&gt;
##: [[File:qjackctl-options.png]]&lt;br /&gt;
&lt;br /&gt;
You should now be able to start JACK with QjackCtl, you will notice a new playback and capture device in your sound mixer along with your normal devices.&lt;br /&gt;
&lt;br /&gt;
[[File:kmix-pulseaudio-with-jack.png]]&lt;br /&gt;
&lt;br /&gt;
==== Troubleshooting JACK and PulseAudio ====&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;$ pactl load-module module-jack-sink channels=2&lt;br /&gt;
Failure: Module initalization failed&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Check if you have previous settings in ~/.config/jack/conf.xml. Try renaming this file and running the pactl command again.&lt;br /&gt;
&lt;br /&gt;
Otherwise, you may get further info by disabling PulseAudio respawning (see above) and starting it in verbose mode: &lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;console&amp;quot;&amp;gt;$ pulseaudio -vvv&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== System optimizations for low latency audio with JACK ===&lt;br /&gt;
&lt;br /&gt;
Some of the following settings, documented in http://wiki.linuxmusicians.com/doku.php?id=system_configuration and https://wiki.archlinux.org/index.php/Pro_Audio can be very helpful to reduce xruns and improve responsiveness and are required for certain programs to run at all e.g. Ardour.&lt;br /&gt;
The kernelPackages section was taken from https://github.com/rockfabrik/deployment/blob/master/modules/profiles/dj.nix#L32&lt;br /&gt;
&lt;br /&gt;
An easy way of setting all of these, plus a true realtime kernel, is here:&lt;br /&gt;
https://github.com/musnix/musnix&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxHighlight lang=&amp;quot;nix&amp;quot;&amp;gt;&lt;br /&gt;
boot = {&lt;br /&gt;
  kernelModules = [ &amp;quot;snd-seq&amp;quot; &amp;quot;snd-rawmidi&amp;quot; ];&lt;br /&gt;
  kernel.sysctl = { &amp;quot;vm.swappiness&amp;quot; = 10; &amp;quot;fs.inotify.max_user_watches&amp;quot; = 524288; };&lt;br /&gt;
  kernelParams = [ &amp;quot;threadirq&amp;quot; ];&lt;br /&gt;
  kernelPackages = let &lt;br /&gt;
    rtKernel = pkgs.linuxPackagesFor (pkgs.linux.override {&lt;br /&gt;
      extraConfig = &amp;#039;&amp;#039;&lt;br /&gt;
        PREEMPT_RT_FULL? y&lt;br /&gt;
        PREEMPT y&lt;br /&gt;
        IOSCHED_DEADLINE y&lt;br /&gt;
        DEFAULT_DEADLINE y&lt;br /&gt;
        DEFAULT_IOSCHED &amp;quot;deadline&amp;quot;&lt;br /&gt;
        HPET_TIMER y&lt;br /&gt;
        CPU_FREQ n&lt;br /&gt;
        TREE_RCU_TRACE n&lt;br /&gt;
      &amp;#039;&amp;#039;;&lt;br /&gt;
    }) pkgs.linuxPackages;&lt;br /&gt;
  in rtKernel;&lt;br /&gt;
&lt;br /&gt;
  postBootCommands = &amp;#039;&amp;#039;&lt;br /&gt;
    echo 2048 &amp;gt; /sys/class/rtc/rtc0/max_user_freq&lt;br /&gt;
    echo 2048 &amp;gt; /proc/sys/dev/hpet/max-user-freq&lt;br /&gt;
    setpci -v -d *:* latency_timer=b0&lt;br /&gt;
    setpci -v -s $00:1b.0 latency_timer=ff&lt;br /&gt;
  &amp;#039;&amp;#039;;&lt;br /&gt;
  # The SOUND_CARD_PCI_ID can be obtained like so:&lt;br /&gt;
  # $ lspci ¦ grep -i audio&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
powerManagement.cpuFreqGovernor = &amp;quot;performance&amp;quot;;&lt;br /&gt;
&lt;br /&gt;
fileSystems.&amp;quot;/&amp;quot; = { options = &amp;quot;noatime errors=remount-ro&amp;quot;; };&lt;br /&gt;
&lt;br /&gt;
security.pam.loginLimits = [&lt;br /&gt;
  { domain = &amp;quot;@audio&amp;quot;; item = &amp;quot;memlock&amp;quot;; type = &amp;quot;-&amp;quot;; value = &amp;quot;unlimited&amp;quot;; }&lt;br /&gt;
  { domain = &amp;quot;@audio&amp;quot;; item = &amp;quot;rtprio&amp;quot;; type = &amp;quot;-&amp;quot;; value = &amp;quot;99&amp;quot;; }&lt;br /&gt;
  { domain = &amp;quot;@audio&amp;quot;; item = &amp;quot;nofile&amp;quot;; type = &amp;quot;soft&amp;quot;; value = &amp;quot;99999&amp;quot;; }&lt;br /&gt;
  { domain = &amp;quot;@audio&amp;quot;; item = &amp;quot;nofile&amp;quot;; type = &amp;quot;hard&amp;quot;; value = &amp;quot;99999&amp;quot;; }&lt;br /&gt;
];&lt;br /&gt;
&lt;br /&gt;
services = {&lt;br /&gt;
  udev = {&lt;br /&gt;
    packages = [ pkgs.ffado ]; # If you have a FireWire audio interface&lt;br /&gt;
    extraRules = &amp;#039;&amp;#039;&lt;br /&gt;
      KERNEL==&amp;quot;rtc0&amp;quot;, GROUP=&amp;quot;audio&amp;quot;&lt;br /&gt;
      KERNEL==&amp;quot;hpet&amp;quot;, GROUP=&amp;quot;audio&amp;quot;&lt;br /&gt;
    &amp;#039;&amp;#039;;&lt;br /&gt;
  };&lt;br /&gt;
  cron.enable =false;&lt;br /&gt;
};&lt;br /&gt;
&lt;br /&gt;
shellInit = &amp;#039;&amp;#039;&lt;br /&gt;
  export VST_PATH=/nix/var/nix/profiles/default/lib/vst:/var/run/current-system/sw/lib/vst:~/.vst&lt;br /&gt;
  export LXVST_PATH=/nix/var/nix/profiles/default/lib/lxvst:/var/run/current-system/sw/lib/lxvst:~/.lxvst&lt;br /&gt;
  export LADSPA_PATH=/nix/var/nix/profiles/default/lib/ladspa:/var/run/current-system/sw/lib/ladspa:~/.ladspa&lt;br /&gt;
  export LV2_PATH=/nix/var/nix/profiles/default/lib/lv2:/var/run/current-system/sw/lib/lv2:~/.lv2&lt;br /&gt;
  export DSSI_PATH=/nix/var/nix/profiles/default/lib/dssi:/var/run/current-system/sw/lib/dssi:~/.dssi&lt;br /&gt;
&amp;#039;&amp;#039;;&lt;br /&gt;
&lt;br /&gt;
users = {&lt;br /&gt;
  extraUsers.yourname= {&lt;br /&gt;
   extraGroups = [ &amp;quot;wheel&amp;quot; &amp;quot;audio&amp;quot; ];&lt;br /&gt;
  };&lt;br /&gt;
};&lt;br /&gt;
&amp;lt;/syntaxHighlight&amp;gt;&lt;/div&gt;</summary>
		<author><name>imported&gt;HLandau</name></author>
	</entry>
</feed>