Ok, depois de muita tentativa e erro, finalmente consegui fazê-lo funcionar como deveria, sem nenhum soluço.
Algumas das etapas a seguir podem não ser necessárias para que funcione, mas funcionou para mim depois de criá-las. Se alguém quiser modificar a resposta e se livrar das etapas desnecessárias, faça isso.
Além do que eu disse acima ao usar o VNC (alterando as configurações no qemu.conf & amp; libvirt-bin e certificando-se de que meu usuário fazia parte dos grupos necessários), também certifiquei-me de que meu usuário fazia parte do pulse
& amp; ; pulse-access
groups.
copiei tudo de / etc / pulse in .pulse meu diretório pessoal:
cd ~
mkdir .pulse
cp /etc/pulse/* .pulse/
Em ~/.pulse/client.conf
, comentei / modifiquei as seguintes linhas:
enable-shm = yes
auto-connect-localhost = yes
auto-connect-display = yes
Em ~/.pulse/daemon.conf
daemonize = yes
allow-module-loading = yes
use-pid-file = yes
enable-shm = yes
Também instalei paprefs ( apt-get install paprefs
) e verifiquei:
- Disponibilizar dispositivos de som de rede PulseAudio detectáveis localmente
- Ativar o acesso à rede para dispositivos de som locais
- Não requerer authnetication
- Ativar receptor de multicast / RTP
- Adicionar dispositivo de saída virtual para saída simultânea em todas as placas de som locais
Depois de fazer todas as alterações, você pode reinicializar seu computador ou simplesmente efetuar logout / login e reiniciar o libvirt-bin e tudo deverá funcionar perfeitamente quando você iniciar uma VM.
PS: Se o áudio da VM estiver falhando, verifique se a VM tem a mesma taxa de amostragem e profundidade de bits que o host e isso deve funcionar.
Atualização: ficou claro para mim que o áudio ainda pode ter problemas no convidado (carckling sound) porque libvirt pode não ser capaz de carregar a configuração de pulso, pelo que vi no arquivo de log do domínio (/ var / log / libvirt / qemu / yourdomain.log). Você pode desativar o perfil temporariamente ou apenas adicionar:
@{HOME}/.pulse/** rw,
em /etc/apparmor.d/abstractions/libvirt-qemu e recarregue os perfis do apparmor com:
sudo invoke-rc.d apparmor reload
Nota: Eu configurei o libvirt para ser executado como meu usuário atual em /etc/libvirt/qemu.conf por motivos de segurança.