替代(简单)解决方案:(1 个命令)

替代(简单)解决方案:(1 个命令)

启动 KVM 时(在 ubuntu 19.04 中运行良好)出现以下错误:

Error starting domain: internal error: qemu unexpectedly closed the monitor: pulseaudio: pa_context_connect() failed pulseaudio: Reason: Connection refused pulseaudio: Failed to initialize PA contextaudio: warning: Using timer based audio emulation

Traceback (most recent call last):   File "/usr/share/virt-manager/virtManager/asyncjob.py", line 75, in cb_wrapper
    callback(asyncjob, *args, **kwargs)   File "/usr/share/virt-manager/virtManager/asyncjob.py", line 111, in tmpcb
    callback(*args, **kwargs)   File "/usr/share/virt-manager/virtManager/object/libvirtobject.py", line 66, in newfn
    ret = fn(self, *args, **kwargs)   File "/usr/share/virt-manager/virtManager/object/domain.py", line 1279, in startup
    self._backend.create()   File "/usr/lib/python3/dist-packages/libvirt.py", line 1080, in create
    if ret == -1: raise libvirtError ('virDomainCreate() failed', dom=self) libvirt.libvirtError: internal error: qemu unexpectedly closed the monitor: pulseaudio: pa_context_connect() failed pulseaudio: Reason: Connection refused pulseaudio: Failed to initialize PA contextaudio: warning: Using timer based audio emulation

我对配置文件进行了更改。我添加了以下几行以反映从 qemu 3.1 到 4.0 的变化

  <qemu:commandline>
    <qemu:env name="QEMU_AUDIO_DRV" value="pa"/>
    <qemu:env name="QEMU_PA_SERVER" value="/run/user/1000/pulse/native"/>
  </qemu:commandline>

如果我删除这些行,我就无法将声音传递到pulseaudio。

是的,kvm 音频用户就是我。

任何帮助都将不胜感激。这是一个错误还是设置问题。我的客户是 Windows 10 (1903)

答案1

这是因为自 qemu 4.0 以来音频配置发生了变化。您需要编辑 vm 配置:

sudo virsh edit <your_vm>

然后替换你的行:

   <qemu:commandline>
    <qemu:env name="QEMU_AUDIO_DRV" value="pa"/>
    <qemu:env name="QEMU_PA_SERVER" value="/run/user/1000/pulse/native"/>
  </qemu:commandline>

和:

<qemu:commandline>
  <qemu:arg value='-audiodev'/>
  <qemu:arg value='pa,id=pa1,server=/run/user/1000/pulse/native'/>
</qemu:commandline>

我在这里找到了这个:https://www.reddit.com/r/VFIO/comments/b1crpi/qemu_40_due_soon_might_bring_superb_audio_test_now/

答案2

它在 19.10 上运行良好,但我本机运行的是 Ubuntu。我还必须进行修复安装,这样我的配置文件就可以重新开始了。

我会尝试:删除旧版本和任何旧配置文件

sudo apt-get purge qemu

sudo apt-get purge pulseaudio

sudo bash -c 'for i in update {,dist-}upgrade auto{remove,clean}; do apt-get $i -y; done'

然后重新安装它们:

sudo apt install qemu
sudo apt install pulseaudio

这样,您便可拥有全新、完全更新的应用程序,而不会被旧配置所困扰。

我假设你的意思是你的主机操作系统是 Windows 10?并且你在 WSL2 上运行?

答案3

替代(简单)解决方案:(1 个命令)

sudo systemctl restart libvirtd.service# 这可能只是暂时的解决办法,但对我来说很有效

希望对未来有用。

相关内容