You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
704 lines
31 KiB
704 lines
31 KiB
<!-- <?xml version="1.0" ?>
|
|
<!DOCTYPE chapter PUBLIC "-//KDE//DTD DocBook XML V4.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>Spørgsmål og svar</title>
|
|
|
|
<para>Dette afsnit besvarer nogle spørgsmål som ofte stilles om &arts;. </para>
|
|
|
|
<qandaset id="faq-general">
|
|
<title>Generelle spørgsmål</title>
|
|
|
|
<qandaentry>
|
|
<question>
|
|
<para>Støtter &kde; mit lydkort for lydafspilning? </para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>&kde; bruger &arts; til at afspille lyd, og &arts; bruger driverne kernen for &Linux;, enten <acronym>OSS</acronym> eller <acronym>ALSA</acronym> (med emulering af <acronym>OSS</acronym>). Hvis dit lydkort enten understøttes af <acronym>ALSA</acronym> eller <acronym>OSS</acronym> og er rigtigt indstillet (dvs. alle andre &Linux;-programmer kan afspille lyd), kommer det til at virke. Der er dog nogle problemer med specifik hardware, læs <link linkend="faq-hardware-specific">afsnittet om hardwarespecifikke problemer</link> hvis du har problemer med artsd på din maskine. </para>
|
|
<para>I mellemtiderne er støtte for diverse andre platforme også tilføjet. Her er en fuldstændig liste over hvordan den seneste version af &arts; kan afspille lyd. Hvis du har en platform som ikke understøttes, så overvej gerne at overføre &arts; til din platform. </para>
|
|
|
|
<informaltable>
|
|
<tgroup cols="2">
|
|
<thead>
|
|
<row>
|
|
<entry>&arts; metode for lyd-I/O</entry>
|
|
<entry>Kommentar</entry>
|
|
</row>
|
|
</thead>
|
|
|
|
<tbody>
|
|
<row>
|
|
<entry>paud</entry>
|
|
<entry>Støtte for AIX personlige lydenhed (Personal Audio Device)</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>alsa</entry>
|
|
<entry>Linux ALSA-0.5 og ALSA-0.9 drivere</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>libaudioio</entry>
|
|
<entry>Støtte for det generelle LibAudioIO-bibliotek som virker på Solaris</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>nas</entry>
|
|
<entry>NAS lydserver, nyttig for X-terminaler med NAS-støtte</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>null</entry>
|
|
<entry>Lydenheden null, kasserer lyden uden at noget høres</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>oss</entry>
|
|
<entry>OSS (Open Sound System) støtte (virker på Linux, forskellige BSD-versioner og andre platforme med OSS-drivere installerede)</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>toss</entry>
|
|
<entry>Trådet OSS-støtte, som virker bedre i visse tilfælde når den almindelige OSS-støtte ikke virker godt</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>sgi</entry>
|
|
<entry>Støtte for SGI Direct Media for IRIX</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>sun</entry>
|
|
<entry>Solaris-støtte</entry>
|
|
</row>
|
|
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question>
|
|
<para>Jeg kan ikke spille <literal role="extension">wav</literal>-filer med &artsd;! </para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Tjek at &artsd; er linket til <filename>libaudiofile</filename> (<userinput><command>ldd</command> <parameter>artsd</parameter></userinput>). Hvis den ikke er det, så hent tdesupport, kompilér alt, og det vil virke. </para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question>
|
|
<para>Jeg hører lyd når jeg er logget på som <systemitem class="username">root</systemitem>, men ingen andre brugere har lyd! </para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Tilladelserne for filen <filename class="devicefile">/dev/dsp</filename> påvirker hvilke brugere der har lyd. For at lade alle bruge den, gør sådan her: </para>
|
|
|
|
<procedure>
|
|
<step>
|
|
<para>Log ind som <systemitem class="username">root</systemitem>. </para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Åbn et &konqueror;-vindue. </para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Gå til mappen <filename class="directory">/dev</filename>. </para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Klik på filen <filename>dsp</filename> med <mousebutton>højre</mousebutton> museknap, og vælg egenskaber. </para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Klik på fanebladet <guilabel>Tilladelser</guilabel>. </para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Markér <guilabel>Læs</guilabel> og <guilabel>Skriv</guilabel> i alle afsnit. </para>
|
|
</step>
|
|
|
|
<step>
|
|
<para>Klik på <guibutton>O.k.</guibutton>. </para>
|
|
</step>
|
|
</procedure>
|
|
|
|
<para>Du kan opnå samme virkning i et terminalvindue med kommandoen <userinput><command>chmod</command> <option>666</option> <parameter>/dev/dsp</parameter></userinput>. </para>
|
|
|
|
<para>For at begrænse adgangen af lyd til særlige brugere kan du bruge gruppetilladelser. For visse &Linux;-distributioner, for eksempel Debian/Potato, ejes <filename class="devicefile">/dev/dsp</filename> allerede af en gruppe som hedder <systemitem class="groupname">audio</systemitem>, så alt du behøver gøre er at tilføje brugerne til denne gruppe. </para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question>
|
|
<para>Dette hjælper for &artsd;, men hvad med for &kmix;, &tdemid;, &kscd;? </para>
|
|
</question>
|
|
<answer>
|
|
|
|
<para>Der er forskellige andre enheder som sørger for funktioner som der skal være adgang til for multimedieprogrammer. Du kan behandle dem på samme måde, enten ved at gøre dem tilgængelige for alle, eller bruge grupper for at kontrollere adgangen. Her er en liste, som måske stadigvæk er ufuldstændig (og hvis der er flere enheder på formen <filename class="devicefile">midi0</filename>, <filename class="devicefile">midi1</filename>..., så er 0-versionen kun med): </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>Hvad kan jeg gøre hvis artsd ikke starter eller bryder sammen når den kører?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Forsøg først at bruge standardindstillingerne i &kcontrol; (eller hvis du starter manuelt, angive ingen ekstra flag bortset fra eventuelt <userinput><option>-F</option><parameter>10</parameter> <option>-S</option><parameter>4096</parameter></userinput> for latenstid). Særlig <emphasis>fuld dupleks virker formodentlig ikke</emphasis> med diverse drivere, så forsøg at deaktivere det. </para>
|
|
|
|
<para>En god måde at regne ud hvorfor &artsd; ikke starter (eller bryder sammen når den kørt) er at starte den manuelt. Åbn et &konsole;-vindue og skriv: </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>Du kan også tilføje flaget <option>-l0</option>, som udskriver mere information om hvad der sker, sådan her: </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>Ved at gøre dette får du formodentlig nogen nyttig information om hvorfor den ikke startede. Eller hvis den bryder sammen mens noget særligt foregår, kan du gøre det og se <quote>hvordan</quote> den bryder sammen. Hvis du vil rapportere en fejl, kan et backtrace oprettet med <command>gdb</command> og/eller en <command>strace</command> hjælpe med til at finde problemet. </para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question>
|
|
<para>Kan jeg flytte &artsd; (flytte kompilerede filer til en anden mappe)?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Du kan ikke flytte &arts; helt perfekt. Problemet er at &artswrapper; har stedet for &artsd; indkompileret af sikkerhedsgrunde. Du kan imidlertid bruge <filename>.mcoprc</filename>-filen (TraderPath/ExtensionPath indgangene) til i det mindste at få en flyttet &artsd; til at finde sine komponenter. Se <link linkend="the-mcoprc-file">kapitlet om <filename>.mcoprc</filename>-filen</link> for detaljer om hvordan man gør dette. </para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question>
|
|
<para>Kan jeg kompilere &arts; med gcc-3.0?</para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Et kort svar: nej, &arts; virker ikke hvis du kompilerer den med gcc-3.0. </para>
|
|
|
|
<para>Langt svar: i den officielle udgave af gcc-3.0, er der to fejl som påvirker &arts;. Det første problem med gcc-3.0, c++/2733, er ganske ufarligt (og har at gøre med problemer med asm-sætningen). Det gør at convert.cc ikke kan kompileres. Dette er rettet i gcc-3.0 CVS, og vil ikke være et problem med gcc-3.0.1 og senere. En måde at gå udenom problemet er også tilføjet i CVS-versionen af KDE/aRts. </para>
|
|
<para>Det andet problem med gcc-3.0, c++/3145 (som forårsager fejlagtig kodegenerering i visse tilfælde af multipel virtuel arv) er kritisk. Programmer som &artsd; bryder helt enkelt sammen når de startes hvis de er kompileret med gcc-3.0. Selvom visse fremskridt er gjort i gcc-3.0 grenen når dette skrives, bryder &artsd; stadigvæk vældigt ofte sammen, uforudsigeligt. </para>
|
|
</answer>
|
|
</qandaentry>
|
|
<qandaentry>
|
|
<question>
|
|
<para>Hvilke programmer kører med &arts;?</para>
|
|
</question>
|
|
<answer>
|
|
|
|
<para>Selvfølgelig så virker alle programmer som indgår i &kde; med &arts;. Dette omfatter: </para>
|
|
|
|
<itemizedlist>
|
|
<listitem><para>&noatun;</para></listitem>
|
|
<listitem><para>&arts-builder;</para></listitem>
|
|
<listitem><para>&aktion;</para></listitem>
|
|
<listitem><para>&tdemid;</para></listitem>
|
|
<listitem><para>&tdemidi;</para></listitem>
|
|
<listitem><para>&kmix;</para></listitem>
|
|
<listitem><para>&kscd;</para></listitem>
|
|
<listitem><para>&kde;-spil såsom &kpoker; og &ktuberling;</para></listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Visse &kde;-programmer som endnu ikke indgår i &kde;-udgaver (f.eks. i kdenonbeta) understøtter også &arts;, inklusive: </para>
|
|
|
|
<itemizedlist>
|
|
<listitem><para>&brahms;</para></listitem>
|
|
<listitem><para><application>Kaboodle</application></para></listitem>
|
|
<listitem><para><application>Kdao</application></para></listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Følgende programmer som ikke hører til -&kde; er kendte for at virke med &arts;: </para>
|
|
|
|
<itemizedlist>
|
|
<listitem><para><application>xmms</application> (med &arts;-plugin)</para></listitem>
|
|
<listitem><para>Real Networks <application>RealPlayer</application> 8.0 (virker med &artsdsp;; indbygget &arts;-støtte overvejes)</para></listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Følgende programmer er kendte for <emphasis>ikke</emphasis> at virke med &arts;: </para>
|
|
|
|
<itemizedlist>
|
|
<listitem><para>ingen</para></listitem>
|
|
</itemizedlist>
|
|
|
|
<para>Se også svarene på spørgsmålene i afsnittet om <link linkend="faq-non-arts">programmer som ikke understøtter &arts;</link>. </para>
|
|
|
|
<para>Dette afsnit er ufuldstændigt. Hvis du har mere information om programmer som understøttes eller ej, så vær venlig at sende dem til forfatteren så at de kan tilføjes her. </para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
</qandaset>
|
|
|
|
<qandaset id="faq-non-arts">
|
|
<title>Programmer som ikke understøtter &arts;</title>
|
|
|
|
<qandaentry>
|
|
<question>
|
|
<para>Så snart &kde; kører, så kan ingen andre programmer få adgang til mit lydkort! </para>
|
|
</question>
|
|
<answer>
|
|
<para>Når &arts;-lydserveren som bruges af &kde; kører, bruger den lydenheden. Hvis serveren er i tomgang i 60 sekunder, går den i autosuspension og slipper enheden automatisk. </para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question>
|
|
<para>Du sagde at den går i autosuspension efter 60 sekunder, det gør den ikke for mig! </para>
|
|
</question>
|
|
<answer>
|
|
<para>Hvis du starter artsd fra KDE's kontrolcenter, er det standardværdien at gå i autosuspension efter 60 sekunder. Hvis du starter artsd fra kommandolinjen skal du bruge flaget -s for at angive ventetilstandsværdien, ellers er det standardopførsel at lukke af for autosuspensionsfunktionen. </para>
|
|
<para>For øjeblikket går serveren ikke i autosuspension hvis fuld dupleks bruges. Luk af for fuld dupleks i kontrolcentret så går den i autosuspension. At lukke af for fuld dupleks er i almindelighed en god idé alligevel, hvis du kun bruger &arts; til at afspille lyd og ikke til at indspille. </para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question>
|
|
<para>Hvordan kan jeg køre gamle programmer som ikke understøtter &arts;? </para>
|
|
</question>
|
|
|
|
<answer>
|
|
<para>Kør dem med &artsdsp;. Hvis du for eksempel normalt ville køre: </para>
|
|
|
|
<screen><prompt>%</prompt> <userinput><command>mpg123</command> <option>foo.mp3</option></userinput></screen>
|
|
|
|
<para>så brug i stedet:</para>
|
|
|
|
<screen><prompt>%</prompt> <userinput><command>artsdsp</command> <option>mpg123 foo.mp3</option></userinput></screen>
|
|
|
|
<para>Dette sender lyduddata til &arts;. Denne metode kræver ikke nogen ændringer i programmet. Det er noget af et grimt fiks, og understøtter endnu ikke alle funktioner i lydkortsenheden, så visse programmer virker måske ikke. </para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question>
|
|
<para>Jeg kan ikke køre &artsdsp; med noget program. Den bryder altid sammen! </para>
|
|
</question>
|
|
<answer>
|
|
<para>Du behøver en ny udgave af glibc-bilblioteket. &artsdsp; virker ikke tilforladeligt på visse ældre &Linux;-distributioner. For eksempel på Debian 2.1 (som er baseret på glibc 2.0) virker den ikke, mens den gør det på Debian 2.2 (som er baseret på glibc 2.1.3). </para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question>
|
|
<para>Er der teoretiske begrænsninger med visse programmer som forhindrer at de nogensinde kan virke med &artsdsp;? </para>
|
|
</question>
|
|
<answer>
|
|
<para>Nej. Brugen &artsdsp; kan resultere i noget højere latenstider og <acronym>CPU</acronym>-brug end at bruge &arts; programmeringsgrænseflade direkte. Udover det, skal alle program som ikke virker anses som en fejl i &artsdsp;. Teknikken som bruges af &artsdsp; skal, hvis den er rigtigt implementeret, tillade <emphasis>hvert</emphasis> program at virke med den (inklusive store programmer såsom <application>Quake</application> 3). </para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question>
|
|
<para>Hvad kan jeg gøre hvis et program ikke virker med &artsdsp;? </para>
|
|
</question>
|
|
<answer>
|
|
<para>Du kan vente på at &artsd; går i autosuspension eller bruge kommandoen <userinput><command>artsshell</command> <option>suspend</option></userinput> for at bede at servere om at gå i autosuspension. Du kommer kun til at kunne få serveren til at gå i autosuspension hvis intet &arts;-program bruger den for øjeblikket, og ingen &arts;-programmer kan køre mens serveren er i autosuspension. </para>
|
|
|
|
<para>Hvis serveren er optaget ser en grov men effektivt måde at slippe af med den sådan her ud: </para>
|
|
|
|
|
|
<screen><prompt>%</prompt> <userinput><command>killall</command> <option>artsd</option> ; <command>killall</command> <option>artswrapper</option></userinput>
|
|
<lineannotation>Start nu dit eget program.</lineannotation>
|
|
<prompt>%</prompt> <userinput><command>kcminit</command> <option>arts</option></userinput>
|
|
</screen>
|
|
|
|
<para>Alle &arts;-programmer som kører lige nu kan bryde sammen, når du afslutter serveren. </para>
|
|
</answer>
|
|
</qandaentry>
|
|
<qandaentry>
|
|
<question>
|
|
<para>Hvad gælder for programmer skrevet for &kde; 1.x? </para>
|
|
</question>
|
|
<answer>
|
|
<para>Hvis du kører &kde; 1.x programmer, som afspiller lyd via lydserveren i &kde; 1, skal du køre <application>kaudioserver</application> for at det skal virke. Du kan starte <application>kaudioserver</application> på samme måde som andre programmer som ikke understøtter &arts;: </para>
|
|
|
|
<screen><prompt>%</prompt> <userinput><command>artsdsp</command> <option>kaudioserver</option></userinput>
|
|
</screen>
|
|
|
|
<para>Du skal have installeret kaudioserver (fra samme kilde hvor du skaffede &kde; 1.x programmerne). Den hører til &kde; 1.x, ikke &kde; 2. </para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question>
|
|
<para>Hvad gælder for programmer som bruger Enlightened Sound Daemon, <acronym>ESD</acronym>? </para>
|
|
</question>
|
|
<answer>
|
|
<para>Dette problem ligner tilfældet med <application>kaudioserver</application>. Sådanne programmer kræver en esd-server som kører. Du kan starte <command>esd</command> via &artsdsp;, og alle programmer som understøtter <acronym>ESD</acronym> vil så virke godt, sådan her: </para>
|
|
<screen><prompt>%</prompt> <userinput><command>artsdsp</command> <option>esd</option></userinput>
|
|
</screen>
|
|
<para>Nyere versioner af aRts (>= 1.2.0) kan også bruge Enlightened Sound Daemon i stedet for direkte adgang til lydkortet. På kommandolinjen kan du bruge flaget -a, på følgende måde </para>
|
|
<screen><prompt>%</prompt> <userinput><command>artsd</command> <option>-a esd</option></userinput>
|
|
</screen>
|
|
<para>til at få understøttelse af ESD. I stedet for, i KDE, kan du bruge kontrolcentret til at indstille artsd til at bruge ESD, via Lyd -> Lydserver -> Lyd I/O. </para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
</qandaset>
|
|
|
|
<qandaset id="faq-latency">
|
|
<title>Latenstid</title>
|
|
|
|
<qandaentry>
|
|
<question>
|
|
<para>Ind imellem hører jeg korte pauser når jeg lytter til musik. Er dette en fejl? </para>
|
|
</question>
|
|
<answer>
|
|
<para>Dette er formodentlig ikke en fejl, men forårsages af det faktum at &Linux; kernen ikke er særlig god til realtidsskemalægning. Der er situationer hvor &arts; ikke kan følge med i afspilningen. Du kan dog aktivere realtidsrettigheder (via kontrolcentret), og bruge en stor latenstidsindstilling (såsom <guilabel>250 ms</guilabel> eller <guilabel>så stor som muligt</guilabel>), hvilket bør forbedre situationen. </para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question>
|
|
<para>Hvad er effekten af svarstidsindstillingen? </para>
|
|
</question>
|
|
<answer>
|
|
<para>Hjælpeteksten for denne indstilling i kontrolcentret kan være forvirrende. En lavere værdi betyder at &arts; reagerer hurtigere på ydre begivenheder (dvs. tiden det tager mellem et vindue lukkes og lyden afspilles af &artsd;). Den kommer også til at bruge flere <acronym>CPU</acronym>-ressourcer og det vil være mere sandsynligt med pauser i lyden.</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question>
|
|
<para>Er der noget andet jeg kan gøre for at undgå pauser? </para>
|
|
</question>
|
|
<answer>
|
|
<para>For brugere af <acronym>IDE</acronym>-enheder, kan man bruge kommandoen <command>hdparm</command> til at indstille din <acronym>IDE</acronym>-enhed til at bruge <acronym>DMA</acronym>-tilstand. Et advarselsord: Dette virker ikke med alle slags hardware, og kan forårsage at man skal lave en hardware-nulstilling, eller i sjældne tilfælde, tab af data. Læs dokumentationen for kommandoen <command>hdparm</command> for flere detaljer. Jeg har brugt følgende kommando med heldigt resultat: </para>
|
|
|
|
<screen><prompt>%</prompt> <userinput><command>hdparm</command> <option>-c1</option> <option>-d1</option> <option>-k1</option> <option>-K1</option> <parameter>/dev/hda</parameter></userinput>
|
|
</screen>
|
|
|
|
<para>Du skal køre dette efter hver boot, så måske vil du tilføje det i et opstartsscript for systemet (hvordan man gør dette er specifikt for hver distribution, på Debian &Linux; tilføjes det oftest i <filename>/etc/rc.boot</filename>). </para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question>
|
|
<para>Realtidsprioritet synes ikke at have nogen virkning for mig? </para>
|
|
</question>
|
|
<answer>
|
|
<para>Kontrollér at artswrapper virkelig er installeret suid <systemitem class="username">root</systemitem>, som det er meningen at den skal være. Mange distributioner (for eksempel SuSE7.x) gør ikke dette. Du kan kontrollere det med: ls -l $(which artswrapper). Godt: <screen>
|
|
<prompt>%</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> Dårligt: <screen>
|
|
<prompt>%</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> Hvis du ikke har s'et med, kan du få det med: <screen><prompt>%</prompt> <userinput><command>chown</command> <option>root</option> <parameter>$(which artswrapper)</parameter></userinput>
|
|
<prompt>%</prompt> <userinput><command>chmod</command> <option>4755</option> <parameter>$(which artswrapper)</parameter></userinput>
|
|
</screen>
|
|
</para>
|
|
|
|
<para>Hvis du gør &artswrapper; SUID <systemitem class="username">root</systemitem>, kommer det formodentlig til at forbedre kvaliteten på lydafgivelsen ved at reducere ophold i musikken. Dog øger det også risikoen for at en fejl i koden, eller en bruger med lyst til at skade kan få maskinen til at bryde sammen eller skade på anden måde. Desuden, at prioritere høj lydkvalitet på flerbrugermaskiner kan forårsage forværret ydelse for brugere som forsøger at bruge maskinen på en <quote>produktiv</quote> måde.</para>
|
|
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
|
|
<qandaentry>
|
|
<question>
|
|
<para>Hvorfor tager &artsd; så meget <acronym>CPU</acronym>-tid? </para>
|
|
</question>
|
|
<answer>
|
|
<para>Kontrollér dine svarstidsindstillinger. Desuden er den nuværende version ikke egentlig optimeret. Dette vil blive bedre, og indtil da kan det ikke rigtigt forudsiges hvor hurtig &artsd; kan eller ikke kan være. </para>
|
|
</answer>
|
|
</qandaentry>
|
|
</qandaset>
|
|
|
|
<qandaset id="faq-network">
|
|
<title>Netværkstransparens</title>
|
|
|
|
<qandaentry>
|
|
<question>
|
|
<para>Hvad skal jeg gøre for at få netværkstransparens? </para>
|
|
</question>
|
|
<answer>
|
|
<para>Aktivér det i kontrolcentrets indstillinger for <guilabel>Lydserver</guilabel> (<guilabel>Aktivér sikkerheds- og referenceinformation for X11-serveren</guilabel> og <guilabel>Aktivér netværkstransparens</guilabel>). Kopiér derefter din <filename>.mcoprc</filename>-fil til alle maskiner som du vil bruge netværkstransparensen fra. Log på igen. Sørg for at værtsmaskinerne som skal samarbejde kender hinandens navne (dvs. de har navne som kan opløses eller findes i <filename>/etc/hosts</filename>). </para>
|
|
|
|
<para>Dette skulle være alt du behøver at gøre. Hvis det ikke virker alligevel, følger nogen yderligere detaljer. &arts; lydserverprocessen &artsd; skal kun køres på en værtsmaskine, den med lydkortet hvor lyden skal afspilles. Den kan startes automatisk ved indlogning til &kde; (hvis du angiver det i kontrolcentret), eller manuelt med noget i retning af: </para>
|
|
|
|
<screen><prompt>%</prompt> <userinput><command>artsd</command> <option>-n</option> <option>-F</option> <parameter>5</parameter> <option>-S</option> <parameter>8192</parameter></userinput>
|
|
</screen>
|
|
|
|
<para>Flaget <option>-n</option> angiver netværkstransparens, mens de øvrige indstiller latenstider. </para>
|
|
|
|
<para>Din <filename>.mcoprc</filename>-fil skal indeholde denne linje: </para>
|
|
|
|
<screen><userinput>GlobalComm=Arts::X11GlobalComm</userinput>
|
|
</screen>
|
|
|
|
<para>for alle maskiner som er involverede, for at netværkstransparens skal virke. Det er dette som aktiveres af indstillingen <guilabel>Aktivér sikkerheds- og referenceinformation over X11-serveren</guilabel> i kontrolcentret. </para>
|
|
|
|
<para>Til sidst, i alle &kde;-versioner i 2.0.x serien, er der en fejl som viser sig hvis du ikke har et domænenavn indstillet. Klienter for &artsd; forsøger at finde en forbindelse via kombinationen af <systemitem class="systemname"><replaceable>værtsmaskinenavn</replaceable>.<replaceable>domænenavn</replaceable></systemitem>. Hvis domænenavnet er tomt, forsøger de at forbinde til <systemitem class="systemname"><replaceable>værtsmaskinenavn</replaceable></systemitem>. (læg mærke til det ekstra punktum). At tilføje en post som ser sådan her ud i <filename>/etc/hosts</filename> (dvs. <userinput>orion.</userinput> hvis værtsmaskinenavnet er <systemitem class="systemname">orion</systemitem>) gør at man undgår problemet. </para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
|
|
<qandaentry>
|
|
<question>
|
|
<para>Hvordan fejlretter jeg netværkstransparens hvis det ikke virker? </para>
|
|
</question>
|
|
<answer>
|
|
<para>Hvis du har &kde;'s kildekode, gå til <filename class="directory">tdelibs/arts/examples</filename>, og kør <userinput><command>make</command> <option>check</option></userinput> for at kompilere nogle programmer, inklusive <application>referenceinfo</application>. Kør derefter </para>
|
|
|
|
<screen><prompt>%</prompt> <userinput><command>./referenceinfo</command> <option>global:Arts_SimpleSoundServer</option></userinput>
|
|
</screen>
|
|
|
|
<para>Udskriften angiver værtsmaskinenavnet og porten som bruges af &arts;. For eksempel, <computeroutput>tcp:orion:1698</computeroutput> ville betyde at alle klienter som forsøger at bruge netværkstransparens skal vide hvordan værtsmaskinen <systemitem class="systemname">orion</systemitem> kan nås. </para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
</qandaset>
|
|
|
|
<qandaset id="faq-hardware-specific">
|
|
<title>Hardware-specifikke spørgsmål</title>
|
|
|
|
<qandaentry>
|
|
<question>
|
|
<para>Hvilken hardware virker artsd ikke godt sammen med? </para>
|
|
</question>
|
|
<answer>
|
|
<para>Det virker som om der er nogle få Linux-drivere som ikke virker godt sammen med aRts for visse udgaver af kernen. Læs først denne liste inden du rapporterer en fejl. Hvis du finder at informationen i listen ikke er fuldstændig, så tøv venligst ikke med at fortælle os om det. <informaltable> <tgroup cols="4">
|
|
<thead>
|
|
<row>
|
|
<entry>Linux-driver/lydkort</entry>
|
|
<entry>Virker ikke med</entry>
|
|
<entry>Virker med</entry>
|
|
<entry>Bemærkninger</entry>
|
|
</row>
|
|
</thead>
|
|
|
|
<tbody>
|
|
<row>
|
|
<entry>i810-driver (Intel 810 + AC97 Audio)</entry>
|
|
<entry>2.4.9</entry>
|
|
<entry>2.4.18, 2.2.20, kommerciel OSS-driver, alsa-0.5.12a med OSS-emulering</entry>
|
|
<entry>driver forårsager for stor CPU-belastning (se nedenfor)</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>maestro 3/4-kredse</entry>
|
|
<entry>2.4.9</entry>
|
|
<entry>?</entry>
|
|
<entry>driver forårsager ind imellem overbelastning af processoren (se nedenfor)</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>aureal8820, aureal8830-drivere fra sourceforge</entry>
|
|
<entry>2.4.17</entry>
|
|
<entry>?</entry>
|
|
<entry>driver forårsager fejlmeddelelse / for meget CPU-belastning (se nedenfor)</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>OSS kommerciel 3.9.4g med Aureal Vortex</entry>
|
|
<entry>?</entry>
|
|
<entry>?</entry>
|
|
<entry>systemet låses</entry>
|
|
</row>
|
|
|
|
<row>
|
|
<entry>ymfpci</entry>
|
|
<entry>2.4.0, 2.4.12</entry>
|
|
<entry>2.4.17</entry>
|
|
<entry>driver forårsager fejlmeddelelse (se nedenfor)</entry>
|
|
</row>
|
|
|
|
|
|
|
|
</tbody>
|
|
</tgroup>
|
|
</informaltable>
|
|
</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
|
|
|
|
<qandaentry>
|
|
<question>
|
|
<para>Hvorfor er der hardware-specifikke problemer, og hvordan ser jeg dem? </para>
|
|
</question>
|
|
<answer>
|
|
<para>De almindelige problemer er at driveren ikke giver aRts tilstrækkelig eller tilstrækkeligt nøjagtig information om hvornår lyddata skal skrives. De fleste OSS-drivere giver rigtig information, men ikke alle. </para>
|
|
<para>Du vil måske bemærke at visse andre programmer (såsom xmms) ikke behøver denne information, og derfor virker rigtigt til og med for din hardware. Men &arts; behøver denne information, så artsd vil måske ikke virke. Dette er stadigvæk en fejl i driveren, og ikke i &arts;. </para>
|
|
<para>Der er to slags opførsel som artsd påviser når den køres med en fejlagtig driver. Enten forsøger den at sende ny data, men det lykkes egentlig aldrig, hvilket til slut fører til en for stor CPU-belastning, dette rapporteres, og at den afsluttes. Det andet problem er at artsd kan få forkert information om hvor meget data der skal skrives. Så <emphasis>stopper</emphasis> artsd med et fejlmeddelelse som: <screen>artsd: audiosubsys.cc:458: void Arts::AudioSubSystem::handleIO(int):
|
|
Assertion `len == can_write' failed.
|
|
Aborted
|
|
</screen>
|
|
</para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question>
|
|
<para>Hvad er forkert i driveren hvis jeg får problemet med for stor CPU-belastning? </para>
|
|
</question>
|
|
<answer>
|
|
<para>Oftest bruger artsd kaldet select() for at holde styr på hvornår ny data skal skrives. Derefter bruger den kaldet ioctl(...GETOSPACE...), for at holde styr hvor meget data som skal skrives. Til sidst skriver den data. </para>
|
|
<para>Et problem opstår hvis artsd enten altid vækkes, eller hvis der er meget lidt data at skrive. OSS-dokumentationen angiver at kaldet select() kun vækker en proces hvis der er mindst et fragment at skrive. Hvis artsd vækkes når der ikke er nogen, eller meget lidt, data at skrive, for eksempel en sampling, forsøger den at skrive små stumper med lyddata, hvilket kan blive meget kostbart, og til slut give for stor CPU-belastning. </para>
|
|
<para>For at rette dette, skal driveren kun vække artsd hvis et helt fragment kan skrives. </para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
<qandaentry>
|
|
<question>
|
|
<para>Hvad er forkert i driveren hvis jag får denne fejlmeddelelse? </para>
|
|
</question>
|
|
<answer>
|
|
<para>Oftest bruger artsd kaldet select() for at holde styr på hvornår ny data skal skrives. Derefter bruger den kaldet ioctl(...GETOSPACE...), for at holde styr hvor meget data som skal skrives. Til sidst skriver den data. </para>
|
|
<para>Hvis artsd ikke kan skrive så meget data som angives af kaldet ioctl, så stopper den med fejlmeddelelsen ovenfor. For at rette dette, skal driveren angive den rigtige størrelse på det ledige plads. </para>
|
|
</answer>
|
|
</qandaentry>
|
|
</qandaset>
|
|
|
|
<qandaset id="faq-other">
|
|
<title>Andre problemer</title>
|
|
|
|
<qandaentry>
|
|
<question>
|
|
<para>Jeg kan ikke bruge &arts-builder;. Den bryder sammen når jeg kører et modul! </para>
|
|
</question>
|
|
<answer>
|
|
<para>Den mest sandsynlige grund er at du bruger gamle strukturer eller moduler som ikke understøttes i &kde; 2 versionen. Desværre er dokumentationen på nettet for &arts;-0.3.4.1 som er helt forældet. Det oftest rapporterede sammenbrud er at hvis en struktur køres i &arts-builder; så fås fejlmeddelelsen <errorname>[artsd] Synth_PLAY: lydsystemet bruges allerede.</errorname> </para>
|
|
|
|
<para>Du skal bruge et Synth_AMAN_PLAY modul i stedet for Synth_PLAY så forsvinder problemet. Se også &arts-builder;'s hjælpefil (tryk på <keycap>F1</keycap> i &arts-builder;). </para>
|
|
|
|
<para>Nyere udgaver af &arts-builder; (&kde; 2.1 beta 1 og senere) levereres med et antal eksempler som du kan bruge. </para>
|
|
</answer>
|
|
</qandaentry>
|
|
|
|
</qandaset>
|
|
|
|
</chapter>
|