1. Потому что вот такие баги висят годами и всем по*рать.
2. Потому что совместимость API в Linux - это миф. Её нет ни в одном направлении. Здесь всё работает по большому счёту из-за того, что для каждой новой версии дистрибутива пересобирается вся кодовая база.
3. Потому что нет универсального менеджера пакетов.
4. Потому что создавать и тестировать приложение для 110 дистрибутивов с 10 000 000 00 000 000 000 комбинаций библиотек никто не будет.
5. Потому что даже *.desktop файлы лежат в разных дистрибутивах по-разному.
6. Потому что для Linux очень сложно сделать DRM защиту (так или иначе ей требуются модули ядра - вспомним про stable API nonsense).
Если что забыл, потом допишу. Без коммерческого ПО и игр доля Линукса на desktop выше 1% никогда не увеличится.