+ -
当前位置:首页 → 问答吧 → 哇,使用了2.6.31+KMS+mesa-git+xf86-video-ati,cairo-dock可以使用opengl模式了

哇,使用了2.6.31+KMS+mesa-git+xf86-video-ati,cairo-dock可以使用opengl模式了

时间:2009-09-21

来源:互联网

rt.

也就是说A卡开源驱动opengl2.0特性支持完善了

也可以wine魔兽了

作者: jarryson   发布时间: 2009-09-21

不用cairo-dock...你的mesa都是git的?

作者: huntxu   发布时间: 2009-09-21

想用KMS+3D,那是必须的

以前cairo-dock是黑色背景的

作者: jarryson   发布时间: 2009-09-21

mesa-git常常都会有惊喜

作者: gsli52   发布时间: 2009-09-21

引用:
作者: jarryson
想用KMS+3D,那是必须的

以前cairo-dock是黑色背景的
你是什么核心啊?R600没戏吧?

作者: yafeng   发布时间: 2009-09-21

引用:
作者: yafeng
你是什么核心啊?R600没戏吧?
他是X700,即RV410核心

作者: xcxxb   发布时间: 2009-09-22

楼主有aur吗?

作者: www1862   发布时间: 2009-09-22

R500以下都没问题。R600需要airlied的内核分支,mesa依然是用mesa-git。R700,R800没戏

反正都要编译,差不多。官方的2.6.31内核并没有开启ati的KMS,因为内核默认如果不选y就不开启,和intel的默认编译KMS支持不一样,要到2.6.32才会默认支持。

详情(可以去投票让官方更改内核选项):http://bugs.archlinux.org/task/16149

ls问的是PKGBUILD把

libdrm可以直接使用源里面的,不过使用libdrm-git也是很好的选择。编译顺序是libdrm,mesa,xf86-video-ati

mesa-git的PKGBUILD,里面需要一个mesa-7.1-link-shared.patch是官方的mesa补丁。
代码:
pkgbase="mesa-git"
pkgname=('mesa-git' 'libgl-git' 'ati-dri-git')
pkgver=20090919
pkgrel=1
arch=(i686 x86_64)
license=('custom')
makedepends=('glproto' 'pkgconfig' 'libdrm>=2.4.12' 'libxxf86vm' 'libxdamage' 'expat>=2.0.1' 'libx11>=1.2.2' 'libxt' 'gcc-libs' 'dri2proto=2.1')
options=('!libtool' 'ccache')
url="http://mesa3d.sourceforge.net"

_gitroot="git://anongit.freedesktop.org/mesa/mesa"
_gitname="mesa"

build() {
 cd "$srcdir"
 msg "Connecting to GIT server...."

 if [ -d $_gitname ] ; then
 cd $_gitname && git pull origin
 msg "The local files are updated."
 else
 git clone $_gitroot $_gitname
 #msg2 "Fetching sources..."
 #cd $_gitname
 #git checkout --track -b radeon-rewrite origin/radeon-rewrite
 fi
 
 msg2 "Preparing..."
 rm -rf $srcdir/$_gitname-build
 cp -rf $srcdir/$_gitname $srcdir/$_gitname-build
 cd $srcdir/$_gitname-build
 
 msg2 "Starting make..."
 unset MAKEFLAGS
 msg2 "add patch..."
 patch -Np1 -i "${startdir}/mesa-7.1-link-shared.patch" || return 1
 ./autogen.sh --prefix=/usr \
 --with-dri-driverdir=/usr/lib/xorg/modules/dri \
 --with-dri-drivers=swrast,radeon,r200,r300,r600 \
 --enable-gallium --enable-gallium-radeon --enable-gl-osmesa \
 --enable-glx-tls \
 --with-driver=dri \
 --enable-xcb \
 --disable-glut || return 1
 make || return 1
}

package_libgl-git() {
 depends=('libdrm>=2.4.12' 'libxxf86vm' 'libxdamage' 'expat>=2.0.1')
 pkgdesc="Mesa 3-D graphics library and DRI software rasterizer"
 provides=("libgl=7.5" "libgl=7.6" 'libgl')
 conflicts=('libgl')

 cd $srcdir/$_gitname-build || return 1
 install -m755 -d "${pkgdir}/usr/lib" || return 1
 install -m755 -d "${pkgdir}/usr/lib/xorg/modules/extensions"

 bin/minstall lib/libGL.so* "${pkgdir}/usr/lib/" || return 1

 cd src/mesa/drivers/dri
 make -C swrast DESTDIR="${pkgdir}" install || return 1
 install -m755 libdricore.so "${pkgdir}/usr/lib/xorg/modules/dri/"
 ln -s libglx.xorg "${pkgdir}/usr/lib/xorg/modules/extensions/libglx.so" || return 1

 install -Dm644 "${startdir}/LICENSE" "${pkgdir}/usr/share/licenses/libgl/LICENSE" || return 1
}

package_mesa-git() {
 depends=('libgl' 'libx11>=1.2.2' 'libxt' 'gcc-libs>=4.4.1' 'dri2proto=2.1' 'libdrm>=2.4.12')
 pkgdesc="Mesa 3-D graphics libraries and include files"
 provides=("mesa=7.5" "mesa=7.6" 'mesa')
 conflicts=('mesa')

 cd $srcdir/$_gitname-build || 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" || return 1
 #make DESTDIR="${pkgdir}" install || return 1

 install -Dm644 "${startdir}/LICENSE" "${pkgdir}/usr/share/licenses/mesa/LICENSE" || return 1
}

package_ati-dri-git() {
 depends=("libgl")
 pkgdesc="Mesa DRI drivers for AMD/ATI Radeon"
 provides=("ati-dri=7.5" "ati-dri=7.6" 'ati-dri')
 conflicts=('ati-dri' 'xf86-video-ati<6.9.0-6')

 cd "$srcdir/$_gitname-build/src/mesa/drivers/dri" || return 1
 make -C radeon DESTDIR="${pkgdir}" install || return 1
 make -C r200 DESTDIR="${pkgdir}" install || return 1
 make -C r300 DESTDIR="${pkgdir}" install || return 1
 make -C r600 DESTDIR="${pkgdir}" install || return 1
 
 cd $srcdir/$_gitname-build || return 1
 bin/minstall lib/gallium/EGL_r*.so* "${pkgdir}/usr/lib/xorg/modules/dri" || return 1
}

作者: jarryson   发布时间: 2009-09-22

已经跟进,终于正常了。

作者: zhou3345   发布时间: 2009-09-22

楼主自己编译的内核吗?

作者: www1862   发布时间: 2009-09-22

确实不错,性能小有提升。

作者: www1862   发布时间: 2009-09-23

速度怎么样?
这个是基于Gallium3D的么?

作者: socket9999   发布时间: 2009-09-23

2.6.31有问题么?为什么迟迟进不了core

作者: allisfree   发布时间: 2009-09-24

引用:
作者: allisfree
2.6.31有问题么?为什么迟迟进不了core
感觉内存回收机制有问题。。。

越用越慢! 后来 kill 都不行!

近期我编译内核都超20次了!——每次同样结果, 用zen-sources的也一样。。。
估计是某些编译选项不能加上

而且ACPI也有问题。。。

作者: carbonjiao   发布时间: 2009-09-25

暂时不搞2.6.31

作者: xsam   发布时间: 2009-09-25

我把我gentoo下用的2.6.31搞过来了,正在测试,暂时还没发现问题

作者: yafeng   发布时间: 2009-09-26

R600有希望了?先用闭源驱动,等官方源。

作者: Kevin_Chou   发布时间: 2009-09-27