Bug 739100 - Add configuration support for Intel HDA Audio
Summary: Add configuration support for Intel HDA Audio
Keywords:
Status: CLOSED CURRENTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: libvirt
Version: 15
Hardware: All
OS: Linux
unspecified
medium
Target Milestone: ---
Assignee: Fedora Virtualization Maintainers
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2011-09-16 15:00 UTC by Michael Hampton
Modified: 2011-11-29 15:36 UTC (History)
10 users (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2011-11-29 15:36:21 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Michael Hampton 2011-09-16 15:00:59 UTC
This is a request for enhancement.

Description of problem:
qemu 0.14 added support for virtualized Intel HDA Audio; but libvirt does not support using it in its XML configuration files.

Version-Release number of selected component (if applicable):
libvirt-0.8.8-7.fc15.x86_64
qemu-0.14.0-7.fc15.x86_64
qemu-kvm-0.14.0-7.fc15.x86_64

How reproducible:
Always

Steps to Reproduce:
1. $ qemu-kvm -soundhw ?
2. Create a virtual machine in virt-manager.
3. Edit virtual machine configuration in virt-manager and add a "Sound" device.
  
Actual results:
All supported sound devices except 'hda' can be configured.

Expected results:
All supported sound devices including 'hda' should be configurable.

Additional info:
$ qemu-kvm -soundhw ?
Valid sound card names (comma separated):
pcspk       PC speaker
sb16        Creative Sound Blaster 16
ac97        Intel 82801AA AC97 Audio
es1370      ENSONIQ AudioPCI ES1370
hda         Intel HD Audio

-soundhw all will enable all of the above

Intel HDA Audio cannot be configured in libvirt's XML files. Using virt-manager above to "reproduce" was solely for convenience.

At the moment Intel HDA Audio is the only available virtualized sound hardware for which 64-bit Windows guests have reasonably functional drivers available.

Comment 1 Fedora Admin XMLRPC Client 2011-09-22 17:53:21 UTC
This package has changed ownership in the Fedora Package Database.  Reassigning to the new owner of this component.

Comment 2 Fedora Admin XMLRPC Client 2011-09-22 17:57:11 UTC
This package has changed ownership in the Fedora Package Database.  Reassigning to the new owner of this component.

Comment 3 Michael K Johnson (@SAS) 2011-11-29 15:02:54 UTC
This is supported, but within libvirt the model is called "ich6" not "hda".
(It is named after the chipset name, not the marketing name.)

Comment 4 Laine Stump 2011-11-29 15:36:21 UTC
In particular, here is the upstream commit that added support for 'ich6' sound:

commit 6cabc0b0d0fbc35a68bf1c0646898ac148d2fa3f
Author: Cole Robinson <crobinso>
Date:   Thu Jan 13 09:15:11 2011 -0500

    qemu: sound: Support intel 'ich6' model
    
    In QEMU, the card itself is a PCI device, but it requires a codec
    (either -device hda-output or -device hda-duplex) to actually output
    sound. Specifying <sound model='ich6'/> gives us -device intel-hda
    -device hda-duplex I think it's important that a simple <sound model='ich6'/>
    sets up a useful codec, to have consistent behavior with all other sound cards.
    
    This is basically Dan's proposal of
    
        <sound model='ich6'>
            <codec type='output' slot='0'/>
            <codec type='duplex' slot='3'/>
        </sound>
    
    without the codec bits implemented.
    
    The important thing is to keep a consistent API here, we don't want some
    <sound> devs require tweaking codecs but not others. Steps I see to
    accomplishing this:
    
        - every <sound> device has a <codec type='default'/> (unless codecs are
            manually specified)
        - <codec type='none'/> is required to specify 'no codecs'
        - new audio settings like mic=on|off could then be exposed in
            <sound> or <codec> in a consistent manner for all sound models
    
    v2:
        Use model='ich6'
    
    v3:
        Use feature detection, from eblake
        Set codec id, bus, and cad values
    
    v4:
        intel-hda isn't supported if -device isn't available
    
    v5:
        Comment spelling fixes


Note You need to log in before you can comment on or make changes to this bug.