Building Gallium3D
basic research
setup Ubuntu Lucid (10.04) x64
sudo apt-get mesa-utils
glxinfo | grep -i render
sudo add-apt-repository ppa:xorg-edgers/drivers-only
Brian Paul at vmware
Gallium llvmpipe is what we need and a kernel driver called vmwgfx driver
vmwgfx
The vmwgfx kernel driver source can be found at: http://cgit.freedesktop.org/mesa/vmwgfx/commit/ direct download link sources: http://cgit.freedesktop.org/mesa/vmwgfx/snapshot/vmwgfx-master.tar.gz
In order to built the kernel module you'll need to have the kernel headers installed. No Configure step is needed. Just run:
make make install
The install doesn't appear to copy the kernel module into the kernel driver tree for whatever reason, so copy by hand:
cp vmwgfx.ko /lib/modules/2.6.33-020633-generic/kernel/drivers/gpu/drm/vmwgfx
(create the vmwgfx subfolder first)
Doesn't work either....
Restarting X server > Right Alt + Print Screen + k instead of Ctrl + Alt + Backspace
Mesa
Gallium3D is part of the mesa drivers The mesa drivers can be found at: http://cgit.freedesktop.org/mesa/mesa/commit/ and a direct download link for the source:
http://cgit.freedesktop.org/mesa/mesa/snapshot/mesa-master.tar.gz
http://www.x.org/wiki/radeonBuildHowTo
# cd xf86-video-radeonhd/ # ./autogen.sh --prefix=/usr # make # make install
This should install the RadeonHD driver for you. Please note that it might be nontrivial to completely uninstall the driver now.
Also note that you can also drop off the --prefix=/usr part so the driver will be installed to /usr/local. You should at this point find out which path your X downloads its modules from. The next will prepend module search directory under /usr/local before the one which in many computers is the default X.org module path. Not that this can cause your X not to start if main module path is changed for some reason so don't forget this setting's existence. The second path needs to be the real X.org module path.
File: /etc/X11/xorg.conf Section "Files" ModulePath "/usr/local/lib/xorg/modules,/usr/lib/xorg/modules" EndSection
mesa build requirements
sudo apt-get install build-essentials automake autoconf xserver-xorg-dev libdrm-dev x11proto-gl-dev libxfixes-dev x11proto-fixes-dev mesa-common-dev libosmesa-dev libxext-dev libxdamage-dev libxxf86vm-dev expat libexpat1-dev libxt-dev libxmu-dev libxi-dev llvm-dev
./autogen.sh --enable-gallium-llvm --prefix=/opt/xorg ./autogen.sh --enable-gallium-llvm --with-driver=xlib --prefix=/opt/xorg ./autogen.sh --with-driver=osmesa --prefix=/opt/xorg
./autogen.sh --prefix=/opt/xorg
Now without gallium-llvm (this is the only one that compiles OK)
./autogen.sh --with-driver=xlib --prefix=/opt/xorg
External links
LLVMpipe: OpenGL With Gallium3D on Your CPU
Gallium3D's LLVMpipe Software Rasterizer Is Kicking
VMware Goes For Mainline Inclusion Of Its DRM