
On Mon, Jun 22, 2020 at 03:22:05PM +0200, Paolo Bonzini wrote:
On 22/06/20 14:59, Thomas Huth wrote:
+static int pcspk_audio_init_soundhw(ISABus *bus) +{ + PCSpkState *s = pcspk_state; + + warn_report("'-soundhw pcspk' is deprecated, " + "please set a backend using '-global isa-pcspk.audiodev=<name>' instead"); + return pcspk_audio_init(s); +} While "-soundhw pcspk" is quite easy to use for the average user, I think the "-global" options will be quite hard to figure out, especially once this deprecation message got removed again when -soundhw has been deleted. Could you maybe add a description how to configure the pc-speaker to docs/system/target-i386-desc.rst.inc, too?
-nic is an example of how a single option can work great for both built-in and custom devices, and perhaps we could design something like that for audio. For example you could have
# configure a builtin or default audio device # and an ALSA audiodev -sound alsa
# configure an external audio device and a PA audiodev # options other than "model" go to audiodev -sound pa,model=sb16,fixed-settings=off
For more information: https://www.qemu.org/2018/05/31/nic-parameter/
I think we can go ahead with the deprecation, but -global and -device are probably not good enough a replacement for actual removal.
-global is temporary, see patch 19/19 (guess I should reorder the series and squash 19/19 to fix that confusion). The plan is to have audio work simliar to block. -audiodev creates a backend (like -blockdev). Properties are used to reference them. Device properties in most cases, machine properties for builtin devices (i.e. pcspk works like pflash then). take care, Gerd