hrm.
I know that GMA 900 support will be in 6.8.2.. not sure about GMA950, but the difference between the chipsets are very minimal. Also kernel 2.6.12.x has drm support for 915.
Note that this comes from my experiances with Debian.
If you feel like getting adventerous you can try checking out the drivers from
http://dri.freedesktop.org/wiki/
If you install the updated drivers and upgrade to kernel 2.6.12.x you should be able to get full, or at least better support for your hardware.
For the drivers from dri and such make sure that your system is completely up to date before installing them. They will overwrite some files provided by the package management. If you upgrade the X.org stuff you may end up with some of your specially installed files being written over.. then you just have to update your cvs snapshot and reinstall.
The hard part is figuring it out the first time, after that and you've done it a couple times then it's pretty simple.
For the kernel see if Ubuntu has a 2.6.12 series kernel aviable for you to download and install, this is the easiest way. You can install the kernel in the generic way with the make install stuff, but Debian has some clever ways to make a custom kernel package and keep track of it thru normal package management.
If you want to build your own kernel the easiest way to do the config is copy the old config that your distro currently to /usr/src/linux-blahlbah/.config in your linux kernel source tree and run 'make clean && make oldconfig' command.
This will configure the kernel sources to match as closely as possible to the current kernel configuration, then you can go into there and run 'make menuconfig' to more easily customize the kernel and any new features that you want. To backup your custom config then you can use the one provided by the make menu stuff or copy the updated .config out of your kernel source tree.
It's easiest to try to match the original configuration (except for the changes you want, of course) provided by your distro since various tools and init scripts will expect to be able to use certain modules and such. There are nice things like "module-assistant" that are provided to install and maintain non-kernel defualt included drivers.
If you want to build a custom deb kernel package check out "kernel compiling" section at
http://newbiedoc.sourceforge.net/ (newbie information for debian)
If you compile it and install it the generic linux way (or if the automated tools fail to do it), then you still may want to have a initrd image aviable for when you boot up and such. (since usually stuff like file system support is compiled as modules by default, although you can change that). The command would be something like:
mkinitrd -o /boot/initrd-2.6.12.whatever 2.6.12.whatever
(mkinitrd -o /path/to/initrdname kernel-version)
Note that you have to use absolute paths from / otherwise the mkinitrd script will goof up.
I am almost certain that CVS from DRI has support for GMA950.. I know that GMA900 will be supported by the next X.org release.. it unfortunately barely missed inclusion into the current version that Ubuntu uses.
I've had a intel 845gm-based laptop in the past and have install DRI cvs drivers for that. They provided increase in performance and stability (and that was a while ago), so I am working off of that information. But I don't expect that GMA9x0 will be that much different.
Here is the Linux graphics support page for intel,
http://support.intel.com/support/graphics/sb/CS-010512.htm
Keep in mind, however, that it's very redhat-specific (like for example telling /etc/inittab to use runlevel 3 by default will turn off the graphical login stuff to make installing X drivers easier) and the driver itself is just a snapshot from dri sources.
Also I think that updating the kernel is not strictly nessicary for full support.. I think the cvs snapshots will have the code for compiling kernel DRM modules in them. But I think updating the kernel is a good idea.
here is the basic instructions for building dri support from cvs:
http://dri.freedesktop.org/wiki/Building
It's a bit of a pain in the rear and you may have to install a few extra -dev packages from ubuntu to get everything compiled properly and whatnot. But you wanted to learn some nitty-gritty detail stuff and this is about as nitty-gritty as it gets.
edit:
maybe you just have to update the kernel and use the 810 drivers with the 915_drm kernel module. Not sure. (unfortunately I don't have one of these motherboards to play around with myself.

)