QEMU/Devices/Sound cards: Difference between revisions

From Computernewb Wiki
Jump to navigation Jump to search
(you slutbag)
m (oops!!!)
 
(7 intermediate revisions by 4 users not shown)
Line 1: Line 1:
Sound cards can be added easily to QEMU virtual machines easily through using <code>-audio</code> or the deprecated since QEMU 7.0 <code>-soundhw</code> argument.
Sound cards can be added easily to QEMU virtual machines easily through using <code>-audio</code> or the removed since QEMU 7.0 <code>-soundhw</code> argument.


==How to add a sound card==
==How to add a sound card==
QEMU 7 and above:
===QEMU 7 and above:===

You can add a card with the following:
You can add a card with the following:

<pre>qemu-system-(arch) -audio driver={output_driver},model={sound_card_model},id={id}</pre>
<pre>qemu-system-(arch) -audio driver={output_driver},model={sound_card_model},id={id}</pre>


<kbd>output_driver</kbd> and <kbd>id</kbd> are the same as <kbd>-audiodev {output_driver},{id}</kbd> in older versions with their respective arguments.
<kbd>output_driver</kbd> and <kbd>id</kbd> are the same as <kbd>-audiodev {output_driver},{id}</kbd> in older versions with their respective arguments.


QEMU versions before 7.0:
===QEMU versions before 7.0:===

You can add a card with the following:
You can add a card with the following:

<pre>qemu-system-(arch) -soundhw (sound_card_model)</pre>
<pre>qemu-system-(arch) -soundhw (sound_card_model)</pre>


Line 19: Line 23:
|-
|-
| ac97
| ac97
| Intel(r) 82801AA AC'97
| Intel(r) 82801AA AC'97 (SigmaTel STAC9750 codec)
| PCI
| PCI
| 64-bit versions of Windows 7 and later require a third-party driver for AC'97 support
| 64-bit versions of Windows 7 and later require a third-party driver for AC'97 support
| Windows: Windows 95<br>Linux: ?<br>DOS: Requires per-application support
| Windows: For Win9x, use the Realtek AC'97 driver.<br>Linux: Yes since 2.2.x, for older drivers with sound problems append to the kernel parameters the following: <code>snd_intel8x0.ac97_clock=48000</code><br>DOS: Requires per-application support
|-
|-
| adlib
| adlib
| Yamaha YM3812/Adlib [OPL2]
| Yamaha YM3812/Adlib [OPL2]
| ISA
| ISA
| Low-cost sound chip developed by Yahama, not useful outside of really old OSes
| Low-cost sound chip developed by Yamaha, not useful outside of really old OSes
| Windows: Windows 3.1<br>Linux: ?<br>DOS: Requires per-application support
| Windows: Windows 3.1<br>Linux: ?<br>DOS: Requires per-application support
|-
|-
Line 38: Line 42:
| cs4321a
| cs4321a
| Crystal CS4321A
| Crystal CS4321A
| ISA?
| ISA
| A Windows Sound System compatible ISA codec.
|
| Windows: Windows 3.1?<br>Linux: ?<br>DOS: ?
| Windows: Windows 3.1/9x<br>Linux: Yes, since 2.2.x<br>DOS: ?
|-
|-
| es1370
| es1370
Line 46: Line 50:
| PCI
| PCI
| PCI card from 1997, has DirectSound3D support, supports .ecw file format playback
| PCI card from 1997, has DirectSound3D support, supports .ecw file format playback
| Windows: Windows 98<br>Linux: ?<br>DOS: ?
| Windows: Windows 98<br>Linux: Mandrake 8.2, maybe others<br>DOS: ?
|-
|-
| gus
| gus
Line 52: Line 56:
| ISA
| ISA
| Sound card from 1992, very popular demoscene card
| Sound card from 1992, very popular demoscene card
| Windows: Windows 3.1<br>Linux: ?<br>DOS: Requires per-application support
| Windows: Windows 3.1<br>Linux: Yes (TODO: workaround for sound issues)<br>DOS: Requires per-application support
|-
|-
| hda
| hda
Line 69: Line 73:
| SoundBlaster 16
| SoundBlaster 16
| ISA
| ISA
| Very popular and famous card from the early 1990s - most emulators, including QEMU, support this card. It is recommended for use in older hosts, such as Windows 98, Debian 5, or DOS.
| Very popular and famous card from the early 1990s - most emulators, including QEMU, support this card. It is recommended for use in older hosts, such as Windows 98, Debian 5, or DOS. OPL3 isn't emulated. PCM only.
| All
| All
|}
|}

Latest revision as of 15:40, 31 August 2024

Sound cards can be added easily to QEMU virtual machines easily through using -audio or the removed since QEMU 7.0 -soundhw argument.

How to add a sound card

QEMU 7 and above:

You can add a card with the following:

qemu-system-(arch) -audio driver={output_driver},model={sound_card_model},id={id}

output_driver and id are the same as -audiodev {output_driver},{id} in older versions with their respective arguments.

QEMU versions before 7.0:

You can add a card with the following:

qemu-system-(arch) -soundhw (sound_card_model)

Devices

i386/x86-64

Model Name Bus Notes Minimum OS
ac97 Intel(r) 82801AA AC'97 (SigmaTel STAC9750 codec) PCI 64-bit versions of Windows 7 and later require a third-party driver for AC'97 support Windows: For Win9x, use the Realtek AC'97 driver.
Linux: Yes since 2.2.x, for older drivers with sound problems append to the kernel parameters the following: snd_intel8x0.ac97_clock=48000
DOS: Requires per-application support
adlib Yamaha YM3812/Adlib [OPL2] ISA Low-cost sound chip developed by Yamaha, not useful outside of really old OSes Windows: Windows 3.1
Linux: ?
DOS: Requires per-application support
all All sound cards ISA/PCI Enables every single sound card N/A
cs4321a Crystal CS4321A ISA A Windows Sound System compatible ISA codec. Windows: Windows 3.1/9x
Linux: Yes, since 2.2.x
DOS: ?
es1370 ENSONIQ AudioPCI ES1370 PCI PCI card from 1997, has DirectSound3D support, supports .ecw file format playback Windows: Windows 98
Linux: Mandrake 8.2, maybe others
DOS: ?
gus Gravis Ultrasound GF1 ISA Sound card from 1992, very popular demoscene card Windows: Windows 3.1
Linux: Yes (TODO: workaround for sound issues)
DOS: Requires per-application support
hda Intel HD Audio PCI Supported natively since Windows XP SP3 (can be installed on Windows 2000 with a separate driver). This card is recommended for more modern Windows and Linux hosts, i.e. Windows 7+ or Debian 10+. Windows: Windows 2000
Linux: supported in nearly every modern distro
DOS: Requires per-application support
pcspk PC Speaker None Generic PC speaker, works on everything All
sb16 SoundBlaster 16 ISA Very popular and famous card from the early 1990s - most emulators, including QEMU, support this card. It is recommended for use in older hosts, such as Windows 98, Debian 5, or DOS. OPL3 isn't emulated. PCM only. All