Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/eden-emulator/mirror/llms.txt

Use this file to discover all available pages before exploring further.

Eden supports multiple audio backends and adapts to the audio subsystem available on your platform. In most cases the default backend works without any manual configuration. The notes on this page cover how to switch backends, force a specific output path on Linux, and resolve common audio problems.

Audio backends

Eden uses two primary audio backend libraries depending on your platform and build:
  • cubeb — The default and recommended backend. cubeb is a cross-platform audio library that selects the best available output on each OS: PulseAudio or PipeWire on Linux, Core Audio on macOS, and WASAPI on Windows. It handles device hot-plugging and latency management automatically.
  • OpenAL — A legacy audio API that may be available as a fallback. OpenAL can be useful on platforms where cubeb’s preferred backend is unavailable or misbehaving.

Forcing ALSA on Linux

By default, cubeb on Linux uses PulseAudio or PipeWire as the output layer. If PulseAudio is not running or you prefer to bypass it and write directly to ALSA, set the following environment variable before launching Eden:
PULSE_SERVER=none
Setting PULSE_SERVER=none tells cubeb that no PulseAudio server is available, which causes it to fall back to ALSA for audio output. This is the documented workaround from the Eden audio configuration notes.
You can set this variable for a single session by prepending it to the launch command:
PULSE_SERVER=none ./Eden.AppImage
To make it permanent, add export PULSE_SERVER=none to your shell profile (e.g., ~/.bashrc or ~/.profile) or to a desktop launcher entry.

Practical tips

If Eden produces no sound:
  1. Check that your system audio is not muted and that the correct output device is selected in your OS audio settings.
  2. On Linux with PipeWire, verify that the pipewire-pulse compatibility layer is running — cubeb targets the PulseAudio interface, which PipeWire exposes through this layer.
  3. Try setting PULSE_SERVER=none to force ALSA output as described above.
  4. If you are using the OpenAL backend, make sure libopenal is installed on your system.
Audio artifacts such as crackling, popping, or distortion are usually caused by buffer underruns or driver latency issues:
  • On Linux, switching from PulseAudio to ALSA (via PULSE_SERVER=none) can reduce latency and eliminate crackling caused by the PulseAudio server’s scheduling.
  • On Windows, ensure no other application is holding exclusive access to the audio device (check Sound > Properties > Advanced and uncheck “Allow applications to take exclusive control”).
  • Try closing other audio-heavy applications running in the background.
If audio drifts out of sync with video:
  • This is most often a performance issue — if Eden is not rendering frames at full speed, audio will drift. Check CPU and GPU load.
  • Lowering the internal resolution or disabling demanding graphical options (such as Gaussian or Lanczos filters) can help performance and restore audio sync.
  • Ensure the Pause when not in focus setting is enabled so Eden pauses cleanly when you alt-tab rather than continuing to decode audio.
Eden selects the audio backend automatically. If you need to change it manually, look in Emulation > Configure… > Audio for a backend dropdown. The available options depend on your platform:
Platformcubeb backends available
LinuxPulseAudio, PipeWire (via pulse layer), ALSA
macOSCore Audio
WindowsWASAPI
AllOpenAL (if installed)
Switching to OpenAL can help on platforms where cubeb’s automatic selection picks a suboptimal backend.

Build docs developers (and LLMs) love