The solution to this problem is going to be a couple of things:
1) Allocate fewer buffers.
- If you're using GEM, you don't need the 32MB classic textures area.
- If you're using DRI2, you don't need the static front/back/depth buffers.
- If you're using UXA, you don't need the giant EXA pixmaps area.
2) Dynamically allocate front buffers so that people don't have to use xorg.conf to work around static limits.
We're going to require at least GEM and UXA for this, though likely DRI2 as well.
There are things that could be done between now and then to ease the pain (like tune down the exa pixmaps area), but I'd rather be spending time getting to GEM+DRI2+UXA everywhere.