I've often wondered why it's so difficult to make a standardized OS distribution for ARM processors. You would think it should be as simple as
Google provides core OS -> manufacturers add drivers -> done
(Of course this skips the "manufacturers add shitware" step).
But I've been told ARM just doesn't work that way and for whatever reason that I don't completely understand, hardware can't be abstracted this way on ARM.
My understanding is that unlike the PC world where hardware can report itself or be found easily the way things tend to be connected on ARM boards make it so that's not feasible or even possible. Someone just has to tell the kernel up front what is where.
Sony seems to be nudging in that direction with their unified kernel, which should mean they at least only have to backport hacks once. They also have some vague attempts at mainline support.