1. About options
Options are settable through environment variables.
Example:
export QEMU_AUDIO_DRV=wav
export QEMU_WAV_PATH=$HOME/tune.wa
v
(for csh replace export with setenv in the above)
qemu ...
2. Audio options
Parameter | Type | Default Value | Description |
QEMU_AUDIO_DAC_FIXED_SETTINGS | boolean | 1 | Use fixed settings for host DAC |
QEMU_AUDIO_DAC_FIXED_FREQ | integer | 44100 | Frequency for fixed host DAC |
QEMU_AUDIO_DAC_FIXED_FMT | format | S16 | One ofU8 S8 U16 S16 U32 S32 - Format for fixed host DAC |
QEMU_AUDIO_DAC_FIXED_CHANNELS | integer | 2 | Number of channels for fixed DAC (1 - mono,2 - stereo) |
QEMU_AUDIO_DAC_VOICES | integer | 1 | Number of voices for DAC |
QEMU_AUDIO_DAC_TRY_POLL | boolean | 1 | Attempt using poll mode for DAC |
QEMU_AUDIO_ADC_FIXED_SETTINGS | boolean | 1 | Use fixed settings for host ADC |
QEMU_AUDIO_ADC_FIXED_FREQ | integer | 44100 | Frequency for fixed host ADC |
QEMU_AUDIO_ADC_FIXED_FMT | format | S16 | One of U8 S8 U16 S16 U32 S32 - Format for fixed host ADC |
QEMU_AUDIO_ADC_FIXED_CHANNELS | integer | 2 | Number of channels for fixed ADC (1 - mono , 2 - stereo) |
QEMU_AUDIO_ADC_VOICES | integer | 1 | Number of voices for ADC |
QEMU_AUDIO_ADC_TRY_POLL | boolean | 1 | Attempt using poll mode for ADC |
QEMU_AUDIO_TIMER_PERIOD | integer | 100 | Timer period in HZ (0 - use lowest possible) |
3. Available drivers:
3.a) ALSA
Description: ALSA http://www.alsa-project.org
- Theoretically supports many playback voices
- Theoretically supports many capture voices.
Parameter | Type | Default Value | Description |
QEMU_ALSA_DAC_SIZE_IN_USEC | boolean | 0 | DAC period/buffer size in microseconds (otherwise in frames) |
QEMU_ALSA_DAC_PERIOD_SIZE | integer | 1024 | DAC period size (0 to go with system default) |
QEMU_ALSA_DAC_BUFFER_SIZE | integer | 4096 | DAC buffer size (0 to go with system default) |
QEMU_ALSA_ADC_SIZE_IN_USEC | boolean | 0 | ADC period/buffer size in microseconds (otherwise in frames) |
QEMU_ALSA_ADC_PERIOD_SIZE | integer | 0 | ADC period size (0 to go with system default) |
QEMU_ALSA_ADC_BUFFER_SIZE | integer | 0 | ADC buffer size (0 to go with system default) |
QEMU_ALSA_THRESHOLD | integer | 0 | (undocumented) |
QEMU_ALSA_DAC_DEV | string | default | DAC device name (for instance dmix) |
QEMU_ALSA_ADC_DEV | string | default | ADC device name |
3.b) PA (Pulse Audio)
Name: pa
Description: http://www.pulseaudio.org/
- Theoretically supports many playback voices
- Theoretically supports many capture voices
Parameter | Type | Default Value | Description |
QEMU_PA_SAMPLES | integer | 4096 | buffer size in samples |
QEMU_PA_SERVER | string | (not set) | server address |
QEMU_PA_SINK | string | (not set) | sink device name |
QEMU_PA_SOURCE | string | (not set) | source device name |
3.c) SDL
Name: sdl
Description: SDL http://www.libsdl.org
- One playback voice
- Does not support capture
Parameter | Type | Default Value | Description |
QEMU_SDL_SAMPLES | integer | 1024 | Size of SDL buffer in samples |
3.d) None
Name: none
Description: Timer based audio emulation
- Theoretically supports many playback voices
- Theoretically supports many capture voices
3.e) WAV
Name: wav
Description: WAV renderer http://wikipedia.org/wiki/WAV
- One playback voice
- Does not support capture
Parameter | Type | Default Value | Description |
QEMU_WAV_FREQUENCY | integer | 44100 | Frequency |
QEMU_WAV_FORMAT | format | S16 | (one of: U8 S8 U16 S16 U32 S32) Format |
QEMU_WAV_DAC_FIXED_CHANNELS | integer | 2 | Number of channels (1 - mono, 2 - stereo) |
QEMU_WAV_PATH | string | qemu.wav | Path to wave file |
4. Help from Linux shell
Use option -audio-help
to get help shown below
root@amdgaming:~# /opt/qemu/2.4.0.1/bin/qemu-system-i386 -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 = 100
Timer period in HZ (0 - use lowest possible)
Available drivers:
Name: alsa
Description: ALSA http://www.alsa-project.org
Theoretically supports many playback voices
Theoretically supports many capture voices
Options:
QEMU_ALSA_DAC_SIZE_IN_USEC: boolean, default = 0
DAC period/buffer size in microseconds (otherwise in frames)
QEMU_ALSA_DAC_PERIOD_SIZE: integer, default = 1024
DAC period size (0 to go with system default)
QEMU_ALSA_DAC_BUFFER_SIZE: integer, default = 4096
DAC buffer size (0 to go with system default)
QEMU_ALSA_ADC_SIZE_IN_USEC: boolean, default = 0
ADC period/buffer size in microseconds (otherwise in frames)
QEMU_ALSA_ADC_PERIOD_SIZE: integer, default = 0
ADC period size (0 to go with system default)
QEMU_ALSA_ADC_BUFFER_SIZE: integer, default = 0
ADC buffer size (0 to go with system default)
QEMU_ALSA_THRESHOLD: integer, default = 0
(undocumented)
QEMU_ALSA_DAC_DEV: string, default = default
DAC device name (for instance dmix)
QEMU_ALSA_ADC_DEV: string, default = default
ADC device name
Name: pa
Description: http://www.pulseaudio.org/
Theoretically supports many playback voices
Theoretically supports many capture voices
Options:
QEMU_PA_SAMPLES: integer, default = 4096
buffer size in samples
QEMU_PA_SERVER: string, default = (not set)
server address
QEMU_PA_SINK: string, default = (not set)
sink device name
QEMU_PA_SOURCE: string, default = (not set)
source device name
Name: sdl
Description: SDL http://www.libsdl.org
One playback voice
Does not support capture
Options:
QEMU_SDL_SAMPLES: integer, default = 1024
Size of SDL buffer in samples
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 ...