# $Id$ PNAME="mesa" PVER="17.3.8" PBUILD="r1" SPLIT_PACKAGES="mesa mesa-xa-tracker" PCAT="media-libs" HOMEPAGE="http://mesa3d.sourceforge.net/" # hardcoded llvm version for libxatracker LLVM_PVER="6.0.0" MESA_DEPEND=">= dev-libs/expat-2.1 >= dev-libs/libffi-3.2 >= x11-libs/libX11-1.6 >= x11-libs/libXext-1.3 >= x11-libs/libXxf86vm-1.1 >= x11-libs/libXi-1.7 >= x11-libs/libXmu-1.1 >= x11-libs/libdrm-2.4.89 >= x11-libs/libICE-1 >= x11-base/opengl-update-2.3 >= x11-libs/libxcb-1.11 >= x11-libs/libXfixes-5 >= x11-libs/libXdamage-1 >= x11-libs/libvdpau-1.1 >= x11-libs/libva-1.8 >= x11-libs/libXvMC-1 >= x11-libs/libxshmfence-1.1 >= sys-libs/libstdc++-6.3 >= sys-fs/udev-233 >= sys-libs/libelf-0.170" XA_TRACKER_DEPEND=">= sys-libs/llvm-libs-${LLVM_PVER}" SDEPEND="${MESA_DEPEND} ${XA_TRACKER_DEPEND} >= dev-util/pkgconfig-0.25 >= x11-misc/makedepend-1 >= x11-libs/libXxf86vm-1.1 >= x11-proto/glproto-1.4.17 >= x11-proto/xf86driproto-2.1 >= x11-proto/dri2proto-2.8 >= x11-proto/dri3proto-1 >= x11-proto/presentproto-1.0 >= dev-lang/python-2.7 >= sys-dev/llvm-${LLVM_PVER}" # must be set before the include of multilib! EMUL_LINUX_32=true sminclude multilib xorg mtools mbuild cleanutils msetfeature "!check" # must be set *after* the include of xorg! SRCFILE="${PNAME}-${PVER/_/-}.tar.xz" # libs SRCDIR SRCDIR="${BUILDDIR}/${PNAME}-${PVER/_/-}" # known drivers: # dri: dri-swrast,dri-i915,dri-i965,dri-r200,dri-radeon,dri-i810,dri-mach64,dri-mga, # dri-r128,dri-r300,dri-r600,dri-savage,dri-sis,dri-tdfx,dri-unichrome # gallium: gallium-i915,gallium-i965,gallium-r300,gallium-r600,gallium-vmwgfx,gallium-swrast,gallium-nouveau, gallium-radeonsi MESA_DRIVERS="dri-swrast,dri-i915,dri-i965,dri-r200,dri-radeon,dri-nouveau" MESA_DRIVERS+="," MESA_DRIVERS+="gallium-i915,gallium-nouveau,gallium-r300,gallium-r600,gallium-radeonsi,gallium-vmwgfx,gallium-swrast" # helper functions driver_enabled() { local driver="$1" if [[ ${MESA_DRIVERS//${driver}} != ${MESA_DRIVERS} ]] then return 0 else return 1 fi } add_dri_driver() { local driver="$1" if [[ -z ${MESA_DRI_DRIVERS} ]] then MESA_DRI_DRIVERS="${driver}" elif [[ ${MESA_DRI_DRIVERS//${driver}} = ${MESA_DRI_DRIVERS} ]] then MESA_DRI_DRIVERS+=",${driver}" fi } add_gallium_driver() { local driver="$1" if [[ -z ${MESA_GALLIUM_DRIVERS} ]] then MESA_GALLIUM_DRIVERS="${driver}" elif [[ ${MESA_GALLIUM_DRIVERS//${driver}} = ${MESA_GALLIUM_DRIVERS} ]] then MESA_GALLIUM_DRIVERS+=",${driver}" fi } install_dri_driver() { local driver="$1" local dri_drivers local i case ${driver} in nouveau) dri_drivers="nouveau_vieux_dri.so" ;; *) dri_drivers="${driver}_dri.so" ;; esac # glapi install required beforehand mmake -C src/mapi DESTDIR=${BINDIR} install || die mmake -C src/mesa/drivers/dri DESTDIR=${BINDIR} install || die zapmost ${BINDIR} \ $(for i in ${dri_drivers}; do echo "usr/$(mlibdir)/dri/${i}"; done) \ $([[ $(mlibdir) != lib ]] && for i in ${dri_drivers}; do echo "usr/lib/dri/${i}"; done) \ || die } install_gallium_driver() { local driver="$1" local dri_drivers case ${driver} in # honor kms-swrast swrast) dri_drivers="swrast_dri.so kms_swrast_dri.so" ;; *) dri_drivers="${driver}_dri.so" ;; esac # glapi install required beforehand mmake -C src/mapi DESTDIR=${BINDIR} install || die mmake -C src/gallium/targets/dri DESTDIR=${BINDIR} install || die zapmost ${BINDIR} \ $(for i in ${dri_drivers}; do echo "usr/$(mlibdir)/dri/${i}"; done) \ $([[ $(mlibdir) != lib ]] && for i in ${dri_drivers}; do echo "usr/lib/dri/${i}"; done) \ || die } install_gallium_pipe_driver() { local driver="$1" # prereq - libllvmradeon${PVER}.so is needed to link the pipes mmake -C src/gallium/drivers/radeon DESTDIR=${BINDIR} install || die mmake -C src/gallium/targets/pipe-loader DESTDIR=${BINDIR} install || die zapmost ${BINDIR}/usr/$(mlibdir)/gallium-pipe pipe_${driver}.so || die if [[ $(mlibdir) != lib ]] then zapmost ${BINDIR}/usr/lib/gallium-pipe pipe_${driver}.so || die fi # remove prereq libs mmake -C src/gallium/drivers/radeon DESTDIR=${BINDIR} uninstall || die } install_gallium_vdpau_driver() { local driver="$1" mmake -C src/gallium/targets/vdpau DESTDIR=${BINDIR} install || die zapmost ${BINDIR}/usr/$(mlibdir)/vdpau libvdpau_${driver}.* || die if [[ $(mlibdir) != lib ]] then zapmost ${BINDIR}/usr/lib/vdpau libvdpau_${driver}.* || die fi } # setup_dynamic_dri $impl # impl may be classic or gallium atm setup_dynamic_dri() { local impl="$1" local i local abi [[ -z ${impl} ]] && die "missing dri implementation!" case ${impl} in classic|gallium) ;; *) die "unkown dri implementation '${impl}'!" ;; esac echo "settin up dynamic dri for a '${impl} implementation..." if [[ -z ${MULTILIB_ABIS} ]] then minstalldir /usr/$(mlibdir)/mesa/${impl} || die for i in ${BINDIR}/usr/$(mlibdir)/dri/*_dri.so do echo -n " processing ${i}:" if [ -f ${i} -o -L ${i} ] then echo -n " moving" mv -vf ${i} ${BINDIR}/usr/$(mlibdir)/mesa/${impl} || die "moving ${i}" fi done else for abi in ${MULTILIB_ABIS} do [[ ${abi} = m32 ]] && ABI_LIBDIR="lib" [[ ${abi} = m64 ]] && ABI_LIBDIR="lib64" minstalldir /usr/$(mlibdir)/mesa/${impl} || die for i in ${BINDIR}/usr/$(mlibdir)/dri/*_dri.so do echo -n " processing ${i}" if [ -f ${i} -o -L ${i} ] then echo -n " moving" mv -vf ${i} ${BINDIR}/usr/$(mlibdir)/mesa/${impl} || die "moving ${i}" fi echo " done" done done fi } SRC_URI=( ftp://ftp.freedesktop.org/pub/mesa/${PVER%_*}/${SRCFILE} ftp://ftp.freedesktop.org/pub/mesa/${SRCFILE} mirror://${PNAME}/${SRCFILE} ) UP2DATE="updatecmd ftp://ftp.freedesktop.org/pub/mesa/ | highesttarball xz" #UP2DATE="updatecmd ftp://ftp.freedesktop.org/pub/mesa/ | grep '/[0-9].*' | sed 's:.*/\(.*\)/:\1:' | upsort_pipe" split_info_mesa() { DESCRIPTION="Mesa3D OpenGL graphics library." DEPEND="${MESA_DEPEND}" PROVIDE="virtual/opengl" } split_info_mesa-xa-tracker() { DESCRIPTION="Mesa XA state tracker." DEPEND="== media-libs/mesa-${PVER} ${XA_TRACKER_DEPEND}" } if driver_enabled dri-swrast then SPLIT_PACKAGES+=" mesa-dri-swrast" add_dri_driver swrast split_info_mesa-dri-swrast() { DESCRIPTION="Mesa Software Raster DRI driver." DEPEND="== ${PCAT}/mesa-${PVER}" } fi if driver_enabled dri-i810 then SPLIT_PACKAGES+=" mesa-dri-i810" add_dri_driver i810 split_info_mesa-dri-i810() { DESCRIPTION="Mesa Intel i810 DRI driver." DEPEND="== ${PCAT}/mesa-${PVER}" } fi if driver_enabled dri-i915 then SPLIT_PACKAGES+=" mesa-dri-i915" add_dri_driver i915 split_info_mesa-dri-i915() { DESCRIPTION="Mesa Intel i915 DRI driver." DEPEND="== ${PCAT}/mesa-${PVER}" } fi if driver_enabled dri-i965 then SPLIT_PACKAGES+=" mesa-dri-i965" add_dri_driver i965 split_info_mesa-dri-i965() { DESCRIPTION="Mesa Intel i965 DRI driver." DEPEND="== ${PCAT}/mesa-${PVER}" } fi if driver_enabled dri-mach64 then SPLIT_PACKAGES+=" mesa-dri-mach64" add_dri_driver mach64 split_info_mesa-dri-mach64() { DESCRIPTION="Mesa ATI mach64 DRI driver." DEPEND="== ${PCAT}/mesa-${PVER}" } fi if driver_enabled dri-mga then SPLIT_PACKAGES+=" mesa-dri-mga" add_dri_driver mga split_info_mesa-dri-mga() { DESCRIPTION="Mesa Matrox mga DRI driver." DEPEND="== ${PCAT}/mesa-${PVER}" } fi if driver_enabled dri-nouveau then SPLIT_PACKAGES+=" mesa-dri-nouveau" add_dri_driver nouveau split_info_mesa-dri-nouveau() { DESCRIPTION="Mesa Nvidia Nouveau DRI driver." DEPEND="== ${PCAT}/mesa-${PVER}" } fi if driver_enabled dri-r128 then SPLIT_PACKAGES+=" mesa-dri-r128" add_dri_driver r128 split_info_mesa-dri-r128() { DESCRIPTION="Mesa ATI Rage128 DRI driver." DEPEND="== ${PCAT}/mesa-${PVER}" } fi if driver_enabled dri-r200 then SPLIT_PACKAGES+=" mesa-dri-r200" add_dri_driver r200 split_info_mesa-dri-r200() { DESCRIPTION="Mesa ATI Radeon r200 DRI driver." DEPEND="== ${PCAT}/mesa-${PVER}" } fi if driver_enabled dri-r300 then SPLIT_PACKAGES+=" mesa-dri-r300" add_dri_driver r300 split_info_mesa-dri-r300() { DESCRIPTION="Mesa ATI Radeon r300 DRI driver." DEPEND="== ${PCAT}/mesa-${PVER}" } fi if driver_enabled dri-r600 then SPLIT_PACKAGES+=" mesa-dri-r600" add_dri_driver r600 split_info_mesa-dri-r600() { DESCRIPTION="Mesa ATI Radeon r600 DRI driver." DEPEND="== ${PCAT}/mesa-${PVER}" } fi if driver_enabled dri-radeon then SPLIT_PACKAGES+=" mesa-dri-radeon" add_dri_driver radeon split_info_mesa-dri-radeon() { DESCRIPTION="Mesa ATI Radeon generic DRI driver." DEPEND="== ${PCAT}/mesa-${PVER}" } fi if driver_enabled dri-savage then SPLIT_PACKAGES+=" mesa-dri-savage" add_dri_driver savage split_info_mesa-dri-savage() { DESCRIPTION="Mesa S3 Savage DRI driver." DEPEND="== ${PCAT}/mesa-${PVER}" } fi if driver_enabled dri-sis then SPLIT_PACKAGES+=" mesa-dri-sis" add_dri_driver sis split_info_mesa-dri-sis() { DESCRIPTION="Mesa SIS generic DRI driver." DEPEND="== ${PCAT}/mesa-${PVER}" } fi if driver_enabled dri-tdfx then SPLIT_PACKAGES+=" mesa-dri-tdfx" add_dri_driver tdfx split_info_mesa-dri-tdfx() { DESCRIPTION="Mesa 3DFX Voodoo DRI driver." DEPEND="== ${PCAT}/mesa-${PVER}" } fi if driver_enabled dri-unichrome then SPLIT_PACKAGES+=" mesa-dri-unichrome" add_dri_driver unichrome split_info_mesa-dri-unichrome() { DESCRIPTION="Mesa VIA Chrome DRI driver." DEPEND="== ${PCAT}/mesa-${PVER}" } fi if driver_enabled gallium-i915 then SPLIT_PACKAGES+=" mesa-gallium-i915" add_gallium_driver i915 split_info_mesa-gallium-i915() { DESCRIPTION="Mesa Intel i915 Gallium driver." DEPEND="== ${PCAT}/mesa-${PVER} == ${PCAT}/mesa-xa-tracker-${PVER}" } fi if driver_enabled gallium-i965 then SPLIT_PACKAGES+=" mesa-gallium-i965" add_gallium_driver i965 split_info_mesa-gallium-i965() { DESCRIPTION="Mesa Intel i965 Gallium driver." DEPEND="== ${PCAT}/mesa-${PVER} == ${PCAT}/mesa-xa-tracker-${PVER}" } fi if driver_enabled gallium-nouveau then SPLIT_PACKAGES+=" mesa-gallium-nouveau" add_gallium_driver nouveau split_info_mesa-gallium-nouveau() { DESCRIPTION="Mesa Nvidia Nouveau Gallium driver." DEPEND="== ${PCAT}/mesa-${PVER} == ${PCAT}/mesa-xa-tracker-${PVER}" } fi if driver_enabled gallium-r300 then SPLIT_PACKAGES+=" mesa-gallium-r300" add_gallium_driver r300 split_info_mesa-gallium-r300() { DESCRIPTION="Mesa Ati Radeon r300 Gallium driver." DEPEND="== ${PCAT}/mesa-${PVER} == ${PCAT}/mesa-xa-tracker-${PVER}" } fi if driver_enabled gallium-r600 then SPLIT_PACKAGES+=" mesa-gallium-r600" add_gallium_driver r600 split_info_mesa-gallium-r600() { DESCRIPTION="Mesa Ati Radeon r600 Gallium driver." DEPEND="== ${PCAT}/mesa-${PVER} == ${PCAT}/mesa-xa-tracker-${PVER}" } fi if driver_enabled gallium-radeonsi then SPLIT_PACKAGES+=" mesa-gallium-radeonsi" add_gallium_driver radeonsi split_info_mesa-gallium-radeonsi() { DESCRIPTION="Mesa Ati Radeon radeonsi Gallium driver." DEPEND="== ${PCAT}/mesa-${PVER} == ${PCAT}/mesa-xa-tracker-${PVER}" } fi if driver_enabled gallium-swrast then SPLIT_PACKAGES+=" mesa-gallium-swrast" add_gallium_driver swrast split_info_mesa-gallium-swrast() { DESCRIPTION="Mesa Software Raster Gallium driver." DEPEND="== ${PCAT}/mesa-${PVER} == ${PCAT}/mesa-xa-tracker-${PVER}" } fi if driver_enabled gallium-vmwgfx then SPLIT_PACKAGES+=" mesa-gallium-vmwgfx" add_gallium_driver svga split_info_mesa-gallium-vmwgfx() { DESCRIPTION="Mesa Vmware generic Gallium driver." DEPEND="== ${PCAT}/mesa-${PVER} == ${PCAT}/mesa-xa-tracker-${PVER}" } fi src_prepare() { munpack ${SRCFILE} || die # no debug code in the drives (gentoo) all-abis 'find src/mesa/drivers/dri -name *.[hc] -exec egrep -l "\#define\W+DO_DEBUG\W+1" {} \; | xargs --no-run-if-empty sed -i -re "s/\#define\W+DO_DEBUG\W+1/\#define DO_DEBUG 0/" ;' # get rid of glut includes all-abis rm -f include/GL/glut*h || die # fix an error in the libva detection # all-abis 'sed -i "s:libva = 0.31.1:libva >= 0.31.1:" configure.ac' || die mautoreconf || die } src_compile() { # build without rtti and exeptions, fixes issues with llvm as well export CXXFLAGS="${CXXFLAGS} -fno-rtti -fno-exceptions -DNDEBUG" # texture-float has patent issues in non european contries # disable this feature if this legal concern is affected local myconf="--enable-texture-float" mconfigure \ --with-dri-driverdir=/usr/'$(mlibdir)'/dri \ --with-dri-drivers=${MESA_DRI_DRIVERS} \ --with-gallium-drivers=${MESA_GALLIUM_DRIVERS} \ --with-egl-platforms=x11,drm \ --disable-debug \ --enable-glx-tls \ --enable-asm \ --enable-shared-glapi \ --enable-egl \ --enable-gles1 \ --enable-gles2 \ --enable-gbm \ --enable-osmesa \ --enable-xa \ --enable-gallium-egl \ --enable-gallium-llvm \ --enable-vdpau \ --enable-llvm-shared-libs \ ${myconf} \ || die # --enable-va \ # # only build software renderer on multilib arches for 32Bit # if [[ ${ARCH} = x86_64 ]] # then # only-m32 "echo 'DRI_DIRS =' >> configs/autoconf" || die # fi mmake -j1 || die } src_install_mesa() { mmake DESTDIR=${BINDIR} install || die # remove all la files find ${BINDIR} -name \*.la | xargs rm -fv # setup included for dynamic opengl # only target arch needed on multilib systems minstalldir /usr/$(mlibdir)/opengl/xorg/include/GL || die for x in ${BINDIR}/usr/include/GL/{gl.h,glx.h,glext.h,glxext.h} do if [ -f ${x} -o -L ${x} ] then mv -fv ${x} ${BINDIR}/usr/$(mlibdir)/opengl/xorg/include/GL || die "${x}" fi done for x in ${BINDIR}/usr/include/{EGL,GLES*,VG,KHR} do if [ -d ${x} ] then mv -fv ${x} ${BINDIR}/usr/$(mlibdir)/opengl/xorg/include || die "${x}" fi done for abi in ${MULTILIB_ABIS} do [[ ${abi} = m32 ]] && ABI_LIBDIR="lib" [[ ${abi} = m64 ]] && ABI_LIBDIR="lib64" cd ${SRCDIR}-${abi} # setup dynamic opengl minstalldir /usr/$(mlibdir)/opengl/xorg/lib || die minstalldir /usr/$(mlibdir)/opengl/xorg/extensions || die local x for x in ${BINDIR}/usr/$(mlibdir)/lib{EGL,GL*,OpenVG}.{la,a,so*} do if [ -f ${x} -o -L ${x} ] then mv -fv ${x} ${BINDIR}/usr/$(mlibdir)/opengl/xorg/lib || die "${x}" fi done # export LIBGL_DRIVER_PATH location. # we are using '/usr/lib/dri' as hardcoded location. # but nvidia and ati are using '/usr/$(mlibdir)/xorg/modules/dri' # LIBGL_DRIVER_PATH overwrites the hardcoded location and # if nvidia or ati driver are installed # the dri modules will never be found by libGL # use "LIBGL_DEBUG=verbose glxinfo" to check this issue minstalldir /etc/env.d || die MCONFIG=/etc/env.d/09mesa-${abi} mclearconfig || die maddconfig "LIBGL_DRIVERS_PATH=/usr/$(mlibdir)/dri" || die # remove dri-drivers, they are in extra packages rm -rv ${BINDIR}/usr/$(mlibdir)/dri/*_dri.so || die # remove vdpau-drivers, they are in extra packages rm -rv ${BINDIR}/usr/$(mlibdir)/vdpau || die # # remove gbm-pipes, they are in extra packages # rm -rv ${BINDIR}/usr/$(mlibdir)/gallium-pipe/pipe_*.so || die done # remove xa-tracker mdelete /usr/$(mlibdir)/libxatracker.\* || die if [[ $(mlibdir) != lib ]] then mdelete /usr/lib/libxatracker.\* || die fi } src_install_mesa-xa-tracker() { mmake DESTDIR=${BINDIR} install || die zapmost ${BINDIR} \ usr/$(mlibdir)/libxatracker.* \ $([[ $(mlibdir) != lib ]] && echo 'usr/lib/libxatracker.*') \ || die } if driver_enabled dri-swrast then src_install_mesa-dri-swrast() { install_dri_driver swrast || die setup_dynamic_dri classic || die } fi if driver_enabled dri-i810 then src_install_mesa-dri-i810() { install_dri_driver i810 || die setup_dynamic_dri classic || die } fi if driver_enabled dri-i915 then src_install_mesa-dri-i915() { install_dri_driver i915 || die setup_dynamic_dri classic || die } fi if driver_enabled dri-i965 then src_install_mesa-dri-i965() { install_dri_driver i965 || die setup_dynamic_dri classic || die } fi if driver_enabled dri-mach64 then src_install_mesa-dri-mach64() { install_dri_driver mach64 || die setup_dynamic_dri classic || die } fi if driver_enabled dri-mga then src_install_mesa-dri-mga() { install_dri_driver mga || die setup_dynamic_dri classic || die } fi if driver_enabled dri-nouveau then src_install_mesa-dri-nouveau() { install_dri_driver nouveau || die setup_dynamic_dri classic || die } fi if driver_enabled dri-r128 then src_install_mesa-dri-r128() { install_dri_driver r128 || die setup_dynamic_dri classic || die } fi if driver_enabled dri-r200 then src_install_mesa-dri-r200() { install_dri_driver r200 || die setup_dynamic_dri classic || die } fi if driver_enabled dri-r300 then src_install_mesa-dri-r300() { install_dri_driver r300 || die setup_dynamic_dri classic || die } fi if driver_enabled dri-r600 then src_install_mesa-dri-r600() { install_dri_driver r600 || die setup_dynamic_dri classic || die } fi if driver_enabled dri-radeon then src_install_mesa-dri-radeon() { install_dri_driver radeon || die setup_dynamic_dri classic || die } fi if driver_enabled dri-savage then src_install_mesa-dri-savage() { install_dri_driver savage || die setup_dynamic_dri classic || die } fi if driver_enabled dri-sis then src_install_mesa-dri-sis() { install_dri_driver sis || die setup_dynamic_dri classic || die } fi if driver_enabled dri-tdfx then src_install_mesa-dri-tdfx() { install_dri_driver tdfx || die setup_dynamic_dri classic || die } fi if driver_enabled dri-unichrome then src_install_mesa-dri-unichrome() { install_dri_driver unichrome || die setup_dynamic_dri classic || die } fi if driver_enabled gallium-i915 then src_install_mesa-gallium-i915() { install_gallium_driver i915 || die setup_dynamic_dri gallium || die # gbm install_gallium_pipe_driver i915 || die } fi if driver_enabled gallium-i965 then src_install_mesa-gallium-i965() { install_gallium_driver i965 || die setup_dynamic_dri gallium || die # gbm install_gallium_pipe_driver i965 || die } fi if driver_enabled gallium-nouveau then src_install_mesa-gallium-nouveau() { install_gallium_driver nouveau || die setup_dynamic_dri gallium || die # vdpau install_gallium_vdpau_driver nouveau || die # gbm install_gallium_pipe_driver nouveau || die } fi if driver_enabled gallium-r300 then src_install_mesa-gallium-r300() { install_gallium_driver r300 || die setup_dynamic_dri gallium || die # vdpau #install_gallium_vdpau_driver r300 || die # gbm install_gallium_pipe_driver r300 || die } fi if driver_enabled gallium-r600 then src_install_mesa-gallium-r600() { install_gallium_driver r600 || die setup_dynamic_dri gallium || die # vdpau install_gallium_vdpau_driver r600 || die # gbm install_gallium_pipe_driver r600 || die } fi if driver_enabled gallium-radeonsi then src_install_mesa-gallium-radeonsi() { install_gallium_driver radeonsi || die setup_dynamic_dri gallium || die # vdpau install_gallium_vdpau_driver radeonsi || die # gbm install_gallium_pipe_driver radeonsi || die } fi if driver_enabled gallium-swrast then src_install_mesa-gallium-swrast() { install_gallium_driver swrast || die setup_dynamic_dri gallium || die # vdpau #install_gallium_vdpau_driver softpipe || die # gbm install_gallium_pipe_driver swrast || die } fi if driver_enabled gallium-vmwgfx then src_install_mesa-gallium-vmwgfx() { install_gallium_driver vmwgfx || die setup_dynamic_dri gallium || die # gbm install_gallium_pipe_driver vmwgfx || die } fi postinstall_mesa() { ${MROOT}/usr/sbin/opengl-update --use-old xorg } if driver_enabled dri-swrast then postinstall_mesa-dri-swrast() { ${MROOT}/usr/sbin/dri-update --use-old classic } fi if driver_enabled dri-i810 then postinstall_mesa-dri-i810() { ${MROOT}/usr/sbin/dri-update --use-old classic } fi if driver_enabled dri-i915 then postinstall_mesa-dri-i915() { ${MROOT}/usr/sbin/dri-update --use-old classic } fi if driver_enabled dri-i965 then postinstall_mesa-dri-i965() { ${MROOT}/usr/sbin/dri-update --use-old classic } fi if driver_enabled dri-mach64 then postinstall_mesa-dri-mach64() { ${MROOT}/usr/sbin/dri-update --use-old classic } fi if driver_enabled dri-mga then postinstall_mesa-dri-mga() { ${MROOT}/usr/sbin/dri-update --use-old classic } fi if driver_enabled dri-nouveau then postinstall_mesa-dri-nouveau() { ${MROOT}/usr/sbin/dri-update --use-old classic } fi if driver_enabled dri-r128 then postinstall_mesa-dri-r128() { ${MROOT}/usr/sbin/dri-update --use-old classic } fi if driver_enabled dri-r200 then postinstall_mesa-dri-r200() { ${MROOT}/usr/sbin/dri-update --use-old classic } fi if driver_enabled dri-r300 then postinstall_mesa-dri-r300() { ${MROOT}/usr/sbin/dri-update --use-old classic } fi if driver_enabled dri-r600 then postinstall_mesa-dri-r600() { ${MROOT}/usr/sbin/dri-update --use-old classic } fi if driver_enabled dri-radeon then postinstall_mesa-dri-radeon() { ${MROOT}/usr/sbin/dri-update --use-old classic } fi if driver_enabled dri-savage then postinstall_mesa-dri-savage() { ${MROOT}/usr/sbin/dri-update --use-old classic } fi if driver_enabled dri-sis then postinstall_mesa-dri-sis() { ${MROOT}/usr/sbin/dri-update --use-old classic } fi if driver_enabled dri-tdfx then postinstall_mesa-dri-tdfx() { ${MROOT}/usr/sbin/dri-update --use-old classic } fi if driver_enabled dri-unichrome then postinstall_mesa-dri-unichrome() { ${MROOT}/usr/sbin/dri-update --use-old classic } fi if driver_enabled gallium-i915 then postinstall_mesa-gallium-i915() { ${MROOT}/usr/sbin/dri-update --use-old gallium } fi if driver_enabled gallium-i965 then postinstall_mesa-gallium-i965() { ${MROOT}/usr/sbin/dri-update --use-old gallium } fi if driver_enabled gallium-nouveau then postinstall_mesa-gallium-nouveau() { ${MROOT}/usr/sbin/dri-update --use-old gallium } fi if driver_enabled gallium-r300 then postinstall_mesa-gallium-r300() { ${MROOT}/usr/sbin/dri-update --use-old gallium } fi if driver_enabled gallium-r600 then postinstall_mesa-gallium-r600() { ${MROOT}/usr/sbin/dri-update --use-old gallium } fi if driver_enabled gallium-radeonsi then postinstall_mesa-gallium-radeonsi() { ${MROOT}/usr/sbin/dri-update --use-old gallium } fi if driver_enabled gallium-swrast then postinstall_mesa-gallium-swrast() { ${MROOT}/usr/sbin/dri-update --use-old gallium } fi if driver_enabled gallium-vmwgfx then postinstall_mesa-gallium-vmwgfx() { ${MROOT}/usr/sbin/dri-update --use-old gallium } fi