commit f0164530e39292e5168eb2a783abf50eed80d7a4
Author: Christopher Antila <crantila(a)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(a)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[
-@audio - rtprio 99
-@audio - memlock 4194304
-@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>