Garbled audio - Windows 7 64 bit guest on Debian

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I am experiencing garbled sound on a Windows 7 64 bit guest running under 64 bit Debian.  I have searched many discussion groups, etc. on the net and could find nothing useful, so I thought I would post this here, hoping someone with a deeper understanding could help out.

I am running 64 bit Debian GNU/Linux "testing" on a Lenovo Thinkpad T420s, 8GB RAM, Crucial m4 512GB disk.  Using ALSA, the sound works perfectly when playing all kinds of files.  I am running everything from the standard Debian repositories.  This is using kernel version 3.0.0-1.  kvm --version says:

  QEMU emulator version 1.0 (qemu-kvm-1.0+dfsg-11, Debian), Copyright (c) 2003-2008 Fabrice Bellard

I am running Windows 7 Enterprise service pack 1 as a virtual machine.  The machine is started with the following command:

  /usr/bin/kvm \
  -M pc \
  -m 2048 \
  -drive file="csilt033-6.qcow",if=virtio \
  -soundhw hda \
  -display sdl &

I believe I must use "-soundhw hda" because that is the only sound device that kvm emulates which has Windows 7 64 bit drivers.  Windows 7 automatically detects a "High Definition Audio Device" and uses the driver HDAudio.sys.  But the sounds it makes sound like they are very highly compressed, or a lot of bits are being lost or something.  Any application used to play sound has the same problem.  Speech is barely recognizable.  Using the built in speakers or external speakers through the audio jack give the same result.

I have tried several QEMU_AUDIO* settings, but it seems like these make no difference.

If I connect to the machine using remote desktop (mstsc.exe, rdesktop, xfreerdp), the sound gets redirected to the local machine and sounds perfect.  The sound is only garbled when using SDL.  The same audio problems exist if I start up the machine and connect to it with vnc.


I want to use SDL because I need to use Microsoft Lync, which requires me to log in on the console.  Using voice with Lync is not supported in a remote desktop environment.

Here is lspci on the audio device on the host machine.

$ sudo lspci -vvv -s 00:1b.0
00:1b.0 Audio device: Intel Corporation 6 Series/C200 Series Chipset Family High Definition Audio Controller (rev 04)
        Subsystem: Lenovo Device 21d2
        Control: I/O- Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
        Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
        Latency: 0, Cache Line Size: 64 bytes
        Interrupt: pin A routed to IRQ 51
        Region 0: Memory at f1620000 (64-bit, non-prefetchable) [size=16K]
        Capabilities: [50] Power Management version 2
                Flags: PMEClk- DSI- D1- D2- AuxCurrent=55mA PME(D0+,D1-,D2-,D3hot+,D3cold+)
                Status: D0 NoSoftRst- PME-Enable- DSel=0 DScale=0 PME-
        Capabilities: [60] MSI: Enable+ Count=1/1 Maskable- 64bit+
                Address: 00000000fee004b8  Data: 0000
        Capabilities: [70] Express (v1) Root Complex Integrated Endpoint, MSI 00
                DevCap: MaxPayload 128 bytes, PhantFunc 0, Latency L0s <64ns, L1 <1us
                        ExtTag- RBE- FLReset+
                DevCtl: Report errors: Correctable- Non-Fatal- Fatal- Unsupported-
                        RlxdOrd- ExtTag- PhantFunc- AuxPwr- NoSnoop-
                        MaxPayload 128 bytes, MaxReadReq 128 bytes
                DevSta: CorrErr- UncorrErr- FatalErr- UnsuppReq- AuxPwr+ TransPend-
                LnkCap: Port #0, Speed unknown, Width x0, ASPM unknown, Latency L0 <64ns, L1 <1us
                        ClockPM- Surprise- LLActRep- BwNot-
                LnkCtl: ASPM Disabled; Disabled- Retrain- CommClk-
                        ExtSynch- ClockPM- AutWidDis- BWInt- AutBWInt-
                LnkSta: Speed unknown, Width x0, TrErr- Train- SlotClk- DLActive- BWMgmt- ABWMgmt-
        Capabilities: [100 v1] Virtual Channel
                Caps:   LPEVC=0 RefClk=100ns PATEntryBits=1
                Arb:    Fixed- WRR32- WRR64- WRR128-
                Ctrl:   ArbSelect=Fixed
                Status: InProgress-
                VC0:    Caps:   PATOffset=00 MaxTimeSlots=1 RejSnoopTrans-
                        Arb:    Fixed- WRR32- WRR64- WRR128- TWRR128- WRR256-
                        Ctrl:   Enable+ ID=0 ArbSelect=Fixed TC/VC=01
                        Status: NegoPending- InProgress-
                VC1:    Caps:   PATOffset=00 MaxTimeSlots=1 RejSnoopTrans-
                        Arb:    Fixed- WRR32- WRR64- WRR128- TWRR128- WRR256-
                        Ctrl:   Enable+ ID=1 ArbSelect=Fixed TC/VC=22
                        Status: NegoPending- InProgress-
        Capabilities: [130 v1] Root Complex Link
                Desc:   PortNumber=0f ComponentID=00 EltType=Config
                Link0:  Desc:   TargetPort=00 TargetComponent=00 AssocRCRB- LinkType=MemMapped LinkValid+
                        Addr:   00000000fed1c000
        Kernel driver in use: HDA Intel

Any ideas on how to get this to work would be appreciated.



-----------------------------
Jimmy Crossley
CoNetrix
Sentry Plaza III
5214 68th Street, Suite 200
Lubbock, TX  79424
jcrossley@xxxxxxxxxxxx
https://www.CoNetrix.com
Telephone: 806-687-8600
Toll Free: 800-356-6568
Fax: 806-687-8511
This e-mail message (and attachments) may contain confidential CoNetrix information. If you are not the intended recipient, you cannot use, distribute or copy the message or attachments. In such a case, please notify the sender by return e-mail immediately and erase all copies of the message and attachments. Opinions, conclusions and other information in this message and attachments that do not relate to official business are neither given nor endorsed by CoNetrix.


--
To unsubscribe from this list: send the line "unsubscribe kvm" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [KVM ARM]     [KVM ia64]     [KVM ppc]     [Virtualization Tools]     [Spice Development]     [Libvirt]     [Libvirt Users]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Questions]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux