4 ms·
> being forced to make drivers that work equally in linux, windows and even macOS That is almost a recipe for drivers built on hardware abstraction layers (HAL
by the_biot 3y ago
> being forced to make drivers that work equally in linux, windows and even macOS
That is almost a recipe for drivers built on hardware abstraction layers (HALs), so vendors can use literally the same code on every platform. That, of course, results in a bunch of unnecessary HAL code being added -- unnecessary from the OS point of view, which already has perfectly good hooks for all the stuff a driver needs. That's the reason Linux does not accept HALs into the mainline kernel.
What often happens on Linux is vendors will then move their HAL and drivers into userspace, interfacing with the kernel via a shim instead. This has the side effect of no longer needing to open-source the driver code at all, since it's not linked into the kernel. Look how that works out!
In case of Android, it was literally Google that did the HAL/shim work, giving vendors a pass on open sourcing or mainlining their drivers.
- yjftsjthsd-h 3y ago> What often happens on Linux is vendors will then move their HAL and drivers into userspace, interfacing with the kernel via a shim instead. This has the side effect of no longer needing to open-source the driver code at all, since it's not linked into the kernel. Look how that works out! It doesn't stop anyone else from writing better drivers (i.e. the thing they already do) but decouples things so that people can at least update their kernel while keeping their drivers. So, win-win.