Difference between revisions of "Xorg7/MesaLib"
Weibullguy (talk | contribs) (→Required) |
|||
Line 36: | Line 36: | ||
* [[Xorg7/libdrm|libdrm]] >= 2.0.1 | * [[Xorg7/libdrm|libdrm]] >= 2.0.1 | ||
− | Note: Don't remove the source after building MesaLib. It is needed by the | + | '''Note:''' Don't remove the source after building MesaLib. It is needed by the |
Xorg Xserver build. You need to pass the path to the MesaLib source when | Xorg Xserver build. You need to pass the path to the MesaLib source when | ||
building xorg-server, so take note of it. | building xorg-server, so take note of it. | ||
+ | |||
+ | '''Note:''' Executing 'make' in the top of the source tree will provide a list | ||
+ | of supported targets. Several of these are 64-bit targets. Do not use these | ||
+ | on a '''pure''' 64-bit system. The config files for these targets look in | ||
+ | $XORG_PREFIX/lib64 for dependencies. They are really for multilib use and the | ||
+ | regular ''linux'' or ''linux-dri'' target are appropriate for either the pure | ||
+ | 32-bit or pure 64-bit system | ||
==Non-Multilib== | ==Non-Multilib== |
Revision as of 11:52, 1 December 2006
Back to libdrm
Contents
MesaLib
Mesa is an OpenGL compatible 3D library. Three packages are available.
- MesaLib - the main Mesa library source code, drivers and documentation.
- MesaDemos - OpenGL demonstration and test programs. Most of the programs require GLUT.
- MesaGLUT - provides a working libglut.
If you're not interested in running the demos, you'll only need the first package. However, if you choose to install the demos, extract all three tarballs from the same toplevel directory. All three will extract to the Mesa-6.5 directory.
Dependencies
Required
- Xorg Protocol Headers glproto >=1.4.5
- Xorg Libraries
- Xorg Utilities
- libdrm >= 2.0.1
Note: Don't remove the source after building MesaLib. It is needed by the Xorg Xserver build. You need to pass the path to the MesaLib source when building xorg-server, so take note of it.
Note: Executing 'make' in the top of the source tree will provide a list of supported targets. Several of these are 64-bit targets. Do not use these on a pure 64-bit system. The config files for these targets look in $XORG_PREFIX/lib64 for dependencies. They are really for multilib use and the regular linux or linux-dri target are appropriate for either the pure 32-bit or pure 64-bit system
Non-Multilib
Apply the patch and correct some hardcoded paths.
patch -Np1 -i ../mesa-6.5-drop_static_inline.patch && sed -i "s@/usr/X11R6@$XORG_PREFIX@g" $(grep -lr /usr/X11R6 *) && sed -i 's@lib/modules@lib/X11/modules@' src/glx/x11/dri_glx.c && sed -i 's@lib/modules@lib/X11/modules@' src/mesa/drivers/dri/Makefile.template
Fix an error with output redirection if /bin/sh is not the Bash shell on your system:
sed -i 's%>& /dev/null%>/dev/null%' src/mesa/drivers/dri/Makefile.template
Compile the package:
make realclean make linux-dri
Install the binaries and modules.
bin/installmesa ${XORG_PREFIX} && install -d ${XORG_PREFIX}/lib/X11/modules/dri && install -m755 lib/*dri* ${XORG_PREFIX}/lib/X11/modules/dri
If you chose to download and extract the demos, compile them now.
sed -i 's@-l$(GLUT_LIB)@@g' configs/default && cd progs/xdemos && make PROGS='glxinfo glxgears'
Install the demo programs.
install -m755 glxinfo glxgears ${XORG_PREFIX}/bin
Multilib
32Bit
Apply the patch and correct some hardcoded paths.
mv Mesa-6.5 Mesa-6.5-32 patch -Np1 -i ../mesa-6.5-drop_static_inline.patch && sed -i configs/linux-dri* \ -e "s@/usr/X11R6@$XORG_PREFIX@g" \ -e "s/-DHAVE_ALIAS/& -DGLX_USE_TLS/" && sed -i "s@/usr/local@$XORG_PREFIX@g" bin/installmesa && sed -i 's@lib/modules@lib/X11/modules@' src/glx/x11/dri_glx.c && sed -i 's@lib/modules@lib/X11/modules@' src/mesa/drivers/dri/Makefile.template
Fix an error with output redirection if /bin/sh is not the Bash shell on your system:
sed -i 's%>& /dev/null%>/dev/null%' src/mesa/drivers/dri/Makefile.template
Compile the package:
PKG_CONFIG_PATH="${PKG_CONFIG_PATH32}" \ make CC="gcc ${BUILD32}" OPT_FLAGS="${BUILD32}" linux-dri
Install the binaries and modules.
bin/installmesa ${XORG_PREFIX} && install -d ${XORG_PREFIX}/lib/X11/modules/dri && install -m755 lib/*dri* ${XORG_PREFIX}/lib/X11/modules/dri
DEMOS: Only 1 Insatallation needed! If you chose to download and extract the demos, compile them now.
sed -i 's@-l$(GLUT_LIB)@@g' configs/default && cd progs/xdemos && make PROGS='glxinfo glxgears'
Install the demo programs.
install -m755 glxinfo glxgears ${XORG_PREFIX}/bin
N32
64Bit
Apply the patch and correct some hardcoded paths.
mv Mesa-6.5 Mesa-6.5-64 patch -Np1 -i ../mesa-6.5-drop_static_inline.patch && sed -i configs/linux-dri* \ -e "s@/usr/X11R6@${XORG_PREFIX}@g" \ -e "s/-DHAVE_ALIAS/& -DGLX_USE_TLS/" && sed -i bin/installmesa \ -e 's@LIB_DIR=$1/lib@&64@' \ -e 's@LIB_DIR="/usr/local/lib@&64@' \ -e "s@/usr/local@${XORG_PREFIX}@g"
Fix an error with output redirection if /bin/sh is not the Bash shell on your system:
sed -i 's%>& /dev/null%>/dev/null%' src/mesa/drivers/dri/Makefile.template
Compile the package:
PKG_CONFIG_PATH="${PKG_CONFIG_PATH64}" \ make CC="gcc ${BUILD64}" OPT_FLAGS="${BUILD64}" linux-dri-x86-64
Install the binaries and modules.
bin/installmesa ${XORG_PREFIX} && install -d ${XORG_PREFIX}/lib64/X11/modules/dri && install -m755 lib64/*dri* ${XORG_PREFIX}/lib64/X11/modules/dri
DEMOS: Only 1 Installation Needed! If you chose to download and extract the demos, compile them now.
sed -i 's@-l$(GLUT_LIB)@@g' configs/default && cd progs/xdemos && make PROGS='glxinfo glxgears'
Install the demo programs.
install -m755 glxinfo glxgears ${XORG_PREFIX}/bin
Forward to xbitmaps