They're getting better thanks to Valve though. From Valve's linux blog:
miniswrider, I'd just start trying a bunch, lol. Start with libgl1-mesa-glx and if that doesn't work libegl1-mesa-drivers. If that still doesn't work, you could always try compiling the driver from source. Intel provides downloads for the source over here: http://intellinuxgraphics.org/2012Q4.html
I kind of ran into this problem while trying to compile and I am stuck(sorry its long):
toby@ubuntu:~/mesa$ make
Making all in src
make[1]: Entering directory `/home/toby/mesa/src'
Making all in mapi/glapi/gen
make[2]: Entering directory `/home/toby/mesa/src/mapi/glapi/gen'
make[2]: Nothing to be done for `all'.
make[2]: Leaving directory `/home/toby/mesa/src/mapi/glapi/gen'
Making all in mapi/shared-glapi
make[2]: Entering directory `/home/toby/mesa/src/mapi/shared-glapi'
make all-am
make[3]: Entering directory `/home/toby/mesa/src/mapi/shared-glapi'
/bin/mkdir -p ../../../lib
ln -f .libs/libglapi.so.0.0.0 ../../../lib/libglapi.so.0.0.0
ln -sf libglapi.so.0.0.0 ../../../lib/libglapi.so.0
ln -sf libglapi.so.0 ../../../lib/libglapi.so
make[3]: Leaving directory `/home/toby/mesa/src/mapi/shared-glapi'
make[2]: Leaving directory `/home/toby/mesa/src/mapi/shared-glapi'
Making all in mapi/glapi
make[2]: Entering directory `/home/toby/mesa/src/mapi/glapi'
ln -sf .libs/libglapi.a libglapi.a
make[2]: Leaving directory `/home/toby/mesa/src/mapi/glapi'
Making all in glsl
make[2]: Entering directory `/home/toby/mesa/src/glsl'
make all-recursive
make[3]: Entering directory `/home/toby/mesa/src/glsl'
Making all in builtin_compiler
make[4]: Entering directory `/home/toby/mesa/src/glsl/builtin_compiler'
LEX glcpp-lex.c
make[4]: *** [glcpp-lex.c] Error 1
make[4]: Leaving directory `/home/toby/mesa/src/glsl/builtin_compiler'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/toby/mesa/src/glsl'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/toby/mesa/src/glsl'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/toby/mesa/src'
make: *** [all-recursive] Error 1