<!-- <?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
>Perguntas e respostas</title>

<para
>Esta seção responde algumas das perguntas frequentemente feitas sobre o &arts;. </para>

<qandaset id="faq-general">
<title
>Perguntas Gerais</title>

<qandaentry>
<question>
<para
>O &kde; suporta minha placa de som para saída de áudio? </para>
</question>

<answer>
<para
>O &kde; usa o &arts; para tocar sons, e o &arts; usa os drivers de som do kernel do &Linux;, tanto os <acronym
>OSS</acronym
> como os <acronym
>ALSA</acronym
> (usando emulação <acronym
>OSS</acronym
>). Se sua placa de som é suportada seja pelo <acronym
>ALSA</acronym
> ou pelo <acronym
>OSS</acronym
> e estiver corretamente configurada (&ie; qualquer outro aplicativo &Linux; pode gerar som), ele funcionará. Existem no entanto alguns problemas com alguns hardwares específicos, por favor leia a <link linkend="faq-hardware-specific"
>seção para problemas com hardwares específicos</link
> se você tiver problemas com o artsd em sua máquina. </para>
<para
>Entretanto, suporte para diversas outras plataformas também tem sido adicionado. Aqui está uma lista completa de como a versão mais recente do &arts; pode tocar som. Se você tiver uma plataforma não suportada, por favor considere portar o &arts; para sua plataforma. </para>

<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry
>Método de E/S (entrada e saída) de áudio do &arts;</entry>
<entry
>Comentário</entry>
</row>
</thead>

<tbody>
<row>
<entry
>paud</entry>
<entry
>Suporte para Dispositivo de Áudio Pessoal AIX</entry>
</row>

<row>
<entry
>alsa</entry>
<entry
>Drivers ALSA-0.5 e ALSA-0.9 do Linux</entry>
</row>

<row>
<entry
>libaudioio</entry>
<entry
>Suporte para biblioteca genérica LibAudioIO que funciona no Solaris</entry>
</row>

<row>
<entry
>nas</entry>
<entry
>Servidor de som NAS, útil para Terminais X com suporte ao NAS</entry>
</row>

<row>
<entry
>null</entry>
<entry
>Dispositivo de áudio nulo, descarta o som silenciosamente</entry>
</row>

<row>
<entry
>oss</entry>
<entry
>Suporte ao OSS (do inglês, Sistema de Som Aberto) (funciona no Linux, diversos BSDs e outras plataformas com os drivers OSS instalados)</entry>
</row>

<row>
<entry
>toss</entry>
<entry
>Suporte ao OSS em linhas de execução, que funciona melhor em alguns casos onde o suporte ao OSS padrão não funciona bem</entry>
</row>

<row>
<entry
>sgi</entry>
<entry
>Suporte ao Mídia Direta SGI para IRIX</entry>
</row>

<row>
<entry
>sun</entry>
<entry
>Suporte ao Solaris</entry>
</row>

</tbody>
</tgroup>
</informaltable>
</answer>
</qandaentry>

<qandaentry>
<question>
<para
>Eu não consigo tocar arquivos <literal role="extension"
>wav</literal
> com o &artsd;! </para>
</question>

<answer>
<para
>Verifique se o &artsd; está linkado ao <filename
>libaudiofile</filename
> (<userinput
><command
>ldd</command
> <parameter
>artsd</parameter
></userinput
>). Caso contrário, baixe o kdesupport, recompile tudo, e então funcionará. </para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para
>Eu ouço som quando eu logo como <systemitem class="username"
>root</systemitem
> mas nenhum outro usuário tem som! </para>
</question>

<answer>
<para
>As permissões do arquivo <filename class="devicefile"
>/dev/dsp</filename
> afetam quais usuários terão som. Para permitir que todos o usem, faça isto: </para>

<procedure>
<step>
<para
>Logue como <systemitem class="username"
>root</systemitem
>. </para>
</step>

<step>
<para
>Abra uma janela do &konqueror;. </para>
</step>

<step>
<para
>Vá para a pasta <filename class="directory"
>/dev</filename
>. </para>
</step>

<step>
<para
>Clique no arquivo <filename
>dsp</filename
> com o botão <mousebutton
>direito</mousebutton
> do mouse, e selecione propriedades. </para>
</step>

<step>
<para
>Clique na aba <guilabel
>Permissões</guilabel
>. </para>
</step>

<step>
<para
>Habilite as caixas de verificação <guilabel
>Leitura</guilabel
> e <guilabel
>Escrita</guilabel
> em todas as seções. </para>
</step>

<step>
<para
>Clique em <guibutton
>OK</guibutton
>. </para>
</step>
</procedure>

<para
>Você pode obter o mesmo efeito na janela do terminal usando o comando <userinput
><command
>chmod</command
> <option
>666</option
> <parameter
>/dev/dsp</parameter
></userinput
>. </para>

<para
>Para restringir o acesso ao som para usuários específicos, você pode usar as permissões de grupo. Em algumas distribuições &Linux;, por exemplo o Debian/Potato, o <filename class="devicefile"
>/dev/dsp</filename
> já está como pertencente ao grupo chamado <systemitem class="groupname"
>audio</systemitem
>, de modo que tudo o que precisa fazer é adicionar os usuários a este grupo. </para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para
>Isto ajuda para o &artsd;, mas e sobre o &kmix;, &kmid;, &kscd;, &etc;? </para>
</question>
<answer>

<para
>Existem vários outros dispositivos que fornecem funcionalidades acessadas por aplicativos multimídia. Você pode tratá-los da mesma maneira, seja tornando-os acessíveis para todos, ou usando grupos para controlar o acesso. Aqui está uma lista, que pode ainda estar incompleta (se existirem também diversos dispositivos em uma forma tipo <filename class="devicefile"
>midi0</filename
>, <filename class="devicefile"
>midi1</filename
>, ..., então somente a versão 0 é listada aqui): </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
>O que eu posso fazer se o artsd não inicia ou trava ao rodar?</para>
</question>

<answer>
<para
>Primeiro de tudo: tente usar as configurações padrão no &kcontrol; (ou se você está iniciando manualmente, não forneça opções adicionais além talvez de <userinput
><option
>-F</option
><parameter
>10</parameter
> <option
>-S</option
><parameter
>4096</parameter
></userinput
> para latência). Especialmente <emphasis
>o full duplex é conhecido por não funcionar</emphasis
> com diversos drivers, logo tente desabilitá-lo. </para>

<para
>Uma boa maneira de descobrir porque o &artsd; não inicia (ou trava ao rodar) é iniciá-lo manualmente. Abra uma janela do &konsole;, e faça o seguinte: </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
>Você pode também adicionar a opção <option
>-l0</option
>, que imprimirá mais informações sobre o que está acontecendo, como isto: </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
>Fazendo isso, você provavelmente obterá algumas informações úteis sobre porque ele não inicia. Ou, se ele trava ao fazer isto ou aquilo, você pode fazer isto ou aquilo, e ver <quote
>como</quote
> ele trava. Se você desejar relatar um erro, produzir um rastro de execução com o <command
>gdb</command
> e/ou um <command
>strace</command
> pode ajudar a encontrar o problema. </para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para
>Eu posso mudar a localização do &artsd; (mover os arquivos compilados para outra pasta)?</para>
</question>

<answer>
<para
>Você não pode mudar a localização do &arts;. O problema é que o &artswrapper; possui a localização do &artsd; compilado devido a razões de segurança. Você pode no entanto usar o arquivo <filename
>.mcoprc</filename
> (entradas TraderPath/ExtensionPath) para pelo menos fazer com que o &artsd; encontre seus componentes. Veja o <link linkend="the-mcoprc-file"
>capítulo sobre o arquivo <filename
>.mcoprc</filename
></link
> para detalhes sobre como fazer isto. </para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para
>Eu posso compilar o &arts; com o gcc-3.0?</para>
</question>

<answer>
<para
>Resposta curta: não, o &arts; não funcionará se você compilá-lo com o gcc-3.0. </para>

<para
>Resposta longa: Na versão oficial, existem dois erros do gcc-3.0 que afetam o &arts;. O primeiro, o erro c++/2733 do gcc-3.0 é relativamente inofensivo (e tem apresentado problemas com a sentença asm). Ele quebra a compilação do convert.cc. Isto foi concertado no gcc-3.0 do CVS, e não será mais um problema com o gcc-3.0.1 e superior. Um trabalho a respeito também foi adicionado à versão CVS do KDE/aRts. </para>
<para
>O segundo erro do gcc-3.0, o c++/3145 (que é geração de código errado para alguns casos de herança virtual múltipla) é crítico. Aplicativos como o &artsd; simplesmente travarão na inicialização quando compilados com o gcc-3.0. Apesar de algum progresso ter sido feito no ramdo gcc-3.0 do CVS quando escrevia este documento, o &artsd; ainda trava muito frequentemente, imprevisivelmente. </para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para
>Que aplicativos rodam sob o &arts;?</para>
</question>
<answer>

<para
>Obviamente, todos os aplicativos incluídos com o &kde; são compatíveis com o &arts;. Isto inclui: </para>

<itemizedlist>
<listitem
><para
>&noatun;</para
></listitem>
<listitem
><para
>&arts-builder;</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
>Jogos do &kde; como o &kpoker; e o &ktuberling;</para
></listitem>
</itemizedlist>

<para
>Alguns aplicativos do &kde; que ainda não foram incluídos na versão do &kde; (&eg; no kdenonbeta) também suportam o &arts;, incluindo: </para>

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

<para
>Os seguintes aplicativos não-&kde; são também conhecidos por funcionar com o &arts;: </para>

<itemizedlist>
<listitem
><para
><application
>xmms</application
> (com o plug-in do &arts;)</para
></listitem>
<listitem
><para
>Real Networks <application
>RealPlayer</application
> 8.0 (funciona com o &artsdsp;; suporte nativo ao &arts; está sendo considerado)</para
></listitem>
</itemizedlist>

<para
>Os seguintes aplicativos são conhecidos por <emphasis
>não</emphasis
> funcionarem com o &arts;: </para>

<itemizedlist>
<listitem
><para
>nenhum</para
></listitem>
</itemizedlist>

<para
>Veja também as respostas e perguntas na seção em <link linkend="faq-non-arts"
>aplicativos não-&arts;</link
>. </para>

<para
>Esta seção está incompleta -- Se você tiver informações sobre aplicativos que suportam ou não suportam, por favor envie-as ao autor de modo que ele possa incluí-las aqui. </para>
</answer>
</qandaentry>

</qandaset>

<qandaset id="faq-non-arts">
<title
>Aplicativos Não-&arts;</title>

<qandaentry>
<question>
<para
>Tão logo o &kde; esteja rodando, nenhum outro aplicativo pode acessar meu dispositivo de som! </para>
</question>
<answer>
<para
>Uma vez que o servidor de som &arts; usado pelo &kde; está rodando, ele está usando o dispositivo de som. Se o servidor ficar ocioso por 60 segundos, ele auto-suspendará e liberará o dispositivo automaticamente. </para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para
>Você disse que ele suspende após 60 segundos, isto não funciona para mim! </para>
</question>
<answer>
<para
>Se você iniciar o artsd a partir do painel de controle do KDE, o padrão é para suspender após 60 segundos. Se você iniciar o artsd a partir da linha de comando, você precisa usar a opção -s para especificar o tempo para auto-suspensão, caso contrário, seu padrão é desabilitar o recurso de auto-suspensão. </para>
<para
>Atualmente ele não suspende quando usa o full duplex. Desligue o full duplex a partir do &kcontrol; e ele suspenderá. Desabilitar o full duplex é geralmente uma boa idéia de qualquer jeito se você usa somente o &arts; para tocar áudio e não para gravar. </para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para
>Como eu possa rodar aplicativos antigos não-&arts;? </para>
</question>

<answer>
<para
>Execute-os usando o &artsdsp;. Por exemplo, se você normalmente rodaria: </para>

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

<para
>ao invés disso use:</para>

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

<para
>Isto redirecionará a saída de som para o &arts;. Este método não necessita de mudanças nos aplicativos. Se alguma coisa der errado no entanto, saiba que nem todos os recursos da placa de som são suportados, assim alguns aplicativos podem não funcionar. </para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para
>Eu não posso rodar o &artsdsp; com qualquer aplicativo, ele sempre trava! </para>
</question>
<answer>
<para
>Você precisa de uma versão recente da biblioteca glibc; o &artsdsp; não funcionará de maneira confiável em algumas distribuições antigas do &Linux;. Por exemplo, no Debian 2.1 (que é baseado no glibc 2.0) ele não funciona, enquanto no Debian 2.2 (que é baseado no glibc 2.1.3) ele funciona. </para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para
>Existem limitações teóricas com alguns aplicativos que os impedirão de funcionar sempre com o &artsdsp;? </para>
</question>
<answer>
<para
>Não. Usar o &artsdsp; pode causar um pouco mais de latência e uso da <acronym
>CPU</acronym
> que usando a <acronym
>API</acronym
> do &arts; diretamente. Por outro lado, qualquer aplicativo que não funcione deve ser considerado um erro do &artsdsp;. A técnica usada pelo &artsdsp; deve, se implementada corretamente, permitir <emphasis
>qualquer</emphasis
> aplicativo funcionar com ele (incluindo aplicativos complexos como o <application
>Quake</application
> 3). </para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para
>O que eu posso fazer se um aplicativo não funciona com o &artsdsp;? </para>
</question>
<answer>
<para
>Você pode esperar que o &artsd; suspenda ou usar o comando <userinput
><command
>artsshell</command
> <option
>suspend</option
></userinput
> para pedir ao servidor que ele se suspenda. Você somente será capaz de suspender o servidor se nenhum aplicativo &arts; estiver atualmente o usando, e nenhum aplicativo &arts; será capaz de rodar quando o servidor estiver suspenso. </para>

<para
>Se o servidor estiver ocupado, uma maneira bruta mas efetica de obter o rid dele é: </para>


<screen
><prompt
>&percnt;</prompt
> <userinput
><command
>killall</command
> <option
>artsd</option
> ; <command
>killall</command
> <option
>artswrapper</option
></userinput>
<lineannotation
>Agora inicie seu próprio aplicativo.</lineannotation>
<prompt
>&percnt;</prompt
> <userinput
><command
>kcminit</command
> <option
>arts</option
></userinput
>
</screen>

<para
>Qualquer aplicativo &arts; atualmente em execução deverá cair, no entanto, uma vez que você mate o servidor. </para>
</answer>
</qandaentry>
<qandaentry>
<question>
<para
>E os aplicativos escritos para o &kde; 1.x? </para>
</question>
<answer>
<para
>Se você estiver rodando aplicativos do &kde; 1.x, que produzem som através do servidor de áudio do &kde; 1, você precisará rodar o <application
>kaudioserver</application
> para fazê-los funcionar. Você pode iniciar o <application
>kaudioserver</application
> da mesma maneira que outros aplicativos não-&arts;: </para>

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

<para
>Você precisará ter instalado o kaudioserver (a partir do código de onde você obteve seus aplicativos do &kde; 1.x) - ele fica no &kde; 1.x, não no &kde; 2. </para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para
>E os aplicativos usando o daemon do som do enlightened, <acronym
>ESD</acronym
>? </para>
</question>
<answer>
<para
>A observação é semelhante a feita com o <application
>kaudioserver</application
>. Como os aplicativos precisarão de um servidor esd rodando, você pode iniciar o <command
>esd</command
> através do &artsdsp;, e cada aplicativo compatível com o <acronym
>ESD</acronym
> deve funcinar bem, como isto: </para>
<screen
><prompt
>&percnt;</prompt
> <userinput
><command
>artsdsp</command
> <option
>esd</option
></userinput
>
</screen>
<para
>Versões mais novas do aRts (
>= 1.2.0) também pode usar o daemon de som enlightened ao invés de acessar diretamente a placa de som. Na linha de comando, você pode usar a opção -a, como </para>
<screen
><prompt
>&percnt;</prompt
> <userinput
><command
>artsd</command
> <option
>-a esd</option
></userinput
>
</screen>
<para
>para ter suporte ao EsounD, e no KDE, você pode usar o kcontrol para fazer com que o artsd use o esd através de Som -&gt; Servidor de Som -&gt; E/S de Som. </para>
</answer>
</qandaentry>

</qandaset>

<qandaset id="faq-latency">
<title
>Latência</title>

<qandaentry>
<question>
<para
>Eu algumas vezes escuto pausas curtas ao ouvir uma música, isto é um erro? </para>
</question>
<answer>
<para
>Isto não é propriamente um erro, mas causado pelo fato do kernel do &Linux; não ser muito bom no agendamento em tempo real. Existem situações onde o &arts; não será capaz de manter uma execução constante. Você pode, no entanto, habilitar permissões de tempo real (através do &kcontrol;), e usar uma configuração de latência maior 9como <guilabel
>250ms</guilabel
> ou <guilabel
>não se preocupar</guilabel
>), o que deverá melhorar a situação. </para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para
>Qual o efeito da configuração do tempo de resposta? </para>
</question>
<answer>
<para
>O texto de ajuda para esta configuração no &kcontrol; pode ser mau entendido. Um valor menor significa que o &arts; levará menos tempo para responder a eventos externos (&ie; o tempo que ele leva entre fechar uma janela e ouvir o som tocado pelo &artsd;). Isto também usará mais recursos da <acronym
>CPU</acronym
>, e causará uma maior probabilidade de saídas.</para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para
>Existe alguma coisa que eu possa fazer para evitar pausas? </para>
</question>
<answer>
<para
>Para usuários de discos rígidos <acronym
>IDE</acronym
>, você pode usar o comando <command
>hdparm</command
> para colocar seu drive <acronym
>IDE</acronym
> no modo <acronym
>DMA</acronym
>. Um alerta: isto não funciona para todo hardware, e pode fazer com que o disco rígido reinicie ou em casos raros, perca dados. Leia a documentação do comando <command
>hdparm</command
> para mais detalhes. Eu tenho usado com sucesso o seguinte comando: </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
>Você precisa rodar isto após cada boot, assim você pode desejar colocá-lo no script de inicialização do sistema (como fazer isto é específico da distribuição, no Debian &Linux; ele é colocado normalmente no <filename
>/etc/rc.boot</filename
>). </para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para
>A prioridade de tempo real parece não ter nenhum efeito para mim? </para>
</question>
<answer>
<para
>Verifique se o artswrapper está realmente instalado com suid <systemitem class="username"
>root</systemitem
>, como deveria estar. Muitas distribuições (o SuSE7.x por exemplo) não fazem isto. Você pode verificar isto usando: ls -l $(which artswrapper). Bom: <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
> Ruim: <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
> Se você não tiver o the s, você pode obtê-lo usando: <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
>Se você tornar o &artswrapper; SUID <systemitem class="username"
>root</systemitem
>, ele provavelmente melhorará a qualidade da reprodução do seu áudio reduzindo intervalos na música. No entanto, isto também aumento o risco que um erro no código ou um usuário malicioso possa travar ou talvez danificar sua máquina. Além disso, em máquinas com vários usuários, priorizar áudio de alta qualidade pode resultar na deterioração do desempenho para os usuários que estão tentando fazer um uso mais <quote
>produtivo</quote
> da máquina.</para>

</answer>
</qandaentry>


<qandaentry>
<question>
<para
>Porque o &artsd; toma tanto tempo da <acronym
>CPU</acronym
>? </para>
</question>
<answer>
<para
>Verifique suas configurações de tempo de resposta. No entanto, a versão atual ainda não é realmente otimizada. Isto melhorará, e até agora nenhuma previsão real pode ser feita do quão rápido o &artsd; pode ou não ser. </para>
</answer>
</qandaentry>
</qandaset>

<qandaset id="faq-network">
<title
>Transparência de Rede</title>

<qandaentry>
<question>
<para
>O que eu preciso para transparência de rede? </para>
</question>
<answer>
<para
>Habilite-a nas configurações do <guilabel
>Servidor de Som</guilabel
> no &kcontrol; (<guilabel
>habilite o servidor X11 para informações seguras</guilabel
> e <guilabel
>transparência de rede</guilabel
>). Então copie seu <filename
>.mcoprc</filename
> para todas as máquinas que planeja usar transparência de rede. Logue novamente. Certifique-se de que as máquinas que interagirem conhecem as outras pelo nome (&ie; elas devem possuir nomes resolvíveis ou estarem no <filename
>/etc/hosts</filename
>). </para>

<para
>Isto deve ser tudo o que você precisa fazer. No entanto, se isto ainda não funcionar aqui vão mais alguns detalhes adicionais. O processo do servidor de som &arts;, o &artsd;, somente deve rodar em uma máquina, a que tiver a placa de som onde o som será tocado. Ele pode ser iniciado automaticamente no login pelo &kde; (se você configurar isto no &kcontrol;), ou manualmente usando algo como: </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
>O parâmetro <option
>-n</option
> é para a transparência de rede, enquanto os outros configuram a latência. </para>

<para
>Se arquivo <filename
>.mcoprc</filename
> deve ter esta entrada: </para>

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

<para
>em todas as máquinas envolvidas, para que a transparência de rede funcione. Isto é que é habilitado pela configuração <guilabel
>servidor X11 para informações seguras</guilabel
> do painel de controle. </para>

<para
>Finalmente, em qualquer versão do &kde; da série 2.0.x, existe um erro que se manifesta se você não possui um conjunto de nomes de domínio. Clientes do &artsd; tentam encontrar onde conectar através da combinação <systemitem class="systemname"
><replaceable
>máquina</replaceable
>.<replaceable
>domínio</replaceable
></systemitem
>. Se seu nome de domínio for vazio, ele tentará conectar à <systemitem class="systemname"
><replaceable
>máquina</replaceable
></systemitem
>. (observe o ponto a mais). Adicionando uma entrada como esta no <filename
>/etc/hosts</filename
> (&ie; <userinput
>orion.</userinput
> se seu nome de máquina é <systemitem class="systemname"
>orion</systemitem
>) contornará o problema. </para>
</answer>
</qandaentry>


<qandaentry>
<question>
<para
>Como eu depuro a transparência de rede se ela não funcionar? </para>
</question>
<answer>
<para
>Considerando que você possui o código fonte do &kde;, vá para <filename class="directory"
>kdelibs/arts/examples</filename
>, e rode <userinput
><command
>make</command
> <option
>check</option
></userinput
> para compilar alguns programas, incluindo <application
>referenceinfo</application
>. Então rode </para>

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

<para
>A saída indicará o nome de máquina e porta que está sendo usado pelo &arts;. Por exemplo, <computeroutput
>tcp:orion:1698</computeroutput
> o que significa que qualquer cliente que tente usar a transparência de rede deve saber como chegar à maquina <systemitem class="systemname"
>orion</systemitem
>. </para>
</answer>
</qandaentry>

</qandaset>

<qandaset id="faq-hardware-specific">
<title
>Perguntas específicas de hardware</title>

<qandaentry>
<question>
<para
>Com qual hardware o artsd não funciona bem? </para>
</question>
<answer>
<para
>Parece que existem alguns poucos drivers linux que não funcionam bem com o aRts em algumas versões do kernel. Por favor leia esta lista antes de relatar um erro. Se você achar que alguma informação nesta lista está incompleta, por favor não hesite em informar-nos. <informaltable
> <tgroup cols="4">
<thead>
<row>
<entry
>Driver Linux / Placa de som</entry>
<entry
>Falha sob</entry>
<entry
>Funciona sob</entry>
<entry
>Comentários</entry>
</row>
</thead>

<tbody>
<row>
<entry
>driver i810 (Intel 810 + Áudio AC97)</entry>
<entry
>2.4.9</entry>
<entry
>2.4.18, 2.2.20, driver oss comercial, alsa-0.5.12a com emulação OSS</entry>
<entry
>driver causa sobrecarga da cpu (veja abaixo)</entry>
</row>

<row>
<entry
>chipset maestro 3/4</entry>
<entry
>2.4.9</entry>
<entry
>?</entry>
<entry
>driver causa algumas vezes sobrecarga da cpu (veja abaixo)</entry>
</row>

<row>
<entry
>drivers aureal8820, aureal8830 do sourceforge</entry>
<entry
>2.4.17</entry>
<entry
>?</entry>
<entry
>driver dispara assertivas / causa sobrecarga da cpu (veja abaixo)</entry>
</row>

<row>
<entry
>OSS 3.9.4g Comercial com Aureal Vortex</entry>
<entry
>?</entry>
<entry
>?</entry>
<entry
>travamento do sistema</entry>
</row>

<row>
<entry
>ymfpci</entry>
<entry
>2.4.0, 2.4.12</entry>
<entry
>2.4.17</entry>
<entry
>driver dispara assertiva (veja abaixo)</entry>
</row>



</tbody>
</tgroup>
</informaltable>
</para>
</answer>
</qandaentry>



<qandaentry>
<question>
<para
>Porque existem problemas específicos de hardware e como vê-los? </para>
</question>
<answer>
<para
>O problema mais comum é que o driver não fornece ao aRts informações suficientes ou suficientemente precisas ao escrever dados de som. A maioria dos drivers OSS fornecem as informações corretas, mas nem todos. </para>
<para
>Você deve saber que alguns outros aplicativos (como o xmms) podem não precisar destes dados, e assim funcionarem corretamente com seu hardware. No entanto, o &arts; precisa destes dados, assim o artsd deve falhar. Isto ainda assim é um erro no driver, e não no &arts;. </para>
<para
>Existem dois tipos de comportamento que o artsd expõe ao ser rodado em um driver incorreto. Ele pode continuamente tentar obter novos dados, mas nunca consegí-los, o que eventualmente leva a consumir todos os recursos da CPU e reportar uma <emphasis
>sobrecarga da cpu</emphasis
> e terminar. O outro problema é que o artsd pode receber informações incorretas para processar. o artsd então <emphasis
>interromperá com uma assertiva</emphasis
> como: <screen
>artsd: audiosubsys.cc:458: void Arts::AudioSubSystem::handleIO(int):
Assertion `len == can_write' failed.
Aborted
</screen>
</para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para
>O que está errado no driver se eu detecto um problema de sobrecarga da cpu? </para>
</question>
<answer>
<para
>Normalmente, o artsd usa o select() para descobrir onde escrever novos dados. Então, ele usa um ioctl(...GETOSPACE...) para descobrir quantos dados escrever. Finalmente, ele escreve os dados. </para>
<para
>Um problema ocorre se o artsd é despertado sempre ou se existem quantidades mínimas de dados para escrever. A documentação do OSS especifica que o select() somente acorda um processo se existir pelo menos um fragmento para escrever. No entanto, se o artsd é acordado e não existirem dados para escrever, ou muito pouco dado, por exemplo, uma amostra, então ele ficará escrevendo pequenos pedaços de dados de áudio, o que pode ser muito custoso, e eventualmente sobrecarregar a cpu. </para>
<para
>Para corrigir isto, o driver deve acordar o artsd somente se existir um fragmento completo para escrever. </para>
</answer>
</qandaentry>

<qandaentry>
<question>
<para
>O que está errado no driver se eu detecto a assertiva? </para>
</question>
<answer>
<para
>Normalmente, o artsd usa o select() para descobrir onde escrever novos dados. Então, ele usa um ioctl(...GETOSPACE...) para descobrir quantos dados escrever. Finalmente, ele escreve os dados. </para>
<para
>Se o artsd não puder escrever tantos dados quanto os indicados pelo ioctl, ele falhará na assertiva. Para corrigir isto, o driver deve fornecer a quantidade correta de espaço livre. </para>
</answer>
</qandaentry>
</qandaset>

<qandaset id="faq-other">
<title
>Outras Considerações</title>

<qandaentry>
<question>
<para
>Eu não posso usar o &arts-builder;. Ele cai ao executar um módulo! </para>
</question>
<answer>
<para
>A causa mais provável é que você está usando estruturas ou módulos antigos que não são mais suportados pela versão 2 do &kde;. Infelizmente a documentação que existe na web referente ao &arts; 0.3.4.1 está um pouco desatualizada. A maioria das quedas frequentemente reportadas é: que executando uma estrutura no &arts-builder; resulta na mensagem de erro <errorname
>[artsd] Synth_PLAY: sub-sistema de áudio já está sendo usado.</errorname
> </para>

<para
>Você deve usar um Synth_AMAN_PLAY ao invés do módulo Synth_PLAY e o problema terminará. Veja também o arquivo de ajuda do &arts-builder; (clique <keycap
>F1</keycap
> no &arts-builder;). </para>

<para
>Versões recentes do &arts-builder; (&kde; 2.1 beta 1 e posteriores) vem com um conjunto de exemplos que você pode usar. </para>
</answer>
</qandaentry>

</qandaset>

</chapter>
