web-dev-qa-db-ja.com

lib-virtへのQEMUコマンドライン引数は受け入れられません-xmlファイルを保存できません

このガイドに従って、Ubuntuホストで実行されているWin10ゲストでオーディオを動作させようとしています https://blog.zerosector.io/2018/07/28/kvm-qemu-windows-10-gpu-passthrough /

GPUパススルーは機能しますが、オーディオに問題があります。オーディオを動作させる方法を説明するセクションでは、コマンドライン引数をVMに渡して、xmlファイルの最初の行を編集し、最後にこれらの行を追加する必要があります。

<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'/>

私が抱えている問題は、VM configuration withvirsh edit win10)を編集する部分に到達すると、変更が保存されないことです次のエラーが発生します:

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'>

そのスキーマはもう存在しないため(404)、効果はありません。それを.rng代替 ' https://libvirt.org/schemas/domain.rng 'で置き換えることもできません。

私の質問は次のとおりです。必要なコマンドライン引数を、virt-managerを介してすでに存在し構成されているマシンに渡すにはどうすればよいですか?

編集:私は再試行することに決め、マイケルハンプトンの返信のおかげでそれを理解することができました。以下の答えを確認してください。

3
Dan B

私は再試行することに決め、マイケルハンプトンズの返信のおかげでなんとかそれを理解することができました。

私がやろうとしていたように環境変数を渡したいときは、あなたも含める必要があります

<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>
2
Dan B