On Wed, Sep 23, 2009 at 04:27:30PM +0200, Daniel Veillard wrote: > On Tue, Sep 22, 2009 at 11:45:02AM +0100, Daniel P. Berrange wrote: > > When using VNC for graphics + keyboard + mouse, we shouldn't > > then use the host OS for audio. Audio should go back over > > VNC. > > > > When using SDL for graphics, we should use the host OS for > > audio since that's where the display is. We need to allow > > certain QEMU env variables to be passed through to guest > > too to allow choice of QEMU audio backend. > > All this makes sense ! > > > * qemud/libvirtd.sysconf: Mention QEMU/SDL audio env vars > > * src/qemu_conf.c: Passthrough QEMU/SDL audio env for SDL display, > > disable host audio for VNC display > > --- > > daemon/libvirtd.sysconf | 8 ++++++++ > > src/qemu/qemu_conf.c | 14 ++++++++++++++ > > 2 files changed, 22 insertions(+), 0 deletions(-) > > > > diff --git a/daemon/libvirtd.sysconf b/daemon/libvirtd.sysconf > > index fe4596a..28080a0 100644 > > --- a/daemon/libvirtd.sysconf > > +++ b/daemon/libvirtd.sysconf > > @@ -7,3 +7,11 @@ > > > > # Override Kerberos service keytab for SASL/GSSAPI > > #KRB5_KTNAME=/etc/libvirt/krb5.tab > > + > > +# Override the QEMU/SDL default audio driver probing when > > +# starting virtual machines using SDL graphics > > +# > > +# NB these have no effect for VMs using VNC > > +#QEMU_AUDIO_DRV=sdl > > +# > > +#SDL_AUDIODRIVER=pulse > > diff --git a/src/qemu/qemu_conf.c b/src/qemu/qemu_conf.c > > index 273aeca..74ca52b 100644 > > --- a/src/qemu/qemu_conf.c > > +++ b/src/qemu/qemu_conf.c > > @@ -2109,6 +2109,13 @@ int qemudBuildCommandLine(virConnectPtr conn, > > ADD_ARG_LIT("-k"); > > ADD_ARG_LIT(def->graphics[0]->data.vnc.keymap); > > } > > + > > + /* QEMU implements a VNC extension for providing audio, so we > > + * set the audio backend to none, to prevent it opening the > > + * host OS audio devices since that causes security issues > > + * and is non-sensical when using VNC. > > + */ > > + ADD_ENV_LIT("QEMU_AUDIO_DRV=none"); > > } else if ((def->ngraphics == 1) && > > def->graphics[0]->type == VIR_DOMAIN_GRAPHICS_TYPE_SDL) { > > char *xauth = NULL; > > @@ -2131,6 +2138,13 @@ int qemudBuildCommandLine(virConnectPtr conn, > > ADD_ENV(display); > > if (def->graphics[0]->data.sdl.fullscreen) > > ADD_ARG_LIT("-full-screen"); > > + > > + /* If using SDL for video, then we should just let it > > + * use QEMU's host audio drivers, possibly SDL too > > + * User can set these two before starting libvirtd > > + */ > > + ADD_ENV_COPY("QEMU_AUDIO_DRV"); > > + ADD_ENV_COPY("SDL_AUDIODRIVER"); > > } > > > > if (def->nvideos) { > > ACK, > > I wonder if that would be sufficient to drop the > libvirt-0.6.4-svirt-sound.patch that we carry in Fedora, not sure > because we still may use the local audio in some cases. Opinion ? Yes, it is intended that this patch obsolete that one we're carrying in Fedora. Daniel -- |: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :| |: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :| |: http://autobuild.org -o- http://search.cpan.org/~danberr/ :| |: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :| -- Libvir-list mailing list Libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list