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.