~/.asoundrc

~/.asoundrc

Então, eu tenho uma configuração multilib funcionando de acordo com ofolgainstruções. Tenho trabalhado com sucesso com programas Windows de 32 bits (ou seja, Skyrim e Deus Ex: Human Revolution). E instalei e configurei o pulseaudio com sucesso para programas nativos de 64 bits. Normalmente, eu mato o pulseaudio pulseaudio --killantes de usar o wine, pois quando executo algo sem fazer isso, isso aparece no terminal a partir do qual eu inicio:

fixme:win:EnumDisplayDevicesW ((null),0,0x33f7d8,0x00000000), stub!
ALSA lib pulse.c:243:(pulse_connect) PulseAudio: Unable to connect: Connection refused
ALSA lib pulse.c:243:(pulse_connect) PulseAudio: Unable to connect: Connection refused

Desde então, resolvi a parte seguinte adicionando export ARCH=i486após o . /etc/profile.d/32dev.shque percebi que era necessário na página multilib do Slackbook. A correção me permitiu pelo menos compilar json-c e speex (dependências especificadas para pulseaudio em slackbuilds.org) como pacotes i486 que eu converti em pacotes compat32 com convertpkg-compat32 e instalei.

Eu tentei o recomendado

#. /etc/profile.d/32dev.sh

antes da execução sbopkg -b pulseaudio, mas o pacote resultante ainda é um pacote x86-64, em vez de i486. E como o Slackware não tem nativamente o pulseaudio incluído na distribuição, e nem o Alienbob tem uma versão compilada para ele em seu repositório slackbuilds, não consegui encontrar um pacote binário de 32 bits para rodar converpkg-compat32.

O problema restante, entretanto, é que quando vou compilar o pulseaudio usando o mesmo método usado para compilar essas dependências, recebo o seguinte:

daemon/pulseaudio-caps.o: In function `pa_drop_caps':
/tmp/SBo/pulseaudio-5.0/src/daemon/caps.c:85: undefined reference to `cap_init'
/tmp/SBo/pulseaudio-5.0/src/daemon/caps.c:86: undefined reference to `cap_clear'
/tmp/SBo/pulseaudio-5.0/src/daemon/caps.c:87: undefined reference to `cap_set_proc'
/tmp/SBo/pulseaudio-5.0/src/daemon/caps.c:88: undefined reference to `cap_free'
collect2: error: ld returned 1 exit status
make[3]: *** [pulseaudio] Error 1

O problema a seguir foi corrigido instalando libcap e GConf como pacotes compat32, seguido pela nova execução do script pulseaudio.Slackbuild (novamente, no ambiente 32dev como nos pacotes acima).

É uma questão de falta de uma biblioteca que ainda preciso instalar como dependência, não mencionada no Slackbuilds.org? Certamente não seria a primeira vez que encontro essa situação, mas geralmente meus erros são um pouco mais úteis quando se trata de procurar a biblioteca de que preciso.

Depois de instalar o pulseaudio, fui executar winecfgpara testar o som (Nota: tentei fazer isso com /usr/bin/pulseaudio --start, e quando não funcionou, encerrei o servidor e tentei com /usr/bin/32/pulseaudio --start. Ambos produziram o mesmo resultado). A mensagem de erro resultante seguiu:

ALSA lib dlmisc.c:252:(snd1_dlobj_cache_get) Cannot open shared library /usr/lib64/alsa-lib/libasound_module_pcm_pulse.so
ALSA lib dlmisc.c:252:(snd1_dlobj_cache_get) Cannot open shared library /usr/lib64/alsa-lib/libasound_module_pcm_pulse.so
libgcc_s.so.1 must be installed for pthread_cancel to work

Tentei fazer backup de /usr/lib64/alsa-lib/libasound_module_pcm_pulse.so e fazer um link simbólico naquele local para /usr/lib/alsa-lib/libasound_module_pcm_pulse.so, bem como copiar o arquivo, nenhum dos quais tinha qualquer qualquer efeito na mensagem de erro que saiu. Além disso, tentei definir a variável de ambiente ALSA_MIXER_SIMPLE_MODULEScomo /usr/lib/alsa-lib, ainda sem sucesso. Começando a ficar sem ideias.

Eu sei que este é um território bastante desconhecido com o Slackware, já que a maioria dos usuários parece não ter interesse em usá-lo, mas não há razão para que não seja viável, só estou curioso para saber se alguém tem algum conselho sábio sobre como obter este pacote compilado para que eu possa instalá-lo. Se alguém tiver experiência direta com esta situação, tanto melhor.

Responder1

Portanto, parece que foi uma fonte de muita tristeza o teste após cada etapa winecfg(o que ainda gera o mesmo erro que ocorreu com minha última pergunta da edição). O importante é que, ao longo do caminho, o uso de um aplicativo win32 no wine DID começou a funcionar.

A informação relevante, suponho, para qualquer pessoa que venha a fazer isso no futuro é:

  1. Você DEVE certificar- export ARCH=i486se de usar o . /etc/profile.d/32dev.shantes de usar sbopkg -bou executar um script .Slackbuild. Na verdade, isso está declarado nas instruções encontradas no Slackbook, mas parecia fácil de ignorar (ou pelo menos, eu pessoalmente perdi), então estou incluindo aqui apenas para garantir.
  2. Além de precisar do json-ce speexno formato compat32, você também precisa do libcape GConfno formato compat32, embora isso possa ser feito pegando ambos os pacotes de um Slackware (em vez do Slackware64)espelhono conjunto de pacotes "L". Você também precisará alsa-pluginsde alguns outros pacotes, mas todos eles devem ser incluídos no processo de seguir omultilibinstruções no Slackbook.
  3. Naturalmente, você precisará de um arquivo de configuração ALSA adequado para enviar coisas para os lugares certos. Este não foi um problema que encontrei, mas incluirei meu arquivo ~/.asoundrc de trabalho abaixo.
  4. E, por último, verifique se tudo está funcionando com um programa win32 real, em vez de algo como winecfg. Winecfg ainda produz os mesmos erros que relatei pela última vez na pergunta e pode ser deixado com segurança com as configurações de áudio definidas como "Padrão do sistema" sem causar problemas. Como o wine não suporta pulseaudio diretamente, mas apenas faz uso dele através da camada de compatibilidade ALSA, não vejo razão para que esse comportamento seja algo que valha a pena se preocupar.

~/.asoundrc

pcm.!default {
    type pulse
}
ctl.!default {
    type pulse
}

pcm.phononpulse
{
   type plug

   slave.pcm
   {
      type pulse
   }

   hint
   {
      show on
      description "PulseAudio"
   }
}

pcm.pulse {
    type pulse
    hint {
        show on
        description "PulseAudio"
    }
}

De qualquer forma, espero que isso sirva como uma boa referência para quem vier depois de mim e se deparar com esse problema. Caso contrário, tenho certeza de que precisarei consultá-lo sempre que configurar um novo sistema.

informação relacionada