Virtual-Machine
不接受 lib-virt 的 QEMU 命令行參數 - 無法保存 xml 文件
我正在嘗試按照本指南https://blog.zerosector.io/2018/07/28/kvm-qemu-windows-10-gpu-passthrough/在 Ubuntu 主機上執行的 Win10 客戶機上執行音頻。
GPU通過工作但是我有音頻問題。描述如何使音頻正常工作的部分需要通過編輯 xml 文件的第一行然後在末尾添加這些行來將命令行參數傳遞給 VM:
<qemu:env name='QEMU_AUDIO_DRV' value='pa'/> <qemu:env name='QEMU_PA_SAMPLES' value='8192'/> <qemu:env name='QEMU_AUDIO_TIMER_PERIOD' value='99'/> <qemu:env name='QEMU_PA_SERVER' value='/run/user/1000/pulse/native'/>
我遇到的問題是,當我到達使用virsh edit win10編輯 VM 配置的部分時,未保存更改並發生以下錯誤:
Failed. Try again? [y,n,i,f,?]: error: XML document failed to validate against schema: Unable to validate doc against /usr/share/libvirt/schemas/domain.rng Element domain has extra content: env
我嘗試了 f 和 i 響應,但是 xml 文件沒有保存並且音頻在 VM 中仍然不起作用。
做一些研究我發現修改xml文件的第一行
<domain type='kvm'> to <domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
沒有效果,因為該模式不再存在(404s)。用 .rng 替代方案*“ https://libvirt.org/schemas/domain.rng ”*替換它也不起作用。
我的問題是:如何將所需的命令行參數傳遞給已經存在並通過 virt-manager 配置的機器?
**編輯:**由於邁克爾漢普頓的回复,我決定再試一次,我設法弄明白了。檢查下面的答案。
由於邁克爾漢普頓的回复,我決定再試一次,我設法弄明白了。
事實證明,當您想將環境變數傳遞給我嘗試做的事情時,您還必須包括
<qemu:commandline> ... </qemu:commandline>
之前和之後的環境變數。我的 xml 文件的最後一部分如下所示:
<qemu:commandline> <qemu:env name='QEMU_AUDIO_DRV' value='pa'/> <qemu:env name='QEMU_PA_SAMPLES' value='8192'/> <qemu:env name='QEMU_AUDIO_TIMER_PERIOD' value='99'/> <qemu:env name='QEMU_PA_SERVER' value='/run/user/1000/pulse/native'/> </qemu:commandline>