You are not logged in.

#1 2009-06-15 15:08:04

eldragon
Member
From: Buenos Aires
Registered: 2008-11-18
Posts: 1,029

how to patch mesa?

im interested in this patch, which fixes uxa's nasty transparency bug.

but im really lost as to how to build the package since the mesa PKGBUILD downloads its sources somewhere else... can anyone drop some pointers?

thanks

Offline

#2 2009-06-18 17:07:22

jrib
Member
Registered: 2007-11-05
Posts: 15
Website

Re: how to patch mesa?

Call patch in the build() function.

There's an okay explanation here:
http://wiki.archlinux.org/index.php/Patching_in_ABS

What do you mean by "downloads its sources somewhere else"?

Last edited by jrib (2009-06-18 20:58:36)

Offline

#3 2009-06-19 01:16:29

eldragon
Member
From: Buenos Aires
Registered: 2008-11-18
Posts: 1,029

Re: how to patch mesa?

jrib wrote:

Call patch in the build() function.

There's an okay explanation here:
http://wiki.archlinux.org/index.php/Patching_in_ABS

What do you mean by "downloads its sources somewhere else"?

that did it, thanks,  too bad it doesnt fix the issue for me sad (patch applied correctly)

EDIT: well it appears i need to upgrade the interface, whatever that means:

from the patch:

From 66175aac7609ad314f25fbdff0d3958af310dc24 Mon Sep 17 00:00:00 2001
From: Eric Anholt <eric@anholt.net>
Date: Wed, 18 Mar 2009 19:07:09 +0000
Subject: Fix DRI2 accelerated EXT_texture_from_pixmap with GL_RGB format.

This requires upgrading the interface so that the argument to
glXBindTexImageEXT isn't just dropped on the floor.  Note that this only
fixes the accelerated path on Intel, as Mesa's texture format support is
missing x8r8g8b8 support (right now, GL_RGB textures get uploaded as a8r8gb8,
but in this case we're not doing the upload so we can't really work around it
that way).

anyone knows what needs to be done?

EDIT: i thought it would be wise to check xf86-video-intel's PKGBUILD and found it makedepends of mesa, so i figured i needed to rebuild the driver.
i downloaded the pkgbuild from abs, built without modification, and upon restart, it fails miserably to load:
error as follows:

(II) LoadModule: "intel"
(II) Loading /usr/lib/xorg/modules/drivers//intel_drv.so
dlopen: /usr/lib/xorg/modules/drivers//intel_drv.so: invalid ELF header
(EE) Failed to load /usr/lib/xorg/modules/drivers//intel_drv.so
(II) UnloadModule: "intel"
(EE) Failed to load module "intel" (loader failed, 7)
(EE) No drivers available.

anyone got any more ideas?

Last edited by eldragon (2009-06-19 14:51:58)

Offline

#4 2009-06-22 20:49:26

eldragon
Member
From: Buenos Aires
Registered: 2008-11-18
Posts: 1,029

Re: how to patch mesa?

bumping with my trial and error solution:
need to build and apply the patch to:

mesa
intel-dri
libgl

all 3 come from the same sources.

for the transparency bug to go away, compiz needs to run without --indirect-rendering

i tried to build mesa 7.4.3 in the process but it segfaults every dri app that runs...

Offline

#5 2009-07-08 08:49:52

Sharpeee
Member
From: Denmark
Registered: 2008-10-19
Posts: 59

Re: how to patch mesa?

Did you successfully build mesa? I'm very interested in the PKGBUILD if you did!

Offline

#6 2009-07-08 12:47:26

eldragon
Member
From: Buenos Aires
Registered: 2008-11-18
Posts: 1,029

Re: how to patch mesa?

here they come, some md5sum are missing wink

mesa 7.4.4

# $Id: PKGBUILD 43669 2009-06-28 11:15:05Z jgc $
# Maintainer: Alexander Baldeck <alexander@archlinux.org>
# Contributor: Jan de Groot <jgc@archlinux.org>

pkgname=mesa
pkgver=7.4.4
pkgrel=1
pkgdesc="Mesa OpenGL library"
arch=(i686 x86_64)
license=('LGPL')
url="http://mesa3d.sourceforge.net"
depends=('libgl' 'libx11>=1.2.1' 'libxt' 'gcc-libs>=4.4.0' 'dri2proto=2.0' 'libdrm>=2.4.11')
makedepends=('pkgconfig' 'glproto>=1.4.9')
conflicts=('mesa-apps')
replaces=('mesa-apps')
source=(http://downloads.sourceforge.net/mesa3d/MesaLib-${pkgver}.tar.bz2
        http://downloads.sourceforge.net/mesa3d/MesaDemos-${pkgver}.tar.bz2
        ftp://ftp.archlinux.org/other/mesa/gl-manpages-1.0.1.tar.bz2
    transparency.patch)
md5sums=('b66528d314c574dccbe0ed963cac5e93'
         '628142ec9a54cd28cc027e6ce26cff47'
         '6ae05158e678f4594343f32c2ca50515'
     '')

build() {
  cd "${srcdir}/Mesa-${pkgver}"
  patch -Np1 -i ../transparency.patch || return 1
  ./configure --prefix=/usr \
    --with-dri-driverdir=/usr/lib/xorg/modules/dri \
    --with-dri-drivers=swrast \
    --enable-glx-tls \
    --with-driver=dri \
    --enable-xcb \
    --disable-glut || return 1
  make || return 1
  make DESTDIR="${pkgdir}" install || return 1

  install -m755 -d "${pkgdir}/usr/bin"
  install -m755 progs/xdemos/glx{gears,info} "${pkgdir}/usr/bin/" || return 1

  rm -f "${pkgdir}/usr/lib/libGL.so"*
  rm -rf "${pkgdir}/usr/lib/xorg"

  cd "${srcdir}/gl-manpages-1.0.1"
  ./configure --prefix=/usr || return 1
  make || return 1
  make DESTDIR="${pkgdir}" install || return 1
}

intel-dri

# $Id: PKGBUILD 39377 2009-05-15 19:36:48Z jgc $
# Maintainer: Alexander Baldeck <alexander@archlinux.org>
# Contributor: Jan de Groot <jgc@archlinux.org>
pkgname=intel-dri
pkgver=7.4.4
pkgrel=1
pkgdesc="Mesa DRI drivers for Intel chipsets"
arch=(i686 x86_64)
url="http://xorg.freedesktop.org/"
license=('MIT')
depends=('libdrm>=2.4.9' 'expat>=2.0.1' "libgl>=${pkgver}")
makedepends=('glproto>=1.4.9' 'dri2proto>=2.0' 'pkgconfig')
options=('!libtool')
source=(http://downloads.sourceforge.net/mesa3d/MesaLib-${pkgver}.tar.bz2
    mesa-7.1-link-shared.patch
    intel-revert-vbl.patch
    LICENSE
    transparency.patch)
md5sums=(''
         'f0baa948d9810f268413111ee439d24b'
         'a111f4dc82e894f8801bc3fa129af7af'
         'b58d7dffd436e79054e220ad1b4b4345'
     '')

build() {
  cd "${srcdir}/Mesa-${pkgver}"
  patch -Np1 -i "${srcdir}/mesa-7.1-link-shared.patch" || return 1
  patch -Np1 -i "${srcdir}/intel-revert-vbl.patch" || return 1
  patch -Np1 -i ../transparency.patch || return 1
  ./configure --prefix=/usr \
    --with-dri-driverdir=/usr/lib/xorg/modules/dri \
    --with-dri-drivers=i810,i915,i965 \
    --enable-glx-tls \
    --with-driver=dri \
    --enable-xcb \
    --disable-glu \
    --disable-glut \
    --disable-glw || return 1
  make || return 1
  cd src/mesa/drivers/dri || return 1
  make DESTDIR="${pkgdir}" install || return 1
  rm -rf "${pkgdir}/usr/lib/pkgconfig"
  rm -rf "${pkgdir}/usr/include"
  rm -f "${pkgdir}/usr/lib/xorg/modules/dri/libdricore.so"
  install -D -m644 "${srcdir}/LICENSE" "$pkgdir/usr/share/licenses/$pkgname/LICENSE" || return 1
}

and libgl

# $Id: PKGBUILD 39735 2009-05-21 10:27:09Z jgc $
# Maintainer: Alexander Baldeck <kth5@archlinux.org>
# Contributor: Jan de Groot <jgc@archlinux.org>
pkgname=libgl
pkgver=7.4.4
pkgrel=1
pkgdesc="Mesa DRI OpenGL library and drivers"
arch=(i686 x86_64)
license=('LGPL')
url="http://www.mesa3d.org"
depends=('libdrm>=2.4.9' 'libxxf86vm' 'libxdamage' 'expat>=2.0.1')
makedepends=('dri2proto>=2.0' 'glproto>=1.4.9' 'pkgconfig')
provides=('libgl-dri')
replaces=('libgl-dri' 'libgl-mesa')
options=(!makeflags)
source=(http://downloads.sourceforge.net/mesa3d/MesaLib-${pkgver}.tar.bz2
    mesa-7.1-link-shared.patch
    7.4-branch.patch
    transparency.patch)
md5sums=(''
         'f0baa948d9810f268413111ee439d24b'
     '293e975b548b8cb29b23b735a112bafa'
     '')

build() {
  cd "${startdir}/src/Mesa-${pkgver}"
  patch -Np1 -i "${srcdir}/mesa-7.1-link-shared.patch" || return 1
#  patch -Np1 -i "${srcdir}/7.4-branch.patch"  || return 1
  patch -Np1 -i ../transparency.patch || return 1
  ./configure --prefix=/usr \
    --with-dri-driverdir=/usr/lib/xorg/modules/dri \
    --with-dri-drivers=swrast \
    --enable-glx-tls \
    --with-driver=dri \
    --enable-xcb \
    --disable-glu \
    --disable-glut \
    --disable-glw || return 1
  make || return 1
  make DESTDIR="${pkgdir}" install || return 1
  rm -rf "${pkgdir}/usr/include"
  rm -rf "${pkgdir}/usr/lib/pkgconfig"
  install -m755 -d "${pkgdir}/usr/lib/xorg/modules/extensions"
  ln -sf libglx.xorg ${pkgdir}/usr/lib/xorg/modules/extensions/libglx.so || return 1
}

Offline

#7 2009-07-12 17:27:50

Sharpeee
Member
From: Denmark
Registered: 2008-10-19
Posts: 59

Re: how to patch mesa?

Very nice eldragon. It works suplime! smile

Offline

#8 2009-07-19 15:56:22

eldragon
Member
From: Buenos Aires
Registered: 2008-11-18
Posts: 1,029

Re: how to patch mesa?

mesa 7.5 which landed in testing today includes this patch.. wink

Offline

Board footer

Powered by FluxBB