Building Gallium3D

From VI-Toolkit
Jump to navigation Jump to search

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.khattam.info/2010/02/06/installing-kernel-2-6-33-to-lucid-lynx-ubuntu-10-04-without-compiling/

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

LLVMpipe Doesn't Yet Like The GNOME Shell

http://vmware-svga.sourceforge.net/