Difference between revisions of "Building mesa with dri for fbcon"

From Organic Design wiki
m (libdrm)
m (Mesa)
Line 43: Line 43:
 
cd mesa
 
cd mesa
 
cvs -d:pserver:anonymous@anoncvs.freedesktop.org:/cvs/mesa co Mesa
 
cvs -d:pserver:anonymous@anoncvs.freedesktop.org:/cvs/mesa co Mesa
cd
 
mkdir kernel
 
cd kernel
 
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.16.18.tar.bz2
 
tar xjf linux-2.6.16.18.tar.bz2
 
cd ~/drm/drm/linux-core
 
make LINUXDIR=~/kernel/linux-2.6.18/
 
 
</pre>
 
</pre>
 
All going well you will end up with a bunch of .o files in your ''~/drm/drm/linux-core'' directory.
 
All going well you will end up with a bunch of .o files in your ''~/drm/drm/linux-core'' directory.
Line 62: Line 55:
 
<pre>
 
<pre>
 
make linux-solo
 
make linux-solo
 +
</pre>
 +
==dri==
 +
<pre>
 +
cd
 +
mkdir kernel
 +
cd kernel
 +
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.16.18.tar.bz2
 +
tar xjf linux-2.6.16.18.tar.bz2
 +
cd ~/drm/drm/linux-core
 +
make LINUXDIR=~/kernel/linux-2.6.18/
 
</pre>
 
</pre>
  

Revision as of 00:45, 4 December 2006

You will need

Sources:

  • libdrm-2.2
  • MesaLib-6.5.2
  • Kernel-2.6.16.18

Process

The process requires both kernel space and user space software. You will need the kernel, the DRM/DRI and mesa source trees.

libdrm

These are the user space libs. Here is an example configure script to set some options for sandbox style compilation - where we don't want to install binaries on the host system. This is because we eventually want to cross compile for a target system.

I obtained the DRM source with git.

cd
mkdir drm
cd drm
git clone git://anongit.freedesktop.org/git/mesa/drm

export ROOT=/home/rob/framebuffer/install
cd drm
./configure \
--prefix=$ROOT/usr \
--exec-prefix=$ROOT/usr \
--bindir=$ROOT/usr/bin \
--sbindir=$ROOT/usr/sbin \
--libexecdir=$ROOT/usr/lib \
--sysconfdir=$ROOT/etc \
--datadir=$ROOT/usr/share \
--localstatedir=$ROOT/var \
--mandir=$ROOT/usr/man \
--infodir=$ROOT/usr/info

make install

This create some files in /home/rob/framebuffer/install/usr/lib, and others.

Mesa

cd
mkdir mesa
cd mesa
cvs -d:pserver:anonymous@anoncvs.freedesktop.org:/cvs/mesa co Mesa

All going well you will end up with a bunch of .o files in your ~/drm/drm/linux-core directory.

Now you need to build mesa linking against these .o files.

cd ~/mesa/Mesa-6.5.2
make realclean
sed -ri 's|DRM_SOURCE_PATH.+$|DRM_SOURCE_PATH = $(TOP)/../../drm/drm|' configs/default

We need to edit the config to point to the DRM modules. And make it.

make linux-solo

dri

cd
mkdir kernel
cd kernel
wget http://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.16.18.tar.bz2
tar xjf linux-2.6.16.18.tar.bz2
cd ~/drm/drm/linux-core
make LINUXDIR=~/kernel/linux-2.6.18/

See also