Why DDE BSD for audio?

Josef Söntgen josef.soentgen at ...1...
Tue Jan 31 14:13:36 CET 2017

Hello Alexander,

* Alexander Senier <alex at ...331...> [2017-01-31 12:52:50 +0100]:
> when looking into Genodes driver support, I was wondering about DDE
> BSD. The audio_* ports seems to be its only use case. Is there any
> (technical) justification for not porting audio drivers from Linux
> using DDE Linux? With USB, WiFi and GMA there were much more complex
> driver ported using DDE Linux after all...

TL;DR personal preference lead to using OpenBSD for the x86 audio

Long story (with some ranting included):

Generally speaking, porting drivers from OpenBSD is much easier than,
for example, from Linux (at least in my experience). We take drivers
from Linux mainly for two reasons:

  1) We need support for devices that are only supported in Linux
     (at the time that was true for iwlwifi MVM devices and for
      GMA the DRM subsystem in the Linux driver is the de-facto
      upstream branch, all other OS' used this base as well)
  2) We are most experienced in porting drivers from Linux and
     did so in the past (that is true in case of the USB driver)

That being said, porting the audio drivers from OpenBSD was my personal
decision. At the time we wanted to replace the aging OSSv4 based driver
and at first I did so as a pet-project. After my experience with porting
the wifi_drv from Linux, I was (and to some degree still am) fed up with
Linux because it is a complex process to do so. What is more, with every
update of dde_linux it gets more complicated because APIs change in
subtile ways that we did not anticipated during the initial porting
effort or other APIs are used, which leads to increased size of the
Linux emulation environment. All in all the maintaince burden is high
with ported Linux drivers — that is why we update them only if it is
really necessary. This is the main reason I turned to OpenBSD. That and
my dislike for ALSA.


Josef Söntgen
Genode Labs

http://www.genode-labs.com/ · http://genode.org/

More information about the users mailing list