Hi Josef,
I was expecting that kind of answer and I can feel the pain ;-) Thanks for the insight.
Cheers, Alex
On 31.01.2017 14:13, Josef Söntgen wrote:
Hello Alexander,
- Alexander Senier <alex@...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 driver.
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:
- 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)
- 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.
Regards Josef