I think some of the arguments made by Linus and co. was that the hardware interfaces should just be more standardized. A pipe dream for sure, but it would certainly solve a lot of the problems.
A further problem is a lack of conformance tests. This is the same flaw OpenGL suffers from, and is the primary reason why nobody in their right mind uses OpenGL unless they're forced to (e.g. because they're targetting non-Windows OSes, none of which have bothered to replace OpenGL with something not designed by amateur C hackers in the 1980's).