If you use Gentoo amd64 and the Intel/Radeon/Nouveau Open Source graphic drivers you already know the problem: x86_64 drivers from git (like media-libs/mesa-9999 from the x11 overlay) are bleeding edge and fast, while the 32 bit ones from app-emulation/emul-linux-x86 are outdated and slow. This is especially sad considering the most demanding games are the Windows ones you can play through wine and they are 32 bit.
Gentoo’s official way to deal with such a problem is the multilib overlay, unfortunately it’s badly broken and anyway having to recompile half the system just because of mesa is simply crazy. Thanks to Mike Lothian this isn’t a problem anymore: there is an unofficial overlay which lets you compile 32bit mesa directly from portage, without using a chroot or the multilib overlay. He simply tuned the live ebuils from the x11 overlay adding -m32 when needed and so on. As simple as effective. Unfortunately using such an approach you have to keep in sync the ebuilds, also they install on top of the regular emul-linux-x86 packages overwriting the existing libs and forcing to put COLLISION_IGNORE=”/usr/lib32 /lib32″ in your make.conf
This isn’t an issue anymore because he modified the emul-linux-x86 packages to avoid installing the graphic libraries, such a way the 32bit ebuilds don’t need to overwrite anything and you don’t need COLLISION_IGNORE anymore! Again, as simple as effective but no one else did it so thanks Mike!
Using Mike’s FireBurn overlay is very easy, first of all you will have to add it:
layman -a FireBurn
Then you will have to unmask some packages:
echo “media-libs/mesa-32bit” >> /etc/portage/package.keywords
echo “sys-devel/llvm-32bit” >> /etc/portage/package.keywords
echo “x11-libs/libdrm-32bit” >> /etc/portage/package.keywords
echo “dev-libs/libffi-32bit” >> /etc/portage/package.keywords
echo “x11-libs/libX11-32bit” >> /etc/portage/package.keywords
echo “app-emulation/emul-linux-x86-xlibs” >> /etc/portage/package.keywords
echo “app-emulation/emul-linux-x86-opengl” >> /etc/portage/package.keywords
finally you can emerge mesa-32bit:
emerge -av mesa-32bit mesa-progs-32bit
And here it is:
~ $ glxinfo32 | grep OpenGL
OpenGL vendor string: Tungsten Graphics, Inc
OpenGL renderer string: Mesa DRI Mobile Intel® GM45 Express Chipset
OpenGL version string: 2.1 Mesa 8.1-devel (git-6404095)
OpenGL shading language version string: 1.20
OpenGL extensions:

Thanks for the article – I hope people find my overlay useful
You’re welcome, keep up the good work