back

by doublepg23·11d ago·view on hn ↗
Can you expand on this? I did follow the “Moblin/Maemo/MeeGo” forks back in the day and it struck me as odd Android pulled off the HAL layer but “Linux” was unable to.
1 comments
Every [Linux based] OS usually needs some sort of HAL to wrap [ioctl] driver calls into APIs that can be consumed by more than one process at a time. Nokia/Moblin/Sailfish use Freedesktop style HALs, i.e. stuff like Wayland, Pipewire, anything accessible over DBus (which also implies extremely slow IPC by any standards; mach ipc on apple's darwins is probably faster [sobs]).

Basically I'm suggesting that we might need a whole new OS on top of the Linux kernel.

I guess we just need the DBUS developers to get their heads out of their asses, that's all: https://lkml.org/lkml/2015/6/23/657
Nah, DBus itself is plain bad interface design. Perhaps they could just piggyback off Binder if DBus itself weren't beyond saving. Also, despite a common sentiment online, it's not at all a complex process to implement a Binder userspace (given you have a sensible IDL in the first place, that is…)

Wrt/ torvie's narcissistic snarks linked above, the most important task for a kernel is still to facilitate fast IPC. The only viable forms of IPC in Linux are UDS and Binder. The former is slow and clunky. The latter is not a valid choice for DBus. So DBus devs have to manage slow, clunky, ill-suited legacy IPC. When a kernel can't be bothered to accommodate one of the most important operating systems built upon it, that seems really bad.