TTM stack build howto
WARNING : This is not for public consumption yet, don't try this at home unless you understand what you are doing.
Caveats
* Must run with DRM installed.
* XvMC not working yet.
Pre-requisites
* Linux kernel >= 2.6.27. 2.6.26 may work as well.
* Xserver >= 1.4. If you want to run the 3D driver, you'll need at least 1.5.
* pthread-stubs and xorg macros.
Components in install order
(This was tested on a fully updated Fedora 10, Archlinux 2009.08 system, Gos 3.1 Gadgets, and Debian sid / unstable. All binary and devel packages used to compile the openchrome TTM stack can be taken from upstream (the original source) or using your distribution's package manager.)
pthread-stubs
[[!format txt """ git clone git://anongit.freedesktop.org/xcb/pthread-stubs cd pthread-stubs ./autogen.sh --prefix=/usr make install """]]
xorg macros
[[!format txt """ git clone git://anongit.freedesktop.org/xorg/util/macros cd macros ./autogen.sh --prefix=/usr make install """]]
DRM and libdrm
[[!format txt """ git clone git://anongit.freedesktop.org/mesa/drm cd drm git checkout --track -b modesetting-newttm origin/modesetting-newttm ./autogen.sh --prefix=/usr make make install """]]
[[!format txt """
cd linux-core
make LINUXDIR=/lib/modules/uname -r/build DRM_MODULES="openchrome"
mkdir -p /lib/modules/uname -r/updates/kernel/drivers/char/drm
install -m 744 drm.ko /lib/modules/uname -r/updates/kernel/drivers/char/drm
install -m 744 openchrome/openchrome.ko /lib/modules/uname -r/updates/kernel/drivers/char/drm
depmod -ae
"""]]
Link to latest upstream changes : http://cgit.freedesktop.org/mesa/drm/log/?h=modesetting-newttm
libwsbm
[[!format txt """ wget http://cgit.freedesktop.org/mesa/libwsbm/snapshot/libwsbm-375a9b16472031d603fd0d2f3cbea3e1ed9bc6c7.tar.gz tar zxf libwsbm.tar.gz cd libwsbm make make install """]] Link to latest upstream changes : http://cgit.freedesktop.org/mesa/libwsbm/log/
OpenChrome
[[!format txt """ svn co http://svn.openchrome.org/svn/branches/ttm_branch cd ttm_branch ./autogen.sh --prefix=/usr \ --disable-static \ --enable-debug \ --enable-xv-debug make make install """]] Link to latest upstream changes : http://www.openchrome.org/trac/log/branches/ttm_branch
Mesa
xproto and x11proto from upstream is needed: [[!format txt """ git clone git://anongit.freedesktop.org/xorg/proto/xproto git clone git://anongit.freedesktop.org/xorg/proto/x11proto cd xproto ./autogen.sh --prefix=/usr make install cd ../x11proto ./autogen.sh --prefix=/usr make install """]]
[[!format txt """ git clone git://anongit.freedesktop.org/mesa/mesa cd mesa git checkout --track -b openchrome-branch origin/openchrome-branch ./autogen.sh --prefix=/usr --with-dri-drivers=openchrome --disable-glut --disable-gallium make make install """]]
For 64 bit users
When compiling mesa on a 64-bit machine with a 64-bit operating system, you must use the following ./autogen.sh line [[!format txt """ ./autogen.sh --prefix=/usr --libdir=/usr/lib64 --with-dri-drivers=openchrome --disable-glut --disable-gallium """]] Link to latest upstream changes : http://cgit.freedesktop.org/mesa/mesa/log/?h=openchrome-branch
Please note
When compiling mesa, the version string may not change in glxinfo. That is because mesa was installed to /usr/lib/dri rather than /usr/lib/xorg/modules/dri. To fix this if it does not work: [[!format txt """ cd mesa ./autogen.sh --prefix=/usr --with-dri-driverdir=/usr/lib/xorg/modules/dri --with-dri-drivers=openchrome --disable-glut make make install """]]
Todo list
- . Fix EXA problems
- . Get XvMC working again.
- . Merge with trunk to get the latest modesetting / cursor bits.
- . Fix the 2D driver so it will run without DRM
- . Start merging in VIAs Chrome 9 bits into the new DRM.
