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">
5 <title>polypaudio: FAQ
</title>
6 <link rel=
"stylesheet" type=
"text/css" href=
"style.css" />
12 <h1>Frequently Asked Questions
</h1>
15 <li><p><b>How does Polypaudio compare with ESOUND/aRts/NAS?
</b></p>
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>
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
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>
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
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>
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>
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>
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>
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>
72 <li><p><b>I only want to run polypaudio when it is needed, how do I do this?
</b></p>
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>
78 <li><p><b>How do I list all polypaudio modules installed?
</b></p>
80 <p><tt>polypaudio --dump-modules
</tt></p>
82 <p>Add
<tt>-v
</tt> for terse usage instructions.
</p>
84 <li><p><b>What environment does polypaudio care about?
</b></p>
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>
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>
93 <address class=
"grey">Lennart Poettering
<@PACKAGE_BUGREPORT@
>, September
2004</address>
94 <div class=
"grey"><i>$Id$
</i></div>