[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