[Bug 737070] New: qemu-kvm: No sound w/ICH6 in 64-bit VM on 64-bit
https://bugzilla.novell.com/show_bug.cgi?id=737070 https://bugzilla.novell.com/show_bug.cgi?id=737070#c0 Summary: qemu-kvm: No sound w/ICH6 in 64-bit VM on 64-bit Classification: openSUSE Product: openSUSE 12.1 Version: Final Platform: x86-64 OS/Version: Other Status: NEW Severity: Major Priority: P5 - None Component: Sound AssignedTo: tiwai@suse.com ReportedBy: erik@lotspeich.org QAContact: qa@suse.de Found By: --- Blocker: --- Created an attachment (id=467682) --> (http://bugzilla.novell.com/attachment.cgi?id=467682) libvirt configuration User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:8.0) Gecko/20100101 Firefox/8.0 I have OpenSUSE 12.1 and I'm using virt-manager w/qemu-kvm with a 64-bit Windows 7 guest. The Windows 7 guest correctly sees the ICH6 sound device and it appears to work from the Windows point-of-view. I get no sound, however. At first, I thought it was a permissions issue, but I added the "qemu" user to various groups including audio, pulse, and pulse-access. I even went crazy and executed qemu-kvm with the aoss wrapper. I see that qemu-kvm is linked against libpulse, so I believe it should work just fine. I asked this question on the qemu-devel mailing list and they believe it should work and it could be a distro bug. Reproducible: Always Steps to Reproduce: libvirt configuration for my VM is attached. Actual Results: No sound Expected Results: Sound when VM emulated sound device is functioning -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=737070 https://bugzilla.novell.com/show_bug.cgi?id=737070#c1 Takashi Iwai <tiwai@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |NEEDINFO InfoProvider| |brogers@suse.com --- Comment #1 from Takashi Iwai <tiwai@suse.com> 2011-12-15 15:18:58 UTC --- Bruce, any clue? -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=737070 https://bugzilla.novell.com/show_bug.cgi?id=737070#c Takashi Iwai <tiwai@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEEDINFO |NEW CC| |tiwai@suse.com InfoProvider|brogers@suse.com | AssignedTo|tiwai@suse.com |brogers@suse.com -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=737070 https://bugzilla.novell.com/show_bug.cgi?id=737070#c3 --- Comment #3 from Erik Lotspeich <erik@lotspeich.org> 2012-11-26 16:26:43 UTC --- There are two fixes for this problem that I have found since submitting this bug report: 1. Add 'export QEMU_AUDIO_DRV=pa' to profile.local. Then, edit /etc/libvirt/qemu.conf and set 'vnc_allow_host_audio=1' and set 'user=username' where 'username' is the name of the logged in user that needs audio. This works because pulseaudio only accepts audio from the user it is run as. 2. An alternate solution is to use Spice. Although OpenSuSE 12.1 doesn't include it, I rebuild Qemu, virt-manager, etc. with Spice support. Audio works great with Spice without the above changes. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=737070 https://bugzilla.novell.com/show_bug.cgi?id=737070#c4 --- Comment #4 from Takashi Iwai <tiwai@suse.com> 2012-11-27 14:26:31 UTC --- Thanks for the information! At least we can add $QEMU_AUDIO_DRV setup in the package. I updated setup-pulseaudio script for OBS multimedia:libs/pulseaudio (and FACTORY) now. The other setup for VNC is hard to automate, so I leave it. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=737070 https://bugzilla.novell.com/show_bug.cgi?id=737070#c5 Andreas Färber <afaerber@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |afaerber@suse.com --- Comment #5 from Andreas Färber <afaerber@suse.com> 2013-04-10 14:14:11 UTC --- Takashi, setting QEMU_AUDIO_DRV=pa in /etc/profile.d/ breaks qemu-system-arm or at least causes error messages on 12.3. This is a regression from 12.2. qemu-system-x86_64 a.k.a. qemu-kvm does not suffer from this. To reproduce: $ git clone git://git.qemu.org/qemu.git $ ./configure $ make $ make check # or make check-qtest-arm -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=737070 https://bugzilla.novell.com/show_bug.cgi?id=737070#c6 Takashi Iwai <tiwai@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |NEEDINFO InfoProvider| |erik@lotspeich.org --- Comment #6 from Takashi Iwai <tiwai@suse.com> 2013-04-10 14:16:15 UTC --- Is PulseAudio running on your system? What error message? -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=737070 https://bugzilla.novell.com/show_bug.cgi?id=737070#c7 Andreas Färber <afaerber@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEEDINFO |NEW InfoProvider|erik@lotspeich.org | --- Comment #7 from Andreas Färber <afaerber@suse.com> 2013-04-10 15:00:35 UTC --- The QEMU error is: GTESTER check-qtest-arm audio: Unknown audio driver `pa' audio: Run with -audio-help to list available drivers It gets resolved with `unset QEMU_AUDIO_DRV`. This seems independent of whether PulseAudio is running or not since it depends on which QEMU executable or options are used - so far: qemu-system-i386 OK qemu-system-x86_64 OK qemu-system-arm NOT OK * qemu-system-sparc OK qemu-system-mipsel OK * My -M integratorcp ARM test image works, but -M n800 in make check doesn't. So possibly it only gets triggered when the chosen machine actually initializes audio subsystem or something. This gets confirmed by looking at -audio-help output: Neither arm nor x86_64 list pa as an available driver in my self-compiled version, yet only some specific invocations actually complain about the environment variable. $ ./arm-softmmu/qemu-system-arm -audio-help Audio options: QEMU_AUDIO_DAC_FIXED_SETTINGS: boolean, default = 1 Use fixed settings for host DAC QEMU_AUDIO_DAC_FIXED_FREQ: integer, default = 44100 Frequency for fixed host DAC QEMU_AUDIO_DAC_FIXED_FMT: format, default = S16, (one of: U8 S8 U16 S16 U32 S32) Format for fixed host DAC QEMU_AUDIO_DAC_FIXED_CHANNELS: integer, default = 2 Number of channels for fixed DAC (1 - mono, 2 - stereo) QEMU_AUDIO_DAC_VOICES: integer, default = 1 Number of voices for DAC QEMU_AUDIO_DAC_TRY_POLL: boolean, default = 1 Attempt using poll mode for DAC QEMU_AUDIO_ADC_FIXED_SETTINGS: boolean, default = 1 Use fixed settings for host ADC QEMU_AUDIO_ADC_FIXED_FREQ: integer, default = 44100 Frequency for fixed host ADC QEMU_AUDIO_ADC_FIXED_FMT: format, default = S16, (one of: U8 S8 U16 S16 U32 S32) Format for fixed host ADC QEMU_AUDIO_ADC_FIXED_CHANNELS: integer, default = 2 Number of channels for fixed ADC (1 - mono, 2 - stereo) QEMU_AUDIO_ADC_VOICES: integer, default = 1 Number of voices for ADC QEMU_AUDIO_ADC_TRY_POLL: boolean, default = 1 Attempt using poll mode for ADC QEMU_AUDIO_TIMER_PERIOD: integer, default = 250 Timer period in HZ (0 - use lowest possible) QEMU_AUDIO_PLIVE: boolean, default = 0 (undocumented) QEMU_AUDIO_LOG_TO_MONITOR: boolean, default = 0 Print logging messages to monitor instead of stderr Available drivers: Name: oss Description: OSS http://www.opensound.com Theoretically supports many playback voices Theoretically supports many capture voices Options: QEMU_OSS_FRAGSIZE: integer, default = 4096 Fragment size in bytes QEMU_OSS_NFRAGS: integer, default = 4 Number of fragments QEMU_OSS_MMAP: boolean, default = 0 Try using memory mapped access QEMU_OSS_DAC_DEV: string, default = /dev/dsp Path to DAC device QEMU_OSS_ADC_DEV: string, default = /dev/dsp Path to ADC device QEMU_OSS_EXCLUSIVE: boolean, default = 0 Open device in exclusive mode (vmix wont work) QEMU_OSS_DEBUG: boolean, default = 0 Turn on some debugging messages Name: none Description: Timer based audio emulation Theoretically supports many playback voices Theoretically supports many capture voices No options Name: wav Description: WAV renderer http://wikipedia.org/wiki/WAV One playback voice Does not support capture Options: QEMU_WAV_FREQUENCY: integer, default = 44100 Frequency QEMU_WAV_FORMAT: format, default = S16, (one of: U8 S8 U16 S16 U32 S32) Format QEMU_WAV_DAC_FIXED_CHANNELS: integer, default = 2 Number of channels (1 - mono, 2 - stereo) QEMU_WAV_PATH: string, default = qemu.wav Path to wave file Options are settable through environment variables. Example: export QEMU_AUDIO_DRV=wav export QEMU_WAV_PATH=$HOME/tune.wav (for csh replace export with setenv in the above) qemu ... -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=737070 https://bugzilla.novell.com/show_bug.cgi?id=737070#c8 --- Comment #8 from Takashi Iwai <tiwai@suse.com> 2013-04-10 15:21:40 UTC --- Maybe you didn't install the corresponding devel package like pulseaudio-devel on the host you built qemu-arm? -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=737070 https://bugzilla.novell.com/show_bug.cgi?id=737070#c9 Andreas Färber <afaerber@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |agraf@suse.com --- Comment #9 from Andreas Färber <afaerber@suse.com> 2013-04-10 16:33:10 UTC --- Even with libpulse-devel installed, QEMU defaults to oss driver only. As it turns out, kvm package builds QEMU 1.3.1 using --audio-drv-list="pa alsa sdl oss" (-> qemu-kvm) whereas qemu package builds QEMU 1.4.0 using --audio-drv-list="alsa sdl" (-> qemu-system-{arm,...,x86_64}) and me locally without --audio-drv-list option. So, in 12.3 the qemu package would need to get a maintenance update enabling the pa driver to work with pulseaudio package's QEMU_AUDIO_DRV=pa. Looking at -h output, I don't spot any alternative command line option we could add to target-x86_64.conf to replace global QEMU_AUDIO_DRV, unfortunately. But looking at the driver lists above, is pa the best driver to default to in the first place? Or is it just one possibility that worked for the original reporter? -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
https://bugzilla.novell.com/show_bug.cgi?id=737070 https://bugzilla.novell.com/show_bug.cgi?id=737070#c10 --- Comment #10 from Takashi Iwai <tiwai@suse.com> 2013-04-10 16:39:01 UTC --- $QEMU_AUDIO_DRV is set to pa only when PA is set up as default globally. It's set by setup-pulseaudio script. When it's called with --enable, it does in that way. And in the fresh installation, it's set to "yes" as default since openSUSE 12.2, AFAIK. That being said, if this variable is set, it means that the system expects that PA is running as default, and also that applications with such setups do support PA natively. But I wonder why it works on qemu-x86-64 as is. Is the audio-drv-list given differently, depending on the arch to build? -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@novell.com