KVM/qemu/libvirt의 가상 머신에서 Spice를 사용할 때 QEMU_AUDIO_DRV는 기본적으로 spice로 설정됩니다.
내 호스트(debian-Stretch)는 좋은 사운드 카드(Xonar DX)와 더 나은 사운드 드라이버(pulseaudio, alsa)를 사용합니다.
가상 머신에서 그래픽 측면에 spice를 사용하고 게스트 OS에 관계없이 사운드 측면에 pulseaudio 또는 alsa를 사용할 수 있습니까?
참고 1: domain.xml에 다음을 추가했습니다.
<qemu:commandline>
<qemu:env name='QEMU_AUDIO_DRV' value='pa'/>
<qemu:env name='QEMU_PA_SERVER' value='/run/user/1000/pulse/native'/>
</qemu:commandline>
이제 domain.log에 다음이 표시됩니다.
QEMU_AUDIO_DRV=pa QEMU_PA_SERVER=/run/user/1000/pulse/native
좋습니다. 하지만 domain.xml에 다음 섹션이 있으므로 게스트가 pulseaudio를 사용하는지 모르겠습니다.
<sound model='ich6'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
</sound>
노트 2: 기타 시도:
<qemu:commandline>
<qemu:env name='QEMU_AUDIO_DRV' value='alsa'/>
</qemu:commandline>
소리가 나지 않습니다.
답변1
답변2
첫 번째 qemu:commandline
클립은 괜찮습니다. 게스트의 음성을 호스트 컴퓨터의 특정 PA 사운드 카드로 보내는 데 잘 사용합니다. 콘솔의 볼륨 제어 대화 상자 항목은 다음과 같습니다.
현재 사용자 PA에 연결하려면 아래에 도메인을 생성하기만 하면 됩니다 qemu:///session
. 즉, VM 프로세스는 기본적으로 현재 사용자 ID로 실행됩니다. 글로벌 QEMU 또는 PA 구성을 변경할 필요가 없습니다. 헤드리스를 디버깅하려면 다음 명령을 사용하여 PA가 virt-manager에서 연결을 얻는지 확인할 수 있습니다 pacmd list-clients
.
index: 137
driver: <protocol-native.c>
owner module: 11
properties:
application.name = "virt-manager"
native-protocol.peer = "UNIX socket client"
native-protocol.version = "34"
application.process.id = "97515"
application.process.user = "xyz"
application.process.host = "xyz"
application.process.binary = "python3.9"
application.icon_name = "virt-manager"
application.language = "en_US.UTF-8"
window.x11.display = ":0.0"
application.process.machine_id = "68058b3d029948a1ae03d28f827a6f53"
application.process.session_id = "c2"