It would almost be worth while avoiding looking at the propitiatory drivers.
From a practicality point of view in android for instance. The driver model
can be a little complicated in some of these cases as they work across
multiple layers of the OS, not because they have to but because the
developers just choose to do it as quick as possible.
There is also the legal issues of using the original proprietary code as a
basis to make these things work. Like the recent leak of the PowerVR source
code, having new code based even off the concept of it's functionality can
get you in potential legal troubles.
It is a really awful situation to be as it means the hardware vendors
essentially are trying to push you onto proprietary software or at the very
least force reverse engineers to build their software in an entirely
different and potentially worse fashion.