I'm very tired (just got off the road after a couple hours) so I'll respond without quoting.
This status update is to reflect that r300g is pretty much done in terms of structure; nearly all remaining issues are blocker bugs rather than the result of shoddy or incomplete code. I mainly wanted to nuke the individual rows since the GalliumStatus page has those already, and in greater detail.
As far as I know, nobody, including myself, has started work on r600g. The current code should permit software passthrough without modification, provided that one is running the r600 KMS/CS kernel, but I have not actually verified it so it is listed as incomplete.
Gallium requires shaderful cards. r100g is impossible, r200g could happen if somebody writes the shader->FF auxiliary code required. (I wouldn't recommend it.)
r600g required KMS, GEM/TTM, and CS, just like r300g. (DRI2 only; I didn't want to bend backwards to support old, fail interfaces.) Now that the r600 KMS/CS code is there, and nearly stable, the biggest blocker is that I'm waiting for the cash to send away to Newegg for a PCIe motherboard to replace my old fried one. Then away we'll go, to the land of Gallium.
Dave, Nicolai, and I, talked about NPOT. In a nutshell, we can do rectangles but not NPOT, which technically means that full HW-accelerated GL 2.0 is not possible on r500. So, why does fglrx advertise it anyway? Simple. fglrx lies and advertises GL 2.0 (for the GLSL entrypoints) without actually advertising the NPOT extension. Bad fglrx, bad. Jakob and I are thinking that we'll either write out fallbacks in the state tracker, or we'll just lie like fglrx. One of the two.
i965g was nuked because it never actually worked. It never actually ran on real hardware, and was broken badly. Removing it helps people understand this, and paves the way for an eventual, non-suck i965g driver.
I think that's everything. Thanks for the questions, time for sleep now. :3