Difference between revisions of "Xorg7/MesaLib"
Weibullguy (talk | contribs) (Versioning template.) |
Weibullguy (talk | contribs) (Edited to conform to template.) |
||
Line 17: | Line 17: | ||
Back to [[Xorg7/libdrm|libdrm]] | Back to [[Xorg7/libdrm|libdrm]] | ||
− | = | + | = Introduction to Mesa = |
Mesa is an OpenGL compatible 3D library. Three packages are available. | Mesa is an OpenGL compatible 3D library. Three packages are available. | ||
Line 27: | Line 27: | ||
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-{{Mesa-Version}} directory. | 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-{{Mesa-Version}} directory. | ||
− | + | <b>Homepage:</b> http://www.mesa3d.org/ | |
− | ===Required | + | = Dependencies = |
+ | |||
+ | == Required == | ||
* Xorg [[Xorg7/Protocol_Headers|Protocol Headers]] glproto >=1.4.5 | * Xorg [[Xorg7/Protocol_Headers|Protocol Headers]] glproto >=1.4.5 | ||
Line 36: | Line 38: | ||
* [[Xorg7/libdrm|libdrm]] | * [[Xorg7/libdrm|libdrm]] | ||
− | + | <b>Note:</b> 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. | ||
− | + | <b>Note:</b> 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 | 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 | on a '''pure''' 64-bit system. The config files for these targets look in | ||
Line 47: | Line 49: | ||
32-bit or pure 64-bit system | 32-bit or pure 64-bit system | ||
− | + | = Non-Multilib = | |
Apply the patch and correct some hardcoded paths. | Apply the patch and correct some hardcoded paths. | ||
Line 81: | Line 83: | ||
install -m755 glxinfo glxgears ${XORG_PREFIX}/bin | install -m755 glxinfo glxgears ${XORG_PREFIX}/bin | ||
− | + | = Multilib = | |
− | + | == 32Bit == | |
Apply the patch and correct some hardcoded paths. | Apply the patch and correct some hardcoded paths. | ||
Line 122: | Line 124: | ||
install -m755 glxinfo glxgears ${XORG_PREFIX}/bin | install -m755 glxinfo glxgears ${XORG_PREFIX}/bin | ||
− | + | == N32 == | |
To do. | To do. | ||
− | + | == 64Bit == | |
Apply the patch and correct some hardcoded paths. | Apply the patch and correct some hardcoded paths. | ||
Line 166: | Line 168: | ||
Forward to [[Xorg7/xbitmaps|xbitmaps]] | Forward to [[Xorg7/xbitmaps|xbitmaps]] | ||
+ | |||
+ | = Contents = | ||
+ | |||
+ | == Short Description == |
Revision as of 13:40, 20 December 2006
Back to libdrm
Contents
Introduction to Mesa
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-7.9 directory.
Homepage: http://www.mesa3d.org/
Dependencies
Required
- Xorg Protocol Headers glproto >=1.4.5
- Xorg Libraries
- Xorg Utilities
- libdrm
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-7.9-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-7.9 Mesa-7.9-32 patch -Np1 -i ../mesa-7.9-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 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
N32
To do.
64Bit
Apply the patch and correct some hardcoded paths.
mv Mesa-7.9 Mesa-7.9-64 patch -Np1 -i ../mesa-7.9-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