<!-- <?xml version="1.0" ?>
<!DOCTYPE chapter PUBLIC "-//KDE//DTD DocBook XML V4.1.2-Based Variant V1.1//EN" "dtd/kdex.dtd">
To validate or process this file as a standalone document, uncomment
this prolog. Be sure to comment it out again when you are done -->
<chapter id="faq">
<title
>Fragen und Antworten</title>

<para
> In diesem Abschnitt finden Sie die Antworten auf einige häufig gestellte Fragen zu &arts;. </para>

<qandaset id="faq-general">
<title
>Allgemeine Fragen</title>

<qandaentry>
<question>
<para
> Unterstützt &kde; die Ausgabe von Audio über meine Soundkarte? </para>
</question>

<answer>
<para
> &kde; verwendet &arts; für das Abspielen von Klängen und &arts; verwendet die Kernel-Treiber von &Linux;, entweder <acronym
>OSS</acronym
> oder die <acronym
>OSS</acronym
>-Emulation von <acronym
>ALSA</acronym
>. Wenn Ihre Soundkarte entweder von <acronym
>ALSA</acronym
> oder <acronym
>OSS</acronym
> unterstützt und richtig eingerichtet wurde (&dh; irgendeine andere &Linux;-Anwendung kann Klänge ausgeben), funktionieren auch Klänge unter KDE. In speziellen Fällen können allerdings Probleme auftreten. Bei Problemen mit artsd kann man den <link linkend="faq-hardware-specific"
>Abschnitt über Hardware-Probleme</link
> lesen. </para>
<para
> Inzwischen werden verschiedene andere Computersysteme unterstützt. Es folgt eine komplette Liste der Soundausgabe mit der aktuellen Version von &arts;. Falls das eigene Computersystem nicht aufgeführt ist, sollte man in Erwägung ziehen, &arts; selbst zu portieren. </para>

<informaltable>
<tgroup cols="2">
<thead
> <row
> <entry
>&arts; Audio Ein-/Ausgabe-Methode</entry
> <entry
>Kommentar</entry
> </row
> </thead>

<tbody
> <row
> <entry
>paud</entry
> <entry
>Unterstützung des "Personal Audio Device" unter AIX</entry
> </row
> <row
> <entry
>alsa</entry
> <entry
>Linux ALSA-0.5- und ALSA-0.9-Treiber</entry
> </row
> <row
> <entry
>libaudioio</entry
> <entry
>Unterstützung der unter Solaris funktionierenden generischen Bibliothek "LibAudioIO"</entry
> </row
> <row
> <entry
>nas</entry
> <entry
>NAS-Soundserver, nützlich für X-Terminals mit NAS-Unterstützung</entry
> </row
> <row
> <entry
>null</entry
> <entry
>Null-Audiogerät, verwirft Soundausgaben</entry
> </row
> <row
> <entry
>oss</entry
> <entry
>OSS-Unterstützung (Open Sound System) (funktioniert unter Linux, verschiedenen BSD-Varianten und anderen Plattformen mit installierten OSS-Treibern)</entry
> </row
> <row
> <entry
>toss</entry
> <entry
>OSS-Unterstützung mit Threads, funktioniert manchmal in Installaionen besser, unter denen die Standardunterstützung für OSS versagt</entry
> </row
> <row
> <entry
>sgi</entry
> <entry
>SGI "Direct Media"-Unterstützung unter IRIX</entry
> </row
> <row
> <entry
>sun</entry
> <entry
>Solaris-Unterstützung</entry
> </row
> </tbody>
</tgroup>
</informaltable>
</answer>
</qandaentry>

<qandaentry>
<question>
<para
> Ich kann keine <literal role="extension"
>wav</literal
>-Dateien mit &artsd; abspielen! </para>
</question>

<answer>
<para
> Überprüfen Sie, das &artsd; mit<filename
>libaudiofile</filename
> gelinkt ist (<userinput
><command
>ldd</command
> <parameter
>artsd</parameter
></userinput
>). Falls das nicht der Fall ist, laden Sie das Paket kdesupport herunter und übersetzen Sie alles neu. </para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para
> Ich kann Klänge hören, wenn ich mich als <systemitem class="username"
>root</systemitem
> anmelde, aber kein anderer Benutzer kann Klänge hören! </para>
</question>

<answer>
<para
> Die Berechtigungen für die Datei <filename class="devicefile"
>/dev/dsp</filename
> entscheiden, welche Benutzer Klänge erhalten. Um jedem die erforderlichen Berechtigungen zu geben, müssen Sie Folgendes machen: </para>

<procedure
> <step
> <para
> Melden Sie sich als <systemitem class="username"
>root</systemitem
> an. </para
> </step
> <step
> <para
> Öffnen Sie ein &konqueror;-Fenster. </para
> </step
> <step
> <para
> Gehen Sie in das Verzeichnis <filename class="directory"
>/dev</filename
>. </para
> </step
> <step
> <para
> Klicken Sie mit der <mousebutton
>rechten</mousebutton
> Maustaste auf <filename
>dsp</filename
> und wählen Sie Eigenschaften. </para
> </step
> <step
> <para
> Klicken Sie auf die Karteikarte <guilabel
>Berechtigungen</guilabel
>. </para
> </step
> <step
> <para
> Markieren Sie <guilabel
>Lesen</guilabel
> und <guilabel
>Schreiben</guilabel
> in allen Bereichen. </para
> </step
> <step
> <para
> Klicken Sie auf <guibutton
>OK</guibutton
>. </para
> </step
> </procedure>

<para
> Sie können das gleiche erreichen, indem Sie in einem Terminal-Fenster <userinput
><command
>chmod</command
> <option
>666</option
> <parameter
>/dev/dsp</parameter
></userinput
> eingeben. </para>

<para
> Um den Zugriff auf Klänge auf bestimmte Benutzer einzuschränken, können Sie Gruppenrechte verwenden. Bei einige &Linux;-Distributionen, z.B. Debian/Potato, gehört <filename class="devicefile"
>/dev/dsp</filename
> bereits zur Gruppe <systemitem class="groupname"
>audio</systemitem
>. Sie müssen die gewünschten Benutzer lediglich zu dieser Gruppe hinzufügen. </para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para
> Das hilft für &artsd;, aber wie sieht es mit &kmix;, &kmid;, &kscd;,&etc; aus? </para>
</question>
<answer>

<para
> Es gibt verschiedene andere Geräte, auf die Multimedia-Anwendungen zugreifen. Sie können sie alle genau so behanden; Sie können sie entweder für alle Benutzer freigeben oder Gruppenrechte zur Zugriffskontrolle verwenden. Hier ist eine Liste der beteiligten Geräte, die aber unvollständig sein kann (falls es mehrere Geräte einer Art gibt, sind sie in der Form <filename class="devicefile"
>midi0</filename
>, <filename class="devicefile"
>midi1</filename
>, ... benannt, nur das erste dieser Geräte ist in der folgenden Liste aufgeführt): </para>

<itemizedlist
> <listitem
> <para
> <filename class="devicefile"
>/dev/admmidi0</filename
> </para
> </listitem
> <listitem
> <para
> <filename class="devicefile"
>/dev/adsp0</filename
> </para
> </listitem
> <listitem
> <para
> <filename class="devicefile"
>/dev/amidi0</filename
> </para
> </listitem
> <listitem
> <para
> <filename class="devicefile"
>/dev/amixer0</filename
> </para
> </listitem
> <listitem
> <para
> <filename class="devicefile"
>/dev/audio</filename
> </para
> </listitem
> <listitem
> <para
> <filename class="devicefile"
>/dev/audio0</filename
> </para
> </listitem
> <listitem
> <para
> <filename class="devicefile"
>/dev/cdrom</filename
> </para
> </listitem
> <listitem
> <para
> <filename class="devicefile"
>/dev/dmfm0</filename
> </para
> </listitem
> <listitem
> <para
> <filename class="devicefile"
>/dev/dmmidi0</filename
> </para
> </listitem
> <listitem
> <para
> <filename class="devicefile"
>/dev/dsp</filename
> </para
> </listitem
> <listitem
> <para
> <filename class="devicefile"
>/dev/dsp0</filename
> </para
> </listitem
> <listitem
> <para
> <filename class="devicefile"
>/dev/midi0</filename
> </para
> </listitem
> <listitem
> <para
> <filename class="devicefile"
>/dev/midi0</filename
> </para
> </listitem
> <listitem
> <para
> <filename class="devicefile"
>/dev/midi00</filename
> </para
> </listitem
> <listitem
> <para
> <filename class="devicefile"
>/dev/midi00</filename
> </para
> </listitem
> <listitem
> <para
> <filename class="devicefile"
>/dev/mixer</filename
> </para
> </listitem
> <listitem
> <para
> <filename class="devicefile"
>/dev/mixer0</filename
> </para
> </listitem
> <listitem
> <para
> <filename class="devicefile"
>/dev/mpu401data</filename
> </para
> </listitem
> <listitem
> <para
> <filename class="devicefile"
>/dev/mpu401stat</filename
> </para
> </listitem
> <listitem
> <para
> <filename class="devicefile"
>/dev/music</filename
> </para
> </listitem
> <listitem
> <para
> <filename class="devicefile"
>/dev/rmidi0</filename
> </para
> </listitem
> <listitem
> <para
> <filename class="devicefile"
>/dev/rtc</filename
> </para
> </listitem
> <listitem
> <para
> <filename class="devicefile"
>/dev/sequencer</filename
> </para
> </listitem
> <listitem
> <para
> <filename class="devicefile"
>/dev/smpte0</filename
> </para
> </listitem
> <listitem
> <para
> <filename class="devicefile"
>/dev/sndstat</filename
> </para
> </listitem
> </itemizedlist>
</answer>
</qandaentry>

<qandaentry>
<question>
<para
>Was kann ich tun, wenn artsd nicht startet oder während der Ausführung abstürzt?</para>
</question>

<answer>
<para
> Versuchen SIe zuerst die Standardeinstellungen in &kcontrol; (oder wenn Sie manuell gestartet haben, geben Sie keine zusätzlichen Optionen an, außer vielleicht <userinput
><option
>-F</option
><parameter
>10</parameter
> <option
>-S</option
><parameter
>4096</parameter
></userinput
>). Besonders die Einstellung <emphasis
>Volle Duplexfähigkeit aktivieren</emphasis
> funktioniert bei einigen Treibern <emphasis
>nicht</emphasis
>. </para>

<para
> Eine gute Methode, Problemen mit artsd auf den Grund zu gehen, ist, &artsd; manuell zu starten. Öffnen Sie dazu ein &konsole;-Fenster und geben Sie folgenden Befehl:  </para>

<screen width="40"
><prompt
>%</prompt
> <userinput
><command
>artsd</command
> <option
>-F</option
><parameter
>10</parameter
> <option
>-S</option
><parameter
>4096</parameter
>
></userinput
></screen>

<para
> Sie können außerdem die Option <option
>-l0</option
> hinzufügen. Sie sorgt für umfangreichere Statusmeldungen:  </para>
<screen width="40"
><prompt
>%</prompt
> <userinput
><command
>artsd</command
> <option
>-l0</option
> <option
>-F</option
><parameter
>10</parameter
> <option
>-S</option
><parameter
>4096</parameter
></userinput
></screen>

<para
> Sie erhalten bestimmt einige nützliche Informationen über die Startprobleme. Oder, wenn artsd abstürzt, während etwas Bestimmtes passiert, können Sie auch dieses ausprobieren und Informationen erhalten <quote
>wie</quote
> &artsd; abstürzt. Wenn Sie einen Fehlerbericht einsenden wollen, kann ein Backtrace mit <command
>gdb</command
> und/oder ein <command
>strace</command
> hilfreich sein. </para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para
>Kann ich &artsd; verschieben (die übersetzten Dateien in ein anderes Verzeichnis verschieben)?</para>
</question>

<answer>
<para
> Das funktioniert nicht perfekt. Das Problem ist, das &artswrapper; die Position von &artsd; aus Sicherheitsgründen fest einkompiliert hat. Sie können allerdings die <filename
>.mcoprc</filename
>-Datei (Einträge für Trader-Pfad/Erweiterungspfad) verwenden, damit ein verschobener &artsd; wenigstens seine Komponenten findet. Sehen Sie im <link linkend="the-mcoprc-file"
>Kapitel über die <filename
>.mcoprc</filename
>-Datei</link
> für genauere Vorgehenshinweise nach. </para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para
>Kann man &arts; mit gcc-3.0 kompilieren?</para>
</question>

<answer>
<para
> Kurze Antwort: Nein, &arts; funktioniert nicht, wenn er mit GCC 3.0 kompiliert wird. </para>

<para
> Lange Antwort: In der offiziellen Version von GCC 3.0 gibt es zwei Fehler, die &arts; betreffen. Der Erste, GCC-Fehler c++/2733 ist relativ harmlos (und betrifft Probleme mit  Assembleranweisungen). Die Kompilation von convert.cc wird dadurch verhindert. Dieser Fehler ist im GCC-3.0-CVS bereits beseitigt und wird in einer Version GCC-3.0.1 oder höher beseitigt sein. Ein Notbehelf wurde zur CVS-Version von KDE/arts hinzugefügt. </para>
<para
> Der zweite GCC-3.0-Fehler, c++/3145 (Erzeugung falscher Anweisungen in einigen Fällen von mehrfacher virtueller Vererbung) ist kritisch. Anwendng wie &artsd; stürzen ab beim Start ab, wenn sie mit GCC-3.0 kompiliert werden. Auch wenn bereits kleine Fortschritte zur Beseitigung dieses Problems erzielt wurden, stürzt &artsd; immer noch oft und unerwartet ab. </para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para
>Welche Anwendungen funktionieren unter &arts;?</para>
</question>
<answer>

<para
> Offensichtlich sind alle &kde;-Anwendungen für &arts; vorbereitet. Das schließt Folgende ein: </para>

<itemizedlist
> <listitem
><para
>&noatun;</para
></listitem
> <listitem
><para
>&artsbuilder;</para
></listitem
> <listitem
><para
>&aktion;</para
></listitem
> <listitem
><para
>&kmid;</para
></listitem
> <listitem
><para
>&kmidi;</para
></listitem
> <listitem
><para
>&kmix;</para
></listitem
> <listitem
><para
>&kscd;</para
></listitem
> <listitem
><para
>&kde;-Spiele wie &kpoker; und &ktuberling;</para
></listitem
> </itemizedlist>

<para
> Einige &kde;-Anwendungen, die bisher nicht Teil von &kde;-Veröffentlichungen sind (z.B. aus kdenonbeta) unterstützen &arts; auch. Das sind unter anderen: </para>

<itemizedlist
> <listitem
><para
>&brahms;</para
></listitem
> <listitem
><para
><application
>Kaboodle</application
></para
></listitem
> <listitem
><para
><application
>Kdao</application
></para
></listitem
> </itemizedlist>

<para
> Die folgenden Nicht-&kde;-Anwendungen funktionieren ebenfalls mit &arts;: </para>

<itemizedlist
> <listitem
><para
><application
>xmms</application
> (mit &arts;-Plugin)</para
></listitem
> <listitem
><para
>Real Networks <application
>RealPlayer</application
> 8.0 (funktioniert mit &artsdsp;; vollständige &arts;-Unterstützung wird überlegt)</para
></listitem
> </itemizedlist>

<para
> Die folgenden Anwendungen funktionieren <emphasis
>nicht</emphasis
> mit &arts;: </para>

<itemizedlist
> <listitem
><para
>keine</para
></listitem
> </itemizedlist>

<para
> Weitere Informationen finden Sie in den Antworten zu den Fragen im Abschnitt <link linkend="faq-non-arts"
>Nicht-&arts;-Anwendungen</link
>. </para>

<para
> Dieser Abschnitt ist unvollständig -- wenn Sie Informationen zu weiteren unterstützten und nicht unterstützten Anwendungen haben, senden Sie sie an den Autor, damit sie eingefügt werden können. </para>
</answer>
</qandaentry>

</qandaset>

<qandaset id="faq-non-arts">
<title
>Nicht-&arts;-Anwendungen</title>

<qandaentry>
<question>
<para
> Sobald &kde; läuft, kann keine andere Anwendung auf die Klanggeräte zugreifen! </para>
</question>
<answer>
<para
> Während der &arts;-Soundserver von &kde; läuft, verwendet er die Klanggeräte. Wenn der Server für 60 Sekunden unbeschäftigt ist, setzt er aus und gibt die Geräte automatisch frei. </para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para
> Angeblich soll er nach 60 Sekunden aussetzen, er tut es aber nicht! </para>
</question>
<answer>
<para
> Wenn man artsd vom KDE Kontrollzentrum aus startet, beträgt die Standardeinstellung für das Aussetzen 60 Sekunden. Wenn man artsd dagegen von der Befehlszeile aus startet, muss man die Option -s verwenden, um die Zeit bis zum Aussetzen festzulegen, ansonsten wird das Aussetzen deaktiviert. </para>
<para
> Augenblicklich funktioniert das Aussetzen nicht im Zusammenhang mit Full-Duplex. Schalten Sie in &kcontrol; Full-Duplex-Fähigkeit aus und das Aussetzen wird funktionieren. Full-Duplex deaktivieren, ist immer einer gute Idee, wenn Sie &arts; nur zum Abspielen und nicht zum Aufnehmen verwenden. </para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para
> Wie kann ich alte Nicht-&arts;-Anwendungen ausführen? </para>
</question>

<answer>
<para
> Starten Sie sie mit Hilfe von &artsdsp;. Wenn Sie z.B. normalerweise eingeben würden: </para>

<screen
><prompt
>&percnt;</prompt
> <userinput
><command
>mpg123</command
> <option
>foo.mp3</option
></userinput
></screen>

<para
>verwenden Sie stattdessen:</para>

<screen
><prompt
>&percnt;</prompt
> <userinput
><command
>artsdsp</command
> <option
>mpg123 foo.mp3</option
></userinput
></screen>

<para
> Dadurch wird die Klangausgabe an &arts; umgeleitet. Diese Methode erfordert keine Veränderung der Anwendungen. Diese Übergangslösung unterstützt allerdings bisher nicht alle Fähigkeiten der Klanggeräte, daher werden einige Anwendungen dennoch nicht funktionieren. </para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para
> Ich kann &artsdsp; mit keiner Anwendung ausführen, es stürzt immer ab! </para>
</question>
<answer>
<para
> Sie benötigen eine aktuelle Version der glibc-Bibliothek; &artsdsp; funktioniert auf einigen älteren &Linux;-Distributionen nicht zuverlässig. Z.B. funktioniert das Programm unter Debian 2.1 (mit glibc 2.0) nicht, während es unter Debian 2.2 (mit glibc 2.1.3) funktioniert. </para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para
> Gibt es prinzipielle Hindernisse, sodass einige Anwendungen grundsätzlich nicht mit &artsdsp; funktionieren können? </para>
</question>
<answer>
<para
> Nein. Das Programm &artsdsp; führt zu einer etwas höheren <acronym
>CPU</acronym
>-Belastung als die direkte Verwendung des &arts;-<acronym
>API</acronym
>s. Darüber hinaus kann jede nicht funktionierende Anwendung als Fehler in &artsdsp; betrachtet werden. Die Technik von &artsdsp; sollte bei richtiger Implementation<emphasis
>jeder</emphasis
> Anwendung eine Zusammenarbeit mit arts ermöglichen (einschließlich großer Anwendungen wie <application
>Quake</application
> 3). </para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para
> Was kann ich tun, wenn eine Anwendung nicht mit &artsdsp; funktioniert? </para>
</question>
<answer>
<para
> Sie können entweder warte, bis &artsd; automatisch aussetzt oder das Kommand <userinput
><command
>artsshell</command
> <option
>suspend</option
></userinput
> verwenden, um den Server manuelle abzuschalten. Sie können den Server nur dann abschalten, wenn keine Anwendung &arts; verwendet und während &arts; abgeschaltet ist, können Sie keine Anwendungen starten, die den Server verwenden. </para>

<para
> Wenn der Server beschäftigt ist, gibt es einen brutalen Weg, ihn abzuschalten: </para>


<screen
><prompt
>&percnt;</prompt
> <userinput
><command
>killall</command
> <option
>artsd</option
> ; <command
>killall</command
> <option
>artswrapper</option
></userinput>
<lineannotation
>Now start your own application.</lineannotation>
<prompt
>&percnt;</prompt
> <userinput
><command
>kcminit</command
> <option
>arts</option
></userinput>
</screen>

<para
> Damit stürtzt allerdings jede &arts;-Anwendung ab, sobald Sie den Server so abschalten. </para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para
> Wie sieht es mit &kde;-1.x-Anwendungen aus? </para>
</question>
<answer>
<para
> Wenn Sie &kde;-1.x-Anwendungen benutzen, die den &kde;-1-Audioserver zur Ausgabe verwenden, müssen Sie das Programm <application
>kaudioserver</application
> starten. Sie können <application
>kaudioserver</application
> wie jede andere Nicht-&arts;-Anwendung behandeln: </para>

<screen>
<prompt
>&percnt;</prompt
> <userinput
><command
>artsdsp</command
> <option
>kaudioserver</option
></userinput>
</screen>

<para
> Sie müssen kaudioserver installiert haben (aus der gleichen Quelle, von der Sie Ihre &kde;-1.x-Anwendungen bekommen haben) - er gehört zu &kde; 1.x, nicht &kde; 2. </para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para
> Wie sieht es mit Anwendungen aus, die den Enlightened Sound Daemon, <acronym
>ESD</acronym
>, verwenden? </para>
</question>
<answer>
<para
> Der Fall ist ähnlich zu <application
>kaudioserver</application
>. Solche Anwendungen benötigen den Server esd. Sie können <command
>esd</command
> mit Hilfe von &artsdsp; starten und jede <acronym
>ESD</acronym
>-Anwendung sollte so funktionieren: </para>
<screen>
<prompt
>&percnt;</prompt
> <userinput
><command
>artsdsp</command
> <option
>esd</option
></userinput>
</screen>
</answer>
</qandaentry>

</qandaset>

<qandaset id="faq-latency">
<title
>Aussetzer</title>

<qandaentry>
<question>
<para
> Manchmal höre ich kurze Aussetzer in der Musik, ist das ein Fehler? </para>
</question>
<answer>
<para
> Das ist höchstwahrscheinlich kein Fehler sondern durch die Tatsache verursacht, das der &Linux;-Kernel keine guten Echtzeit-Fähigkeiten besitzt. Es gibt Situationen, in denen &arts; nicht mit der Wiedergabe mithalten kann.Sie können allerdings Echtzeit-Priorität aktivieren (in &kcontrol;) und eine große Antwortzeit verwenden (wie <guilabel
>250ms</guilabel
> oder <guilabel
>so groß wie möglich</guilabel
>). Das sollte die Situation verbessern. </para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para
> Wie wirkt sich der Antwortzeitwert aus? </para>
</question>
<answer>
<para
> Der Hilfetext für diese Einstellung in &kcontrol; kann verwirren. Ein kleinerer Wert bedeutet, das &arts; eine kürzere Antwortzeit auf externe Ereignisse (&dh; die Zeit, die benötigt wird zwischen dem Schließen eines Fensters und dem von &artsd; abgespielten zugehörigen Klang) verwendet. Das bedeutet, das mehr <acronym
>CPU</acronym
>-Zeit benötigt wird und die Wahrscheinlichkeit von Aussetzern größer wird.</para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para
> Gibt es andere Einstellungen, die Aussetzer verhindern können? </para>
</question>
<answer>
<para
> Benutzer von <acronym
>IDE</acronym
>-Laufwerken, können das Programm <command
>hdparm</command
> verwenden, um ihr <acronym
>IDE</acronym
>-Laufwerk in den <acronym
>DMA</acronym
>-Modus umzuschalten. Eine Warnung: Dieser Modus funktioniert nicht auf jedem Computer und kann zu einem Systemgesamtabsturz und in seltenen Fällen zu Datenverlust führen. Lesen Sie die Dokumentation zu <command
>hdparm</command
> für genauere Informationen. Ich habe das folgende Kommando erfolgreich verwendet: </para>

<screen>
<prompt
>&percnt;</prompt
> <userinput
><command
>hdparm</command
> <option
>-c1</option
> <option
>-d1</option
> <option
>-k1</option
> <option
>-K1</option
> <parameter
>/dev/hda</parameter
></userinput>
</screen>

<para
> Sie müssen dieses Kommando nach jedem Neustart ausführen, es ist also in einem Start-Skript am besten aufgehoben (wo genau ist unterschiedlich, auf Debian &Linux; üblicherweise in <filename
>/etc/rc.boot</filename
>). </para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para
> Die Verwendungvon Echtzeit-Priorität scheint keinen Einfluss zu haben? </para>
</question>
<answer>
<para
> Überprüfen Sie, ob artswrapper als suid <systemitem class="username"
>root</systemitem
> installiert ist. Viele Distributionen (wie z.B. SuSE7.x) installieren artswrapper nicht mit den richtigen Berechtigungen. Zur Überprüfung tippen Sie: ls -l $(which artswrapper). So sollte die Ausgabe aussehen: <screen>
<prompt
>&percnt;</prompt
> <userinput
><command
>ls</command
> <option
>-l</option
> <parameter
>$(which artswrapper)</parameter
></userinput>
-rwsr-xr-x    1 root     root         4556 Sep 24 18:05 /opt/kde2/bin/artswrapper
</screen
> So sollte es nicht aussehen: <screen>
<prompt
>&percnt;</prompt
> <userinput
><command
>ls</command
> <option
>-l</option
> <parameter
>$(which artswrapper)</parameter
></userinput>
-rwxr-xr-x    1 root     root         4556 Sep 24 18:05 /opt/kde2/bin/artswrapper
</screen
> Wenn das s fehlt, kann man es durch folgenden Befehl hinzufügen: <screen>
<prompt
>&percnt;</prompt
> <userinput
><command
>chown</command
> <option
>root</option
> <parameter
>$(which artswrapper)</parameter
></userinput>
<prompt
>&percnt;</prompt
> <userinput
><command
>chmod</command
> <option
>4755</option
> <parameter
>$(which artswrapper)</parameter
></userinput>
</screen
> </para>

<para
>Falls man &artswrapper; als SUID <systemitem class="username"
>root</systemitem
> ausführen lässt, wird sich durch Verringerung der Unterbrechungen die Qualität der Musikwiedergabe vermutlich erhöhen. Das erhöht allerdings auch die Wahrscheinlichkeit, dass ein Fehler im Programm oder ein böswilliger Benutzer den Rechner beschädigt. Im Mehr-Benutzerbetrieb kann die Ausgabe von hochwertigen Musikaufnahmen die Geschwindigkeit anderer Programme und Benutzer, die <quote
>produktiv</quote
> arbeiten, ernsthaft in Mitleidenschaft ziehen.</para>

</answer>
</qandaentry>


<qandaentry>
<question>
<para
> Warum benötigt &artsd; so viel <acronym
>CPU</acronym
>-Zeit? </para>
</question>
<answer>
<para
> Überprüfen Sie Ihre Antwortzeit-Einstellung. Die aktuelle Version ist außerdem noch nicht optimiert. Das wird sich in Zukunft verbessern. Bis dahin ist keine richtige Vorhersage möglich, wie schnell &artsd; sein kann oder nicht sein kann. </para>
</answer>
</qandaentry>
</qandaset>

<qandaset id="faq-network">
<title
>Netzwerk-Transparenz</title>

<qandaentry>
<question>
<para
> Was benötige ich für Netzwerk-Transparenz? </para>
</question>
<answer>
<para
> Sie müssen Netzwerk-Transparenz in den <guilabel
>Soundserver</guilabel
>-Einstellungen von &kcontrol; aktivieren (<guilabel
>Sicherheits- und Transparenzinfo mittels X11-Server austauschen</guilabel
> und <guilabel
>Netzwerk-Transparenz aktivieren</guilabel
>). Kopieren Sie Ihre <filename
>.mcoprc</filename
>-Datei auf alle Computer, von denen Sie diese Fähigkeit verwenden wollen. Melden Sie sich neu an. Stellen Sie sicher, das die Namensauflösung zwischen den interagierenden Computern funktioniert (&dh; sie müssen auflösbare Namen haben oder in der Datei <filename
>/etc/hosts</filename
> eingetragen sein). </para>

<para
> Das sollte alles sein. Falls immer noch Probleme bestehen, sind hier noch weitere Informationen. Der &arts; Soundserver-Prozeß, &artsd;, sollte nur auf einem Computer laufen, demjenigen mit der Soundkarte, auf dem die Ausgabe erfolgen soll. Der Prozeß kann automatisch beim Anmelden von &kde; gestartet werden (wenn Sie das in &kcontrol; einstellen), oder manuell durch Eingabe von: </para>

<screen>
<prompt
>&percnt;</prompt
> <userinput
><command
>artsd</command
> <option
>-n</option
> <option
>-F</option
> <parameter
>5</parameter
> <option
>-S</option
> <parameter
>8192</parameter
></userinput>
</screen>

<para
> Die Option <option
>-n</option
> ist für Netzwerk-Transparenz, die anderen steuern die Antwortzeit. </para>

<para
> Ihre <filename
>.mcoprc</filename
>-Datei sollte folgenden Eintrag haben: </para>

<screen>
<userinput
>GlobalComm=Arts::X11GlobalComm</userinput>
</screen>

<para
> auf allen beteiligten Computern, damit die Netzwerk-Transparenz funktioniert. Das wird aktiviert durch die Kontrollzentrumseinstellung <guilabel
>Sicherheits- und Transparenzinfo mittels X11-Server austauschen</guilabel
>. </para>

<para
> Schließlich gibt es in jeder &kde;-Version aus der 2.0.x-Serie einen Fehler, der sich auswirkt, wenn kein Domain-Name eingetragen ist. Klienten von &artsd; suchen den Computer mit dem Soundserver durch die <systemitem class="systemname"
><replaceable
>hostname</replaceable
>. <replaceable
>domainname</replaceable
></systemitem
>-Kombination. Wenn Ihr Domain-Name leer ist, wird <systemitem class="systemname"
><replaceable
>hostname</replaceable
></systemitem
>. (beachten Sie den zusätzlichen Punkt). Fügen Sie einen solchen Eintrag in die Datei <filename
>/etc/hosts</filename
> (&dh; <userinput
>orion.</userinput
> wenn Ihr Host-Name <systemitem class="systemname"
>orion</systemitem
> lautet) ein, um das Problem zu umgehen. </para>
</answer>
</qandaentry>


<qandaentry>
<question>
<para
> Wie kann ich Fehler suchen, falls die Netzwerk-Transparenz nicht funktioniert? </para>
</question>
<answer>
<para
> Wenn Sie den &kde;-Quelltext haben, gehen Sie in <filename class="directory"
>kdelibs/arts/examples</filename
> und führen Sie <userinput
><command
>make</command
> <option
>check</option
></userinput
> aus, um einige Programme einschließlich <application
>referenceinfo</application
> zu übersetzen. Führen Sie dann  </para>

<screen>
<prompt
>&percnt;</prompt
> <userinput
><command
>./referenceinfo</command
> <option
>global:Arts&lowbar;SimpleSoundServer</option
></userinput>
</screen>

<para
>  aus. Die Ausgabe zeigt den Hostnamen und die von &arts; verwendeten Kanäle (ports) an. Die Ausgabe <computeroutput
>tcp:orion:1698</computeroutput
> bedeutet, das jeder Klient, der Netzwerk-Transparenz verwenden will, sollte wissen, wie der Computer <systemitem class="systemname"
>orion</systemitem
> zu finden ist. </para>
</answer>
</qandaentry>

</qandaset>

<qandaset id="faq-hardware-specific">
<title
>Hardware-spezifische Fragen</title>

<qandaentry>
<question>
<para
> Welche Hardware funktioniert mit artsd nicht gut? </para>
</question>
<answer>
<para
> Es scheint einige wenige Linux-Treiber zu geben, die unter bestimmten Kernel-Versionen nicht gut mit aRts funktionieren. Bitte lesen Sie die folgende Liste, bevor Sie eine Fehlernachricht schicken. Falls einige Informationen dieser Liste unvollständig sind, lassen Sie uns das bitte wissen. <informaltable
> <tgroup cols="4"
> <thead
> <row
> <entry
>Linux-Treiber / Soundkarte</entry
> <entry
>Funktioniert nicht unter</entry
> <entry
>Funktioniert unter</entry
> <entry
>Bemerkungen</entry
> </row
> </thead
> <tbody
> <row
> <entry
>i810-Treiber (Intel 810 + AC97 Audio)</entry
> <entry
>2.4.9</entry
> <entry
>2.4.18, 2.2.20, kommerzieller OSS-Treiber, alsa-0.5.12a mit OSS-Emulation</entry
> <entry
>Treiber führt zu hoher CPU-Last (siehe unten)</entry
> </row
> <row
> <entry
>Maestro 3/4 Chipsatz</entry
> <entry
>2.4.9</entry
> <entry
>?</entry
> <entry
>Treiber verursacht manchmal hohe CPU-Last  (siehe unten)</entry
> </row
> <row
> <entry
>aureal8820, aureal8830 treiber von Sourceforge</entry
> <entry
>2.4.17</entry
> <entry
>?</entry
> <entry
>Treiber löst Assertions aus / führt zu hoher CPU-Last (siehe unten)</entry
> </row
> <row
> <entry
>OSS kommerzielle Version 3.9.4g mit Aureal Vortex</entry
> <entry
>?</entry
> <entry
>?</entry
> <entry
>Systemabsturz</entry
> </row
> <row
> <entry
>ymfpci</entry
> <entry
>2.4.0, 2.4.12</entry
> <entry
>2.4.17</entry
> <entry
>Treiber löst Assertion aus (siehe unten)</entry
> </row
> </tbody
> </tgroup
> </informaltable
> </para>
</answer>
</qandaentry>



<qandaentry>
<question>
<para
> Warum gibt es hardwarespezifische Probleme und wie sind diese zu lösen? </para>
</question>
<answer>
<para
> Das übliche Problem ist, dass manche Treiber aRts ungenügende oder unrichtige Informationen darüber geben, wann Sounddaten geschrieben werden sollen. Die meisten OSS-Treiber liefern korrekte Informationen, aber nicht alle. </para>
<para
> Es ist zu bemerken, dass einige andere Anwendungen (wie z.B. xmms) ohne diese Daten auskommen und daher auch auf solcher Hardware fehlerfrei arbeiten. &arts; benötigt diese Daten aber und daher könnte artsd abstürzen. Dennoch handelt es sich um einen Treiberfehler und nicht um einen &arts;-Fehler. </para>
<para
> Es gibt zwei Symptome, an denen man erkennt, dass artsd mit einem fehlerhaften Treiber arbeitet. Entweder versucht artsd ständig, neue Daten zu schreiben, was aber fehlschlägt und schließlich zu einer sehr hohen <emphasis
>CPU-Last</emphasis
> und schließlich zum Programmende führt. Beim zweiten Symptom wird artsd mit falschen Informationen darüber versorgt, wie viele Daten zu schreiben sind. In diesem Fall stoppt artsd <emphasis
>mit einer Assertion</emphasis
> wie: <screen>
artsd: audiosubsys.cc:458: void Arts::AudioSubSystem::handleIO(int):
Assertion `len == can_write' failed.
Aborted
</screen
> </para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para
> Wo liegt das Problem, wenn eine hohe CPU-Last auftritt? </para>
</question>
<answer>
<para
> Normalerweise verwendet artsd select(), um herauszufinden, wann Daten geschrieben werden können. Danach wird ein ioctl(...GETOSPACE...) verwendet, um die Menge der zu schreibenden Daten herauszufinden. Schließlich werden die Daten tatsächlich geschrieben. </para>
<para
> Ein Problem tritt auf, falls artsd ständig aktiviert wird oder falls nur minimale Datenmenge zu schreiben sind. Nach der OSS-Dokumentation aktiviert select() einen Prozeß nur dann, wenn mindestens ein Fragment zu schreiben ist. Falls artsd allerdings aktiviert wird und es ist lediglich eine sehr geringe Datenmenge zu schreiben, fährt artsd fort, nur geringe Datenmenge zu schreiben. Das führt schließlich zu einer hohen CPU-Last. </para>
<para
> Um das zu verhindern, darf der Treiber artsd nur dann aktivieren, wenn mindestens ein volles Fragment zu schreiben ist. </para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para
> Wo liegt der Fehler, wenn die Assertion auftritt? </para>
</question>
<answer>
<para
> Normalerweise verwendet artsd select(), um herauszufinden, wann Daten geschrieben werden können. Danach wird ein ioctl(...GETOSPACE...) verwendet, um die Menge der zu schreibenden Daten herauszufinden. Schließlich werden die Daten tatsächlich geschrieben. </para>
<para
> Falls artsd nicht so viele Daten schreiben kann, wie ioctl anzeigt, wird eine Assertion ausgelöst. Um das zu beheben, sollte der Treiber die korrekte Größe des freien Speichers mitteilen. </para>
</answer>
</qandaentry>
</qandaset>

<qandaset id="faq-other">
<title
>Andere Themen</title>

<qandaentry>
<question>
<para
> Ich kann &artsbuilder; nicht verwenden. Er stürzt ab, wenn ich eine Struktur ausführen lassen will! </para>
</question>
<answer>
<para
> Der wahrscheinlichste Grund für dieses Problem ist die Verwendung von alten Strukturen oder Modulen, die von &kde;2-Version nicht mehr unterstützt werden. Unglücklicherweise bezieht sich die im Internet verfügbare Version auf &arts;-0.3.4.1, die lange überholt ist. Der am häufigsten berichtete Fehler ist der folgende: Wenn Struktur ausführen in &artsbuilder; gestartet wird, erscheint die Fehlermeldung <errorname
>[artsd] Synth_PLAY: Audio-Subsystem wird schon verwendet.</errorname
> </para>

<para
> Sie sollten Synth_AMAN_PLAY an Stelle von Synth_PLAY verwenden und das Problem verschwindet. Weitere Informationen finden Sie in der Hilfedatei zu &artsbuilder; (betätigen Sie <keycap
>F1</keycap
> in &artsbuilder;). </para>

<para
> Aktuelle Versionen von &artsbuilder; (&kde; 2.1 Beta 1 und später) haben eine Menge von Beispielen, die Sie verwenden können. </para>
</answer>
</qandaentry>

</qandaset>

</chapter>

