I have received my new ThinkPad T400 and installed Ubuntu Intrepid on it. Everything works fine straight out of the box, but Compiz refused to run a dual-head setup on the integrated Intel graphics. It reported the following:
Comparing resolution (3120x1050) to maximum 3D texture size (2048): Failed.
I’ve done a little research and found out that the graphics driver supports a maximum supported texture size of 2048×2048, which is false for the i965 chipset, which is natively capable of 8192×8192. The Mesa DRI driver caused the problem and needed a minimal patching, as described here, except that there is no need to patch xserver-xorg-video-intel on Intrepid. Here is a step-by-step guide for Ubuntu Intrepid:
- apt-get source mesa-common-dev
- sudo apt-get build-dep mesa-common-dev
- sudo apt-get install fakeroot
- cd mesa-7.2/src/mesa/drivers/dri/i965
- Now edit the file brw_context.c according to this patch:
diff --git a/src/mesa/drivers/dri/i965/brw_context.c b/src/mesa/drivers/dri/i965/brw_c!
index 1601f6d..c06f5da 100644
@@ -138,10 +138,10 @@ GLboolean brwCreateContext( const __GLcontextModes *mesaVis,
/* Advertise the full hardware capabilities. The new memory
* manager should cope much better with overload situations:
- ctx->Const.MaxTextureLevels = 12;
+ ctx->Const.MaxTextureLevels = 13;
ctx->Const.Max3DTextureLevels = 9;
ctx->Const.MaxCubeTextureLevels = 12;
- ctx->Const.MaxTextureRectSize = (1<<11);
+ ctx->Const.MaxTextureRectSize = (1<<12);
- Get back to the root of the mesa-7.2 directory
- Edit debian/changelog. Just duplicate the last entry and modify its version number to a higher one, to make sure your package will not be overwritten.
- Run dpkg-buildpackage -rfakeroot -uc -b in mesa-7.2 directory
- cd .. – get one dir level up
- In this directory you should see a bunch of *.deb files. Don’t install all of these! Pick onle those that you already have installed on your system. To find it out, run dpkg -l | grep mesa
You should be done by now. If you have problems, just leave a comment!