Ecasound on OpenBSD and FreeBSD Audio Interfaces

Ecasound offers mixed support for the native audio interfaces found on modern BSD distributions. While it natively and seamlessly supports FreeBSD through the kernel's built-in Open Sound System (OSS) API, it does not provide native upstream support for OpenBSD's modern audio framework, sndio. Consequently, while FreeBSD users can interface directly with hardware sound devices out of the box, OpenBSD users must rely on intermediate sound servers or streaming pipes.

FreeBSD Audio Interface Support

Ecasound fully supports FreeBSD's native audio hardware interface. The FreeBSD kernel implements the Open Sound System (OSS) 4.x API directly as its standard sound subsystem architecture, exposing audio devices via /dev/dsp* nodes.

Because Ecasound includes an internal, native OSS input and output driver, it communicates directly with FreeBSD sound hardware without needing extra translation layers or emulation daemons.

To use Ecasound directly with FreeBSD's native audio interface:

Ecasound is available through the FreeBSD Ports collection and pkg system with OSS support compiled in by default. Users requiring lower latency or inter-application routing on FreeBSD can also use the JACK Audio Connection Kit backend instead of direct OSS.

OpenBSD Audio Interface Support

OpenBSD does not have native hardware interface support in upstream Ecasound. The native audio and MIDI framework on OpenBSD is sndio, managed by the sndiod daemon and the sioctl hardware control layer. Upstream Ecasound lacks a dedicated sndio driver module.

Older versions of OpenBSD provided legacy Sun-style /dev/audio devices and OSS emulation layers, both of which match built-in Ecasound drivers. However, modern OpenBSD releases have completely removed these legacy interfaces in favor of sndio.

To run Ecasound on OpenBSD, users must employ workarounds:

Summary