LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1959|回复: 16

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

[复制链接]
发表于 2009-9-21 13:29:55 | 显示全部楼层 |阅读模式
rt.

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

也可以wine魔兽了
发表于 2009-9-21 13:32:35 | 显示全部楼层
不用cairo-dock...你的mesa都是git的?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-9-21 14:21:09 | 显示全部楼层
想用KMS+3D,那是必须的

以前cairo-dock是黑色背景的
回复 支持 反对

使用道具 举报

发表于 2009-9-21 15:27:48 | 显示全部楼层
mesa-git常常都会有惊喜
回复 支持 反对

使用道具 举报

发表于 2009-9-21 19:21:35 | 显示全部楼层
Post by jarryson;2028808
想用KMS+3D,那是必须的

以前cairo-dock是黑色背景的


你是什么核心啊?R600没戏吧?
回复 支持 反对

使用道具 举报

发表于 2009-9-21 21:21:44 | 显示全部楼层
Post by yafeng;2028914
你是什么核心啊?R600没戏吧?


他是X700,即RV410核心
回复 支持 反对

使用道具 举报

发表于 2009-9-21 23:30:31 | 显示全部楼层
楼主有aur吗?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2009-9-22 02:38:09 | 显示全部楼层
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补丁。

  1. pkgbase="mesa-git"
  2. pkgname=('mesa-git' 'libgl-git' 'ati-dri-git')
  3. pkgver=20090919
  4. pkgrel=1
  5. arch=(i686 x86_64)
  6. license=('custom')
  7. makedepends=('glproto' 'pkgconfig' 'libdrm>=2.4.12' 'libxxf86vm' 'libxdamage' 'expat>=2.0.1' 'libx11>=1.2.2' 'libxt' 'gcc-libs' 'dri2proto=2.1')
  8. options=('!libtool' 'ccache')
  9. url="http://mesa3d.sourceforge.net"

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

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

  15.   if [ -d $_gitname ] ; then
  16.     cd $_gitname && git pull origin
  17.     msg "The local files are updated."
  18.   else
  19.     git clone $_gitroot $_gitname
  20.     #msg2 "Fetching sources..."
  21.     #cd $_gitname
  22.     #git checkout --track -b radeon-rewrite origin/radeon-rewrite
  23.   fi
  24.   
  25.   msg2 "Preparing..."
  26.   rm -rf $srcdir/$_gitname-build
  27.   cp -rf $srcdir/$_gitname $srcdir/$_gitname-build
  28.   cd $srcdir/$_gitname-build
  29.   
  30.   msg2 "Starting make..."
  31.   unset MAKEFLAGS
  32.   msg2 "add patch..."
  33.   patch -Np1 -i "${startdir}/mesa-7.1-link-shared.patch" || return 1
  34.   ./autogen.sh --prefix=/usr \
  35.     --with-dri-driverdir=/usr/lib/xorg/modules/dri \
  36.     --with-dri-drivers=swrast,radeon,r200,r300,r600 \
  37.     --enable-gallium --enable-gallium-radeon --enable-gl-osmesa \
  38.     --enable-glx-tls \
  39.     --with-driver=dri \
  40.     --enable-xcb \
  41.     --disable-glut || return 1
  42.   make || return 1
  43. }

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

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

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

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

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

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

  64.   cd $srcdir/$_gitname-build || return 1
  65.   make DESTDIR="${pkgdir}" install || return 1
  66.   install -m755 -d "${pkgdir}/usr/bin"
  67.   install -m755 progs/xdemos/glx{gears,info} "${pkgdir}/usr/bin/" || return 1

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

  70.   #cd "${srcdir}/gl-manpages-1.0.1" || return 1
  71.   #make DESTDIR="${pkgdir}" install || return 1

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

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

  79.   cd "$srcdir/$_gitname-build/src/mesa/drivers/dri" || return 1
  80.   make -C radeon DESTDIR="${pkgdir}" install || return 1
  81.   make -C r200 DESTDIR="${pkgdir}" install || return 1
  82.   make -C r300 DESTDIR="${pkgdir}" install || return 1
  83.   make -C r600 DESTDIR="${pkgdir}" install || return 1
  84.   
  85.   cd $srcdir/$_gitname-build || return 1
  86.   bin/minstall lib/gallium/EGL_r*.so* "${pkgdir}/usr/lib/xorg/modules/dri" || return 1
  87. }
复制代码
回复 支持 反对

使用道具 举报

发表于 2009-9-22 07:32:36 | 显示全部楼层
已经跟进,终于正常了。
回复 支持 反对

使用道具 举报

发表于 2009-9-22 18:34:33 | 显示全部楼层
楼主自己编译的内核吗?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表