Difference between revisions of "Building mesa with dri for fbcon"
m (→libdrm) |
m |
||
(8 intermediate revisions by one other user not shown) | |||
Line 5: | Line 5: | ||
*MesaLib-6.5.2 | *MesaLib-6.5.2 | ||
*Kernel-2.6.16.18 | *Kernel-2.6.16.18 | ||
+ | *libegl? | ||
+ | |||
=Process= | =Process= | ||
The process requires both kernel space and user space software. You will need the kernel, the DRM/DRI and mesa source trees. | The process requires both kernel space and user space software. You will need the kernel, the DRM/DRI and mesa source trees. | ||
Line 43: | Line 45: | ||
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 | ||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
− | |||
</pre> | </pre> | ||
+ | |||
+ | Need to patch the config file to make it install things in our ''install'' directory | ||
+ | <pre> | ||
+ | cd Mesa | ||
+ | export OD_INSTALL='/home/rob/framebuffer/install' | ||
+ | export PKG_CONFIG_PATH="$OD_INSTALL/usr/lib/pkgconfig" | ||
+ | sed -ri "s|INSTALL_DIR = .*$|INSTALL_DIR = $OD_INSTALL|" configs/default | ||
+ | sed -ri "s|DRI_DRIVER_INSTALL_DIR = .*$|DRI_DRIVER_INSTALL_DIR = $OD_INSTALL" configs/default | ||
+ | sed -ri "s|DRM_SOURCE_PATH=.*$|DRM_SOURCE_PATH = $OD_INSTALL/../drm|" configs/default | ||
+ | make realclean | ||
+ | </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 56: | Line 63: | ||
<pre> | <pre> | ||
cd ~/mesa/Mesa-6.5.2 | cd ~/mesa/Mesa-6.5.2 | ||
− | + | ||
− | |||
</pre> | </pre> | ||
We need to edit the config to point to the DRM modules. And make it. | We need to edit the config to point to the DRM modules. And make it. | ||
<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> | ||
Latest revision as of 08:17, 4 December 2006
You will need
Sources:
- libdrm-2.2
- MesaLib-6.5.2
- Kernel-2.6.16.18
- libegl?
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
Need to patch the config file to make it install things in our install directory
cd Mesa export OD_INSTALL='/home/rob/framebuffer/install' export PKG_CONFIG_PATH="$OD_INSTALL/usr/lib/pkgconfig" sed -ri "s|INSTALL_DIR = .*$|INSTALL_DIR = $OD_INSTALL|" configs/default sed -ri "s|DRI_DRIVER_INSTALL_DIR = .*$|DRI_DRIVER_INSTALL_DIR = $OD_INSTALL" configs/default sed -ri "s|DRM_SOURCE_PATH=.*$|DRM_SOURCE_PATH = $OD_INSTALL/../drm|" configs/default make realclean
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
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/