logoalt Hacker News

drewg123today at 3:02 PM2 repliesview on HN

Linux is actively hostile to out-of-tree drivers. There is no stable driver API, and interfaces change at the drop of a hat. Maintaining an out of tree driver is a constant nightmare where you're always dealing with interfaces changing out from under you.

I wrote and maintained 10GbE drivers for a small company in the 2000s, and just the SHIM file for our driver on Linux to massage over API differences was well over 1000 lines. I think it was close to the same size as the entire driver for one of the BSDs.


Replies

terryottoday at 4:31 PM

A counterpoint: I recently asked Claude to port an obsolete ~2010 driver to latest kernel by asking Claude to "make it work". Few builds later and few crashes later, I had a working driver, with DMA, modern Io map protection, etc.

It's not a nightmare anymore to port drivers

achieriustoday at 5:45 PM

GP meant moving the driver into userspace, which is much less painful due to the stable userspace APIs.