That's not something that is unique to video card drivers. It is probably a bigger issue for GPU then other things, because GPUs are still in such a state of flux, but it's still a issue for everybody.My impression was that the DRM developers were following the same rules as everyone else, even though those rules result in a bigger drag on GPU development than on other devices because the hardware evolves so quickly.
Linux kernel has always had a big problem getting driver fixes and improvements out to users in a timely basis. Say a new piece of hardware gets developed, whether it's a video card/wifi/video capture card or whatever. The device gets developed internally for a few months to a year or two and is released to the public. This is usually the first time Linux devs can get their hands on it.
Then they hack together some drivers, get it out to users. Some users are intrepid enough to compile it themselves and test it. If the drivers are exceptionally difficult to compile as modules, like Wifi drivers in the past were, then you have to patch the kernel and this creates additional barriers to end users to test with.
Meanwhile this device is out to market for months now. Windows users enjoyed the use of drivers from the first day it has been released and Linux users are still stuck with compiling code for relative untested drivers. Now the driver developers submit the code to kernel devs. If they are very lucky it will get accepted into the appropriate kernel tree. If they are unlucky it gets rejected outright and they have to go back and re-engineer the driver to suite the kernel developer's aesthetics if they have any hope of getting it merged.
After a rewrite or two then the driver get it's code into a development or staging tree. Depending on the attention of the development tree owner, and issues with other drivers that may share code or touch the same interfaces, the driver may get submitted right away when the Linus merge window opens up, or it may not. It may languish for one or two release cycles after that.
Meanwhile all this time the driver has been unavailable to the vast majority of Linux users. Finally the driver gets into the official tree. it gets accepted and into the vanilla kernel tree.
End users STILL don't have access to it. Most end users still must wait for their distributions to pick up the kernel, play around with it, package it, and then have it work it's way through the distro's own code review and testing process.
So all of this causes huge delays in the chain. For the new device out there it can take anywhere from six months to two years before it really reaches distros.
That sort of thing is a real killer and a very huge and unpleasant side effect of the 'no stable internal ABI' that Linux has. It results in technically better solutions and much better tested code then your typical Windows release gets.
But it's still extremely frustrating for users and driver developers.
There are quite a few subsystems that went those this sort of hell for a long time. SATA support for Linux took years. Wifi support was a far worse nightmare which took a extremely long time to resolve and can still cause problems when new hardware gets released or new standards are created.