This entry on the X.Org Wiki isn't brand new, but for those that have yet to see it, there is a development guide to how graphics cards work on this Wiki page
. There was just a trivial update to the guide today and I had then realized it hasn't been mentioned before on Phoronix.
This technical guide is intended for those interested in getting into graphics driver development with Linux / X.Org. The key sections include the video RAM, display control (CRTCs, PLLs, outputs), the 2D engine (solid, blit, Xorg acceleration), 3D engine (overview and buffers), the overlay, hardware sprites, PCI, AGP, PCI Express, and apertures coverage. There are also driver examples by referencing functions within the open-source X.Org drivers.
Beyond the X.Org guide, there's also been other documentation in the past that's been scattered around the web in hopes of easing the process in getting into open-source GPU driver development on Linux. There's also this Radeon driver guide by Alex Deucher
and this DRM development documentation
covering DRI2, KMS (kernel mode-setting), GEM (Graphics Execution Manager), etc.