lib-virt에 대한 QEMU 명령줄 인수가 허용되지 않음 - xml 파일을 저장할 수 없음

lib-virt에 대한 QEMU 명령줄 인수가 허용되지 않음 - xml 파일을 저장할 수 없음

Ubuntu 호스트에서 실행되는 Win10 게스트에서 오디오를 실행하기 위해 이 가이드를 따르려고 합니다.https://blog.zerosector.io/2018/07/28/kvm-qemu-windows-10-gpu-passthrough/.

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

내가 겪고 있는 문제는 가상 머신 구성을 편집하는 부분에 도달할 때입니다.버쉬 에디터 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 파일이 저장되지 않고 가상 머신에서 오디오가 여전히 작동하지 않습니다.

조사를 해보니 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를 통해 구성된 시스템에 필요한 명령줄 인수를 어떻게 전달합니까?

편집하다:나는 다시 시도하기로 결정했고 Michael Hampton의 답변 덕분에 마침내 답을 찾았습니다. 아래 답변을 확인하세요.

답변1

나는 다시 시도하기로 결정했고 Michael Hampton의 답변 덕분에 마침내 알아냈습니다.

내가 원하는 작업에 환경 변수를 전달하려면 다음도 포함해야 한다는 사실이 밝혀졌습니다.

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

관련 정보