Red Hat Bugzilla – Bug 621082
Windows Guests Installation: No audio devices are installed
Last modified: 2011-06-10 00:16:47 EDT
Description of problem:
After gusets install, the audio device can not work well, it looks like that the audio card(type: AC97) driver has not been installed, the guests include win7-i386, win7-x86_64, win2008-x86_64 and win2008r2-x86_64.
Even download the audio card driver and install it, the guests' audio device still can't work, and it still shows "No audio devices are installed".
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1.Install the specific guests via virt-manager.
2.Log in the guset, and the audio device.
3.Download the audio card driver from www.realtek.com/downloads, and install it.
4.Check the audio device again.
The audio device can not work, and it shows "No audio devices are installed".
The audio device work well.
This issue has been proposed when we are only considering blocker
issues in the current Red Hat Enterprise Linux release.
** If you would still like this issue considered for the current
release, ask your support representative to file as a blocker on
your behalf. Otherwise ask that it be considered for the next
Red Hat Enterprise Linux release. **
#virsh dumpxml Win7-i386
<domain type='kvm' id='2'>
<type arch='x86_64' machine='rhel6.0.0'>hvm</type>
<disk type='file' device='disk'>
<driver name='qemu' type='raw' cache='none'/>
<target dev='hda' bus='ide'/>
<address type='drive' controller='0' bus='0' unit='0'/>
<disk type='block' device='cdrom'>
<driver name='qemu' type='raw'/>
<target dev='hdc' bus='ide'/>
<address type='drive' controller='0' bus='1' unit='0'/>
<controller type='ide' index='0'>
<address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
<console type='pty' tty='/dev/pts/0'>
<input type='tablet' bus='usb'>
<input type='mouse' bus='ps2'/>
<graphics type='vnc' port='5901' autoport='yes'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
<model type='vga' vram='9216' heads='1'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
<address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
<seclabel type='dynamic' model='selinux'>
You have no audio device in your guest XML, so no audio device will be created in the guest. If you want an audio device, you have to edit the guest XML to create one. However, see:
I'm closing this BZ as not a bug. BZ 595880 is already open requesting better audio support.
Oops, my bad. Now I'm embarassed; how did I miss that <sound> section...reopening.
Could you also paste the qemu command line according to the XML? you can get it in "/var/log/qemu/$domain.log". and also try to check if there is some error log in "/var/log/message", if so, paste it please. Thanks.
Created attachment 462232 [details]
Put the log(/var/log/libvirt/qemu/win7-.log and /var/log/message) in the attachment, please check it.
# QEMU implements an extension for providing audio over a VNC connection,
# though if your VNC client does not support it, your only chance for getting
# sound output is through regular audio backends. By default, libvirt will
# disable all QEMU sound backends if using VNC, since they can cause
# permissions issues. Enabling this option will make libvirtd honor the
# QEMU_AUDIO_DRV environment variable when using VNC.
# vnc_allow_host_audio = 0
That's why "QEMU_AUDIO_DRV" is set to "none" in qemu command line. Though you can turn "vnc_allow_host_audio" on by set it to "1", but it's not encouraged for avoiding the security issues. and actually even if you turn it on, it probly still don't work for the permission problems.
IMHO, the best idea to solve this problem is improve gtk-vnc to support the qemu extenstion.
I am missing the part where gtk-vnc in involved. Excuse my ignorance if I missing something obvious.
After rereading this, is the issue that gtk-vnc is not forwarding audio? I just want to be clear what is actually being fixed so I am testing the right thing.