我正在尝试使用 pc-speaker 选项从 Linux 调用 Qemu,但是当我这样做时,我收到以下警告消息:
'-soundhw pcspk' is deprecated, please set a backend using '-machine pcspk-audiodev=<name>' instead
为了以新的方式正常工作,我应该在这里对“名称”使用什么参数?
我使用以下命令行调用 Qemu:
qemu-system-x86_64 -drive if=pflash,format=raw,file=/usr/share/qemu/OVMF.fd -m 1900 -hda img.raw -device intel-hda -device hda-duplex -soundhw pcspk
答案1
它正在寻找一个声音接收器来发送模拟的 PC 扬声器声音。
您可以在 Linux 内核中启用 PC 扬声器驱动程序并使用它,或者您可以指定您的机器声卡
-machine pcspk-audiodev=snd0
您可能需要定义一个音频后端来使用
所以对我来说我需要做
-audiodev pa,id=snd0 -machine pcspk-audiodev=snd0
它使用 Pulse Audio 将 PC 扬声器从声卡中路由出来。对于有此需求的用户,它还支持 Jack。
我查看了一下运行 PipeWire 的机器,发现 ID 是较长的字符串(非常长),但似乎可以工作