O Wine (Wine Is Not an Emulator) é um software gratuito que permite que as aplicações desenvolvidas para o sistema operativo Windows sejam executadas em computadores com Linux, macOS e outros sistemas do tipo UNIX. O Wine é um ambiente de compatibilidade que permite que os ficheiros executáveis (.exe) do Windows sejam executados em sistemas operativos alternativos sem ter de instalar o próprio Windows. Muitas vezes, o problema da ausência de som no Wine pode ser visto em jogos de computador.
O Wine não é um emulador, pois não emula o processador ou o hardware do Windows, mas fornece uma implementação das APIs e bibliotecas do Windows que permitem às aplicações interagir com o sistema operativo. Isto torna possível executar muitas aplicações e jogos do Windows em plataformas alternativas.
O som no Wine é uma funcionalidade do software Wine que permite que aplicações de som e jogos desenvolvidos para sistemas operativos Windows sejam executados em computadores Linux. O Wine utiliza vários métodos de processamento de som, incluindo ALSA (Advanced Linux Sound Architecture) e PulseAudio, para garantir a compatibilidade com uma variedade de dispositivos de áudio e formatos de som.
Existem várias opções para resolver o problema se não houver som no Wine, utilizando a emulação OSS no Linux:
Não é uma boa ideia instalar uma placa de som antiga, mas é possível emular o som. Abaixo nós vamos dizer como fazer isso. Primeiro é preciso descobrir se o Pulse Audio está instalado:
$ ps aux | grep pulseaudio
Se o PulseAudio for utilizado, verá o seguinte resultado no terminal:
Se receber um erro, é porque tem o ALSA. Em seguida, é necessário ir para a pasta, por exemplo, com o jogo:
$ cd /knights
Para o PulseAudio, o comando será o seguinte:
$ sudo padsp ./knights
E para o Alsa:
$ sudo aoss ./knights
Está tudo pronto, a configuração do som do Wine está concluída, agora pode jogar e apreciar o som. Se tiver x64 bit e ocorrerem erros, faça o seguinte (apenas Pulse Audio):
$ sudo dpkg --add-architecture i386
$ sudo apt-get update
$ sudo apt-get install libpulse0:i386 libpulsedsp:i386
Copie o executável (por exemplo, padsp32):
$ sudo cp /usr/bin/padsp /usr/bin/padsp32
Execute um editor de texto como root. Vou usar o Nano, pois todos o têm:
$ sudo nano /usr/bin/padsp32
Substitua 2 linhas no ficheiro padsp32:
/usr/lib/x86_64-linux-gnu/pulseaudio/libpulsedsp.so
by:
/usr/lib/i386-linux-gnu/pulseaudio/libpulsedsp.so
Agora, para correr o jogo, tens de usar este comando:
$ padsp32 ./knight
Em vez de ./
o caminho para o ficheiro, e em vez de knights o nome do vosso ficheiro.
É assim que o problema é resolvido, mas deve ter em conta que esta emulação só funciona de forma estável se o jogo for concebido para a sua arquitetura.