Ответ был заложен в самом вопросе. Линукс - это не ос а kernel. Тоесть говоря Линукс - мы подразумеваем бесконечное (!) количество операционок на которых стоят
- разные графические оболочки (Gnome, KDE, XFCE)
- разные менеджеры пакетов (это осложняет универсальный деплой)
- разные лицензии, разные цели и разные целевые аудитории.
Если вы разрабатываете игру - то нет особого смысла портировать ее под SuseEnt Linux, там никто не играет. Или как например поставить в OpenBSD закрытый бинарник драйвера? Это невозможно по идеологии этой ОС.
Поэтому портирование mac=>linux это челендж где ясно начало но совершенно неясен конец.