[musicians-guide] revisions to JACK and sound servers

crantila crantila at fedoraproject.org
Thu Aug 26 19:21:55 UTC 2010


commit f0164530e39292e5168eb2a783abf50eed80d7a4
Author: Christopher Antila <crantila at fedoraproject.org>
Date:   Thu Aug 26 15:21:01 2010 -0400

    revisions to JACK and sound servers

 en-US/Revision_History.xml |   21 ++++++++--
 en-US/Sound_Servers.xml    |   89 ++++++++++++++++++-------------------------
 2 files changed, 54 insertions(+), 56 deletions(-)
---
diff --git a/en-US/Revision_History.xml b/en-US/Revision_History.xml
index af81d32..cad7f47 100644
--- a/en-US/Revision_History.xml
+++ b/en-US/Revision_History.xml
@@ -134,16 +134,29 @@
 				</revdescription>
 			</revision>
 			
-			<!-- For Summer Coding deadline, August 9th -->
-			<!-- TODO: re-write JACK install instructions to incorporate jack2 in F14 -->
+			<revision>
+				<revnumber>8</revnumber>
+				<date>Fri Aug 27 2010</date>
+				<author>
+					<firstname>Christopher</firstname>
+					<surname>Antila</surname>
+					<email>crantila at fedoraproject.org</email>
+				</author>
+				<revdescription>
+					<simplelist>
+						<member>Re-wrote the JACK installation instructions, to incorporate the fact that jack2 will be in F14</member>
+						<member>Made other minor revisions to the sound servers section.</member>
+					</simplelist>
+				</revdescription>
+			</revision>
 			
-			<!-- For the week starting August 9th -->
+			<!-- Finite Tasks -->
 			<!-- TODO: fix the example around line 630 of SC Basic Programming -->
 			<!-- TODO: convert images to format given by R. Landmann -->
 			<!-- TODO: convert SuperCollider examples to <xi:include ... /> -->
 			<!-- TODO: convert LilyPond examples to <xi:include ... /> -->
 			
-			<!-- These will never be finished.  I mean... they're ongoing tasks. -->
+			<!-- Ongoing Tasks -->
 			<!-- TODO: ensure that everything is formatted correctly -->
 			<!-- TODO: re-write the entire Guide to use the Apple Style Guide / CMoS / American Heritage Dictionary -->
 		</revhistory>
diff --git a/en-US/Sound_Servers.xml b/en-US/Sound_Servers.xml
index e05c262..99eecd0 100644
--- a/en-US/Sound_Servers.xml
+++ b/en-US/Sound_Servers.xml
@@ -57,43 +57,28 @@
 		<!-- TODO: See if SELinux can be configured to control who/what has access to real-time priority -->
 		<section id="sect-Musicians_Guide-Install_and_Configure_JACK">
 			<title>Installing and Configuring <systemitem>JACK</systemitem></title>
+			<procedure>
+				<step><para>Ensure that you have installed the Planet CCRMA at Home repositories.  For instructions, refer to <xref linkend="sect-Musicians_Guide-CCRMA_Installing_Repository" />.</para></step>
+				<step><para>Use <application>PackageKit</application> or <application>KPackageKit</application> to install the <package>jack-audio-connection-kit</package> and <package>qjackctl</package> packages.</para></step>
+				<step><para>Review and approve the installation, making sure that it completes correctly.</para></step>
+				<step><para>Run <application>QjackCtl</application> from the KMenu or the Applications menu.</para></step>
+				<step><para>To start the <systemitem>JACK</systemitem> server, click <guibutton>Start</guibutton>.  To stop the <systemitem>JACK</systemitem> server, click <guibutton>Stop</guibutton>.</para></step>
+				<step><para>Click <guibutton>Messages</guibutton> to see messages, which are usually errors or warnings.</para></step>
+				<step><para>Click <guibutton>Status</guibutton> to see various statistics about the currently-running server.</para></step>
+				<step><para>Click <guibutton>Connections</guibutton> button to see and adjust the connections between applications and audio hardware.</para></step>
+			</procedure>
+			<important>
+				<para>
+					<systemitem>JACK</systemitem> operates with special real-time privileges.  You must add all users to the <systemitem>jackuser</systemitem> and <systemitem>pulse-rt</systemitem> groups so they can use <systemitem>JACK</systemitem>.  For instructions to add users to groups, see Chapter 22, <citetitle>Users and Groups</citetitle> of the <citetitle>Fedora Deployment Guide</citetitle>, available at <ulink url="http://docs.fedoraproject.org" />.  Do not add users to these groups if they will not use <systemitem>JACK</systemitem>.
+				</para>
+			</important>
 			<para>
-				<orderedlist>
-				<listitem><para>Ensure that you have installed the Planet CCRMA at Home repositories.  For instructions, refer to <xref linkend="sect-Musicians_Guide-CCRMA_Installing_Repository" />.</para></listitem>
-				<listitem><para>Use <application>PackageKit</application> or <application>KPackageKit</application> to install the <package>jack-audio-connection-kit</package> and <package>qjackctl</package> packages.</para></listitem>
-				<listitem><para>Review and approve the installation, making sure that it completes correctly.</para></listitem>
-				<listitem><para>Run <application>QjackCtl</application> from the KMenu or the Applications menu.</para></listitem>
-				<listitem><para>To start the <systemitem>JACK</systemitem> server, press the 'Start' button; to stop it, press the 'Stop' button.</para></listitem>
-				<listitem><para>Use the 'Messages' button to see messages, which are usually errors or warnings.</para></listitem>
-				<listitem><para>Use the 'Status' button to see various statistics about the currently-running server.</para></listitem>
-				<listitem><para>Use the 'Connections' button to see and adjust the connections between applications and audio hardware.</para></listitem>
-				</orderedlist>
-			</para>
-			<para>
-				<systemitem>JACK</systemitem> will operate without following this procedure, but users are strongly encouraged to follow these three steps, for security reasons.  They will help to allow optimal performance of the <systemitem>JACK</systemitem> sound server, while greatly reducing the risk that an application or user will accidentally or malicious take advantage of the capability.
-				<orderedlist>
-				<listitem><para>Add all of the users who will use <systemitem>JACK</systemitem> to the <literal>audio</literal> group.  For instructions to add users to groups, see Chapter 22, <citetitle>Users and Groups</citetitle> of the <citetitle>Fedora Deployment Guide</citetitle>, available at <ulink url="http://docs.fedoraproject.org" />.</para></listitem>
-				<listitem><para>The default installation automatically enables real-time priority to be requested by any user or process.  This is undesirable, so we will edit it.
-					<orderedlist>
-					<listitem><para>Open a terminal, and run the following command: <command>sudo -c 'gedit /etc/security/limits.conf'</command></para></listitem>
-					<listitem><para>Be careful!  You're editing this important system file as the root user!</para></listitem>
-					<listitem><para>Edit the last lines, so that they read:
-<programlisting><![CDATA[
- at audio - rtprio 99
- at audio - memlock 4194304
- at audio - nice -10
-]]></programlisting>
-					  </para></listitem>
-				   </orderedlist></para></listitem>
-			   </orderedlist>
-			</para>
-			<para>
-				With the default configuration of <application>QjackCtl</application>, it chooses the "default" sound card, which actually goes through the ALSA sound server.  We can avoid this, and use the ALSA drivers without the sound server, which will help <systemitem>JACK</systemitem> to maintain accurately low latencies.  The following procedure configures <systemitem>JACK</systemitem> to connect to the ALSA driver directly.
+				With the default configuration of <application>QjackCtl</application>, it chooses the "default" sound card, which actually goes through the <systemitem>ALSA</systemitem> sound server.  We can avoid this, and use the <systemitem>ALSA</systemitem> drivers without the sound server, which will help <systemitem>JACK</systemitem> to maintain accurately low latencies.  The following procedure configures <systemitem>JACK</systemitem> to connect to the <systemitem>ALSA</systemitem> driver directly.
 			</para>
 			<!-- Part of this procedure appears in the Audacity chapter.  Keep them in sync. -->
 			<procedure>
-				<step><para>Open a terminal.  In GNOME, click on 'Applications > System > Terminal'.  In KDE, click on the application launcher, then 'System > Konsole'.</para></step>
-				<step><para>Execute this command: "cat /proc/asound/cards".</para></step>
+				<step><para>Open a terminal.  In GNOME, choose <menuchoice><guimenu>Applications</guimenu> <guisubmenu>System</guisubmenu> <guimenuitem>Terminal</guimenuitem></menuchoice>.  In KDE, click on the application launcher, then choose <menuchoice><guimenu>System</guimenu> <guimenuitem>Konsole</guimenuitem></menuchoice>.</para></step>
+				<step><para>Execute this command: <command>cat /proc/asound/cards</command></para></step>
 				<step><para>The <application>cat</application> program outputs a list of sound cards in your computer, which looks similar to this list:
 <programlisting><![CDATA[
 0 [SB             ]: HDA-Intel - HDA ATI SB
@@ -104,7 +89,7 @@
 				In this example output, the square brackets surround the name of the sound card.  The names of the sound cards in this example output are <literal>SB</literal> and <literal>MobilePre</literal>.</para></step>
 				<step><para>Identify the name of the sound card that you want to use.  If you do not see your sound card in the list outputted by <application>cat</application>, then your computer does not detect it.</para></step>
 				<step><para>Start <application>QjackCtl</application>.</para></step>
-				<step><para>Open the "Setup" window by clicking 'Setup'.</para></step>
+				<step><para>Click <guibutton>Setup</guibutton> to open the "Setup" window.</para></step>
 				<step><para>In the 'Interface' text box, type the name of your preferred sound card with "hw:" in front.  With the sound cards listed above, you might write <literal>hw:MobilePre</literal>.</para></step>
 				<step><para>Save your settings by exiting <application>QjackCtl</application>.  If you want to use <systemitem>JACK</systemitem>, restart <application>QjackCtl</application>.</para></step>
 			</procedure>
@@ -122,28 +107,28 @@
 			<title>Integrating <systemitem>PulseAudio</systemitem> with <systemitem>JACK</systemitem></title>
 			<para>
 				The default configuration of <systemitem>PulseAudio</systemitem> yields control of the audio equipment to <systemitem>JACK</systemitem> when the <systemitem>JACK</systemitem> server starts.  <systemitem>PulseAudio</systemitem> will not be able to receive input or send output of any audio signals on the audio interface used by <systemitem>JACK</systemitem>.  This is fine for occasional users of <systemitem>JACK</systemitem>, but many users will want to use <systemitem>JACK</systemitem> and <systemitem>PulseAudio</systemitem> simultaneously, or switch between the two frequently.  The following instructions will configure <systemitem>PulseAudio</systemitem> so that its input and output is routed through <systemitem>JACK</systemitem>.
-				<orderedlist>
-				<listitem><para>Use PackageKit or KPackageKit to install the <package>pulseaudio-module-jack</package> package.</para></listitem>
-				<listitem><para>Approve the installation and ensure that it is carried out properly.</para></listitem>
-				<listitem><para>You'll need to edit the <systemitem>PulseAudio</systemitem> configuration file to use the <systemitem>JACK</systemitem> module.
-					<orderedlist>
-					<listitem><para>Be careful! You will be editing an important system file as the root user!</para></listitem>
-					<listitem><para>Run the following command in a terminal: <command>sudo -c 'gedit /etc/pulse/default.pa'</command></para></listitem>
-					<listitem><para>Add the following lines, underneath the line that says [code]#load-module module-alsa-sink[/code]:
+			</para>
+			<procedure>
+				<step><para>Use PackageKit or KPackageKit to install the <package>pulseaudio-module-jack</package> package.</para></step>
+				<step><para>Approve the installation and ensure that it is carried out properly.</para></step>
+				<step><para>You'll need to edit the <systemitem>PulseAudio</systemitem> configuration file to use the <systemitem>JACK</systemitem> module.</para>
+					<substeps>
+						<step><para>Be careful! You will be editing an important system file as the root user!</para></step>
+						<step><para>Run the following command in a terminal: <command>sudo -c 'gedit /etc/pulse/default.pa'</command></para></step>
+						<step><para>Add the following lines, underneath the line that says [code]#load-module module-alsa-sink[/code]:
 <programlisting><![CDATA[
 load-module module-jack-sink
 load-module module-jack-source
 ]]></programlisting>
-					</para></listitem>
-					</orderedlist></para></listitem>
-				<listitem><para>Restart <systemitem>PulseAudio</systemitem> by running the following command in a terminal: <command>killall pulseaudio</command>  <systemitem>PulseAudio</systemitem> restarts automatically.</para></listitem>
-				<listitem><para>Confirm that this has worked by opening <application>QjackCtl</application>.  The display should confirm that <systemitem>JACK</systemitem> is "Active".</para></listitem>
-				<listitem><para>In the "Connect" window, on the "Audio" tab, there should be <systemitem>PulseAudio</systemitem> devices on each side, and they should be connected to "system" devices on the opposite sides.</para></listitem>
-				<listitem><para>Open <application>QjackCtl</application>'s "Setup" window, then click on the "Options" tab.  Uncheck "Execute script after Shutdown: killall jackd".  If you did not make this change, then <application>QjackCtl</application> would stop the <systemitem>JACK</systemitem> server from running every time the program quits.  Since <systemitem>PulseAudio</systemitem> is still expecting to use <systemitem>JACK</systemitem> after that, you shouldn't do this any more.</para></listitem>
-				<listitem><para>When <systemitem>PulseAudio</systemitem> starts <systemitem>JACK</systemitem>, it uses the command found in the <filename>~/.jackdrc</filename> file.  <application>QjackCtl</application> automatically updates this file when you change settings, but you may have to restart both <systemitem>PulseAudio</systemitem> and <systemitem>JACK</systemitem> in order to get the new changes to take effect.  If they refuse to take effect, you can edit that file yourself.</para></listitem>
-				<listitem><para>Be careful about using a very high sample rate with <systemitem>PulseAudio</systemitem>, since it will tend to use a lot of CPU power.</para></listitem>
-				</orderedlist>
-			</para>
+						</para></step>
+					</substeps></step>
+				<step><para>Restart <systemitem>PulseAudio</systemitem> by running the following command in a terminal: <command>killall pulseaudio</command>  <systemitem>PulseAudio</systemitem> restarts automatically.</para></step>
+				<step><para>Confirm that this has worked by opening <application>QjackCtl</application>.  The display should confirm that <systemitem>JACK</systemitem> is "Active".</para></step>
+				<step><para>In the "Connect" window, on the "Audio" tab, there should be <systemitem>PulseAudio</systemitem> devices on each side, and they should be connected to "system" devices on the opposite sides.</para></step>
+				<step><para>Open <application>QjackCtl</application>'s "Setup" window, then click on the "Options" tab.  Uncheck "Execute script after Shutdown: killall jackd".  If you did not make this change, then <application>QjackCtl</application> would stop the <systemitem>JACK</systemitem> server from running every time the program quits.  Since <systemitem>PulseAudio</systemitem> is still expecting to use <systemitem>JACK</systemitem> after that, you shouldn't do this any more.</para></step>
+				<step><para>When <systemitem>PulseAudio</systemitem> starts <systemitem>JACK</systemitem>, it uses the command found in the <filename>~/.jackdrc</filename> file.  <application>QjackCtl</application> automatically updates this file when you change settings, but you may have to restart both <systemitem>PulseAudio</systemitem> and <systemitem>JACK</systemitem> in order to get the new changes to take effect.  If they refuse to take effect, you can edit that file yourself.</para></step>
+				<step><para>Be careful about using a very high sample rate with <systemitem>PulseAudio</systemitem>, since it will tend to use a lot of CPU power.</para></step>
+			</procedure>
 		</section>
 	</section>
 	


More information about the docs-commits mailing list