]> code.delx.au - pulseaudio/blob - doc/FAQ.html.in
documentation update
[pulseaudio] / doc / FAQ.html.in
1 <?xml version="1.0" encoding="iso-8859-1"?> <!-- -*-html-helper-*- -->
2 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
3 <html xmlns="http://www.w3.org/1999/xhtml">
4 <head>
5 <title>polypaudio: FAQ</title>
6 <link rel="stylesheet" type="text/css" href="style.css" />
7 </head>
8
9 <body>
10
11
12 <h1>Frequently Asked Questions</h1>
13
14 <ol>
15 <li><p><b>How does Polypaudio compare with ESOUND/aRts/NAS?</b></p>
16
17 <p>Polypaudio is sound daemon similar to ESOUND and NAS, but much more
18 powerful. aRts is a realtime-synthesizer-cum-sound-server, i.e. it
19 does much more than Polypaudio. However, I believe that Polypaudio
20 does what it does much better than any other free sound server.</p>
21 </li>
22
23 <li><p><b>What about ESOUND compatibility?</b></p>
24 <p>Polypaudio is a drop in replacement for ESOUND. That means: you can
25 load a esound compatibility module which implements an ESOUND
26 compatible protocol which allows you to use most of the classic ESOUND
27 compatible programs (including the command line programs like
28 <tt>esdcat</tt>).</p>
29 </li>
30
31 <li><p><b>Is Polypaudio a GNOME program?</b></p>
32 <p>No, Polypaudio has no dependency on GNOME/GTK/GLIB. All it requires
33 is a UNIX-like operating system and very few dependency
34 libraries. However, the accompanying GUI tools are writen with
35 gtkmm, i.e. require both GLIB and GTK.</p></li>
36
37 <li><p><b>Can I integrate Polypaudio in my GLIB/GTK/GNOME application?</b></p>
38 <p>Yes! Polypaudio comes with a GLIB main loop adapter. You can embed
39 both the client library and the daemon (!) into your GLIB based
40 application.</p></li>
41
42 <li><p><b>Can I integrate Polypaudio in my Qt/KDE application?</b></p>
43 <p>Yes! Polypaudio uses a main loop abstraction layer that allows you
44 to integrate Polypaudio in any program that supports main
45 loops. Unfortunately there is no adapter for Qt publicly available yet.</p></li>
46
47 <li><p><b>I want to write a new driver for Polypaudio, are there any docs?</b></p>
48 <p>Currently, only the client API is documented with doxygen. Read
49 the source and base your work on a simple module like
50 <tt>module-pipe-sink</tt>.</p></li>
51
52 <li><p><b>What about compatibility with NAS?</b></p>
53 <p>Is not available (yet?). It is doable, but noone has implemented it yet.</p></li>
54
55 <li><p><b>What about compatibility with aRts?</b></p>
56 <p>Is not available. Since aRts is as synthesizer application you'd have to
57 reimplement very much code for Polypaudio. It should be easy to
58 implement limited support for <tt>libartsc</tt> based
59 applications. Noone has done this yet. It is probably a better idea to
60 run <tt>arts</tt> on top of Polypaudio (through a polypaudio driver
61 for aRts, which nobody has written yet). Another solution would be to
62 embed Polypaudio in the aRts process.</p></li>
63
64 <li><p><b>I often hear noises when playing back with Polypaudio, what can I do?</b></p>
65 <p>There are to possible solutions: either make the polypaudio
66 binary SUID root (<tt>chmod u+s /usr/bin/polypaudio</tt>) and run it
67 with argument <tt>--high-priority=1</tt> or increase the fragment sizes of the audio
68 drivers. The former will allow Polypaudio to activate
69 <tt>SCHED_FIFO</tt> high priority scheduling (root rights are dropped
70 immediately after this) Keep in mind that is a potential security hole!</p></li>
71
72 <li><p><b>I only want to run polypaudio when it is needed, how do I do this?</b></p>
73
74 <p>Set <tt>autospawn = yes</tt> in <tt>client.conf</tt>. That
75 configuration file may be found either in <tt>/etc/polypaudio/</tt> or
76 in <tt>~/.polypaudio/</tt>.</p></li>
77
78 <li><p><b>How do I list all polypaudio modules installed?</b></p>
79
80 <p><tt>polypaudio --dump-modules</tt></p>
81
82 <p>Add <tt>-v</tt> for terse usage instructions.</p>
83
84 <li><p><b>What environment does polypaudio care about?</b></p>
85
86 <p>The client honors: <tt>POLYP_SINK</tt> (default sink to connect to), <tt>POLYP_SOURCE</tt> (default source to connect to), <tt>POLYP_SERVER</tt> (default server to connect to, like <tt>ESPEAKER</tt>), <tt>POLYP_BINARY</tt> (the binary to start when autospawning a daemon), <tt>POLYP_CLIENTCONFIG</tt> (path to the client configuration file).</p>
87
88 <p>The daemon honors: <tt>POLYP_SCRIPT</tt> (default CLI script file run after startup), <tt>POLYP_CONFIG</tt> (default daemon configuration file), <tt>POLYP_DLPATH</tt> (colon separated list of paths where to look for modules)</p></li>
89
90 </ol>
91
92 <hr/>
93 <address class="grey">Lennart Poettering &lt;@PACKAGE_BUGREPORT@&gt;, September 2004</address>
94 <div class="grey"><i>$Id$</i></div>
95 </body> </html>