LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
123
返回列表 发新帖
楼主: xlwcat

最新的ATI测试驱动支持Xorg 7.1了

[复制链接]
发表于 2006-7-2 20:18:42 | 显示全部楼层
怪不得ati不发布,原来他还没有搞定。嘿嘿
回复 支持 反对

使用道具 举报

发表于 2006-7-2 21:45:05 | 显示全部楼层
Post by 夕角
对不起,我没说清楚,用sh 装驱时,他会问你要不要装32位gl库(具体的不记得了),装上去就相当于装上nvidia-glx包了,nvidia-glx与 >=x11-base/xorg-server-1.0.99冲突,无论如何都是装不上的。

的确会提示装32位的opengl,我都是装的。既然如此的话,那nvidia-glx和nvidia-kernel看来都是不需要的了。
继续头痛依赖其他显卡驱动问题
回复 支持 反对

使用道具 举报

发表于 2006-7-3 02:18:17 | 显示全部楼层
我用这个ebuild编译的amd64位的。
  1. # Copyright 1999-2006 Gentoo Foundation
  2. # Distributed under the terms of the GNU General Public License v2
  3. # $Header: /var/cvsroot/gentoo-x86/x11-drivers/ati-drivers/ati-drivers-8.26.18.ebuild,v 1.1 2006/06/27 23:56:44 lu_zero Exp $

  4. IUSE="opengl"

  5. inherit eutils rpm multilib linux-mod linux-info toolchain-funcs

  6. DESCRIPTION="Ati precompiled drivers for r350, r300, r250 and r200 chipsets"
  7. HOMEPAGE="http://www.ati.com"
  8. SRC_URI="amd64? ( mirror://gentoo/ati-driver-installer-${PV}-x86_64.run )"

  9. LICENSE="ATI"
  10. KEYWORDS="-* ~amd64"

  11. RDEPEND="|| ( x11-base/xorg-server virtual/x11 )
  12.          !<x11-base/xorg-server-1.0.99
  13.          app-admin/eselect-opengl
  14.          || ( sys-libs/libstdc++-v3 =sys-devel/gcc-3.3* )"

  15. DEPEND=">=virtual/linux-sources-2.4
  16.         ${RDEPEND}"

  17. PROVIDE="virtual/opengl"

  18. ATIBIN="${D}/opt/ati/bin"
  19. RESTRICT="nostrip multilib-pkg-force stricter"

  20. MODULE_NAMES="fglrx(video:${WORKDIR}/common/lib/modules/fglrx/build_mod)"

  21. QA_EXECSTACK_x86="usr/lib/xorg/modules/dri/fglrx_dri.so"
  22. QA_EXECSTACK_amd64="usr/lib64/xorg/modules/dri/fglrx_dri.so usr/lib32/xorg/modules/dri/fglrx_dri.so"
  23. QA_TEXTREL_x86="usr/lib/xorg/modules/dri/fglrx_dri.so usr/lib/opengl/ati/lib/libGL.so.1.2"
  24. QA_TEXTREL_amd64="usr/lib64/xorg/modules/dri/fglrx_dri.so usr/lib32/opengl/ati/lib/libGL.so.1.2 usr/lib32/xorg/modules/dri/fglrx_dri.so usr/lib32/xorg/modules/dri/atiogl_a_dri.so"

  25. choose_driver_paths() {
  26.         ARCH_DIR="${WORKDIR}/arch"
  27.         COMMON_DIR="${WORKDIR}/common"

  28.         #new modular X paths, 0 is a workaround.
  29.         if has_version "x11-base/xorg-server"; then
  30.                 BASE_DIR="${WORKDIR}/x710"
  31.                 xlibdir="xorg"
  32.         else
  33.                 BASE_DIR="${WORKDIR}/x$(get_version_component_range 1 ${X11_IMPLEM_V})"
  34.                 xlibdir=""

  35.                 # Determine if we are facing X.org 6.8.99 aka 6.9
  36.                 if [ "$(get_version_component_range 1 ${X11_IMPLEM_V})" = 6 ] &&
  37.                    [ "$(get_version_component_range 2 ${X11_IMPLEM_V})" = 8 ] &&
  38.                    [ "$(get_version_component_range 3 ${X11_IMPLEM_V})" = 99 ]
  39.                 then
  40.                         BASE_DIR="${BASE_DIR}90"
  41.                 else
  42.                         BASE_DIR="${BASE_DIR}$(get_version_component_range 2 ${X11_IMPLEM_V})0"
  43.                 fi
  44.         fi

  45.         if use amd64 ; then
  46.                 BASE_DIR="${BASE_DIR}_64a"
  47.                 ARCH_DIR="${ARCH_DIR}/x86_64"
  48.         else
  49.                 ARCH_DIR="${ARCH_DIR}/x86"
  50.         fi
  51. }

  52. pkg_setup(){
  53.         #check kernel and sets up KV_OBJ
  54.         linux-mod_pkg_setup
  55.         local agp
  56.         ebegin "Checking for MTRR support enabled"
  57.         linux_chkconfig_present MTRR
  58.         eend $?
  59.         if [[ $? -ne 0 ]] ; then
  60.         ewarn "You don't have MTRR support enabled, the direct rendering"
  61.         ewarn "will not work."
  62.         fi

  63.         ebegin "Checking for AGP support enabled"
  64.         linux_chkconfig_present AGP
  65.         eend $?

  66.         if [[ $? -ne 0 ]] ; then

  67.                 ebegin "Checking for PCI Express support enabled"
  68.                 linux_chkconfig_present PCIEPORTBUS
  69.                 eend $?

  70.                 if [[ $? -ne 0 ]] ; then
  71.                         ewarn "If you don't have either AGP or PCI Express support enabled, direct rendering"
  72.                         ewarn "could work only using the internal support."
  73.                 fi

  74.         fi
  75.         ebegin "Checking for DRM support disabled"
  76.         ! linux_chkconfig_builtin DRM
  77.         eend $?
  78.         if [[ $? -ne 0 ]] ; then
  79.         ewarn "You have DRM support enabled builtin, the direct rendering"
  80.         ewarn "will not work."
  81.         fi

  82.         # Set up X11 implementation
  83.         if has_version "x11-base/xorg-server"; then
  84.                 X11_IMPLEM=xorg-x11
  85.         elif has_version "<x11-base/xorg-x11-6.8.99"; then
  86.                 X11_IMPLEM=xorg-x11
  87.                 X11_IMPLEM_V="$(best_version x11-base/xorg-x11)"
  88.                 X11_IMPLEM_V="${X11_IMPLEM_V/${X11_IMPLEM}-/}"
  89.                 X11_IMPLEM_V="${X11_IMPLEM_V##*\/}"
  90.         else
  91.                 X11_IMPLEM_P="$(best_version virtual/x11)"
  92.                 X11_IMPLEM="${X11_IMPLEM_P%-[0-9]*}"
  93.                 X11_IMPLEM="${X11_IMPLEM##*\/}"
  94.                 X11_IMPLEM_V="${X11_IMPLEM_P/${X11_IMPLEM}-/}"
  95.                 X11_IMPLEM_V="${X11_IMPLEM_V##*\/}"
  96.         fi
  97.         einfo "X11 implementation is ${X11_IMPLEM}."
  98.         choose_driver_paths
  99. }

  100. src_unpack() {
  101.         local OLDBIN="/usr/X11R6/bin"

  102.         ebegin "Unpacking Ati drivers"
  103.         sh ${DISTDIR}/${A} --extract ${WORKDIR} &> /dev/null
  104.         eend $? || die "unpack failed"

  105.         rm -rf ${ARCH_DIR}/usr/X11R6/bin/{fgl_glxgears,fireglcontrolpanel}

  106.         cd ${WORKDIR}/common/lib/modules/fglrx/build_mod

  107.         #if kernel_is ge 2 6 16; then
  108.         #        epatch ${FILESDIR}/${PN}-8.22.5-intermodule.patch
  109.         #        epatch ${FILESDIR}/${PN}-8.23.7-noiommu.patch
  110.         #        epatch ${FILESDIR}/${PN}-8.23.7-gcc41.patch
  111.         #fi
  112. }


  113. src_compile() {
  114.         einfo "Building the DRM module..."
  115.         cd ${WORKDIR}/common/lib/modules/fglrx/build_mod
  116.         ln -s \
  117.         ${ARCH_DIR}/lib/modules/fglrx/build_mod/libfglrx_ip.a.GCC$(gcc-major-version) \
  118.         || die "cannot find precompiled core"

  119.         if kernel_is 2 6
  120.         then
  121.                 set_arch_to_kernel
  122.                 addwrite "/usr/src/${FK}"
  123.                 cp 2.6.x/Makefile .
  124.                 export _POSIX2_VERSION="199209"
  125.                 if use_m ;
  126.                 then
  127.                         make -C ${KV_DIR} M="`pwd`" GCC_VER_MAJ=$(gcc-major-version) \
  128.                                 modules || ewarn "DRM module not built"
  129.                 else
  130.                         make -C ${KV_DIR} SUBDIRS="`pwd`" GCC_VER_MAJ=$(gcc-major-version) \
  131.                                 modules || ewarn "DRM module not built"
  132.                 fi
  133.                 set_arch_to_portage
  134.         else
  135.                 export _POSIX2_VERSION="199209"
  136.                 # That is the dirty way to avoid the id -u check
  137.                 sed -e 's:`id -u`:0:' \
  138.                         -e "s:\`uname -r\`:${KV_FULL}:" \
  139.                         -i make.sh
  140.                 chmod +x make.sh
  141.                 ./make.sh || ewarn "DRM module not built"
  142.         fi
  143. }

  144. pkg_preinst() {
  145.         # Clean the dynamic libGL stuff's home to ensure
  146.         # we don't have stale libs floating around ...
  147.         if [ -d "${ROOT}/usr/lib/opengl/ati" ]
  148.         then
  149.                 rm -rf ${ROOT}/usr/lib/opengl/ati/*
  150.         fi
  151. }

  152. src_install() {
  153.         local ATI_LIBGL_PATH=""
  154.         cd ${WORKDIR}/common/lib/modules/fglrx/build_mod
  155.         linux-mod_src_install

  156.         cd ${WORKDIR}

  157.         local native_dir
  158.         use x86 && native_dir="lib"
  159.         use amd64 && native_dir="lib64"

  160.         # Install the libs
  161.         # MULTILIB-CLEANUP: Fix this when FEATURES=multilib-pkg is in portage
  162.         local MLTEST=$(type dyn_unpack)
  163.         if [ "${MLTEST/set_abi/}" = "${MLTEST}" ] && has_multilib_profile; then
  164.                 local OABI=${ABI}
  165.                 for ABI in $(get_install_abis); do
  166.                         src_install-libs
  167.                 done
  168.                 ABI=${OABI}
  169.                 unset OABI
  170.         elif has_multilib_profile; then
  171.                 src_install-libs
  172.         elif use amd64; then
  173.                 src_install-libs lib $(get_multilibdir)
  174.                 src_install-libs lib64 $(get_libdir)
  175.         else
  176.                 src_install-libs
  177.         fi &> /dev/null

  178.         #apps
  179.         exeinto /opt/ati/bin
  180.         doexe ${ARCH_DIR}/usr/X11R6/bin/*

  181.         #ati custom stuff
  182.         insinto /usr
  183.         doins -r ${WORKDIR}/common/usr/include

  184.         #env.d entry
  185.         cp ${FILESDIR}/09ati ${T}/

  186.         #Work around hardcoded path in 32bit libGL.so on amd64, bug 101539
  187.         if has_multilib_profile && [ $(get_abi_LIBDIR x86) = "lib32" ] ; then
  188.                 ATI_LIBGL_PATH="/usr/lib/dri:/usr/$(get_libdir)/dri:/usr/lib32/${xlibdir}/modules/dri/:/usr/$(get_libdir)/${xlibdir}/modules/dri"
  189.         fi
  190.                 cat >>${T}/09ati <<EOF

  191. LIBGL_DRIVERS_PATH="\$LIBGL_DRIVERS_PATH:$ATI_LIBGL_PATH"
  192. EOF

  193.         doenvd ${T}/09ati
  194. }

  195. src_install-libs() {
  196.         local pkglibdir=lib
  197.         local inslibdir="$(get_libdir)/${xlibdir}"
  198.         ATI_LIBGL_PATH="${ATI_LIBGL_PATH}:/usr/$(get_libdir)/${xlibdir}/modules/dri"
  199.         if [ ${#} -eq 2 ]; then
  200.                 pkglibdir=${1}
  201.                 inslibdir=${2}
  202.         elif has_multilib_profile && [ "${ABI}" == "amd64" ]; then
  203.                 pkglibdir=lib64
  204.         fi

  205.         einfo "${pkglibdir} -> ${inslibdir}"

  206.         local ATI_ROOT="/usr/$(get_libdir)/opengl/ati"

  207.         # The GLX libraries
  208.         exeinto ${ATI_ROOT}/lib
  209.         doexe ${ARCH_DIR}/usr/X11R6/${pkglibdir}/libGL.so.1.2
  210.         dosym libGL.so.1.2 ${ATI_ROOT}/lib/libGL.so.1
  211.         dosym libGL.so.1.2 ${ATI_ROOT}/lib/libGL.so

  212.         # Don't do this... see bug #47598
  213.         #dosym libGL.so.1.2 ${ATI_ROOT}/lib/libMesaGL.so

  214.         # same as the xorg implementation
  215.         dosym ../${X11_IMPLEM}/extensions ${ATI_ROOT}/extensions
  216.         #Workaround
  217.         if use opengl ; then
  218.         sed -e "s:libdir=.*:libdir=${ATI_ROOT}/lib:" \
  219.                 /usr/$(get_libdir)/opengl/${X11_IMPLEM}/lib/libGL.la \
  220.                 > $D/${ATI_ROOT}/lib/libGL.la
  221.         dosym ../${X11_IMPLEM}/include ${ATI_ROOT}/include
  222.         fi
  223.         # X and DRI driver
  224.         if has_version "<x11-base/xorg-x11-6.8.0-r4"
  225.         then
  226.                 local X11_DIR="/usr/X11R6/"
  227.         else
  228.                 local X11_DIR="/usr/"
  229.         fi

  230.         local X11_LIB_DIR="${X11_DIR}${inslibdir}"

  231.         exeinto ${X11_LIB_DIR}/modules/drivers
  232.         # In X.org 6.8.99 / 6.9 this is a .so
  233.         doexe ${BASE_DIR}/usr/X11R6/${pkglibdir}/modules/drivers/fglrx_drv.*o

  234.         exeinto ${X11_LIB_DIR}/modules/dri
  235.         doexe ${ARCH_DIR}/usr/X11R6/${pkglibdir}/modules/dri/fglrx_dri.so
  236.         doexe ${ARCH_DIR}/usr/X11R6/${pkglibdir}/modules/dri/atiogl_a_dri.so

  237.         exeinto ${X11_LIB_DIR}/modules/linux
  238.         # In X.org 6.8.99 / 6.9 this is a .so
  239.         if has_version ">=x11-base/xorg-x11-6.8.99" || \
  240.                 has_version "x11-base/xorg-server"
  241.         then
  242.                 doexe ${BASE_DIR}/usr/X11R6/${pkglibdir}/modules/linux/libfglrxdrm.so
  243.         else
  244.                 doexe ${BASE_DIR}/usr/X11R6/${pkglibdir}/modules/linux/libfglrxdrm.a
  245.         fi

  246.         if has_version ">=x11-base/xorg-x11-6.8.99" || \
  247.                 has_version "x11-base/xorg-server"
  248.         then
  249.                 cp -pPR ${ARCH_DIR}/usr/X11R6/${pkglibdir}/lib{fglrx_*,aticonfig} \
  250.                         ${D}/usr/$(get_libdir)
  251.         else
  252.                 cp -pPR ${ARCH_DIR}/usr/X11R6/${pkglibdir}/lib{fglrx_*,aticonfig.a} \
  253.                         ${D}/usr/$(get_libdir)
  254.         fi

  255.         #Not the best place
  256.         insinto ${X11_DIR}/include/X11/extensions
  257.         doins ${COMMON_DIR}/usr/X11R6/include/X11/extensions/fglrx_gamma.h

  258.         dodir /etc
  259.         cp -pPR ${COMMON_DIR}/etc/* ${D}/etc/
  260. }


  261. pkg_postinst() {
  262.         /usr/bin/eselect opengl set --use-old ati

  263.         echo
  264.         einfo "To switch to ATI OpenGL, run "eselect opengl set ati""
  265.         einfo "To change your xorg.conf you can use the bundled "aticonfig""
  266.         if use !opengl ; then
  267.         ewarn "You don't have the opengl useflag enabled, you won't be able to build"
  268.         ewarn "opengl applications nor use opengl driver features, if that isn't"
  269.         ewarn "the intended behaviour please add opengl to your useflag and issue"
  270.         ewarn "# emerge -Nu ati-drivers"
  271.         fi
  272.         echo
  273.         einfo "If you experience unexplained segmentation faults and kernel crashes"
  274.         einfo "with this driver and multi-threaded applications such as wine,"
  275.         einfo "set UseFastTLS in xorg.conf to either 0 or 1, but not 2."
  276.         # DRM module
  277.         linux-mod_pkg_postinst
  278. }

  279. pkg_postrm() {
  280.         linux-mod_pkg_postrm
  281.         /usr/bin/eselect opengl set --use-old xorg-x11
  282. }
复制代码


求助
回复 支持 反对

使用道具 举报

发表于 2006-7-3 02:19:01 | 显示全部楼层
搞不定了。先睡觉了。
回复 支持 反对

使用道具 举报

发表于 2006-7-3 10:32:56 | 显示全部楼层
我搞定了
fgl_glxgears在550左右
glxgears在2700左右
和8.26.18时候的930和4000左右还有些差距
就应该beta般的原因了
也许8.27.18的时候也好了呢
现在我们得到的8.27.4
和ATI的8.2*.18的惯例还是好几个阶段的
呵呵
回复 支持 反对

使用道具 举报

发表于 2006-7-3 12:00:25 | 显示全部楼层
Post by 13121982
我搞定了
fgl_glxgears在550左右
glxgears在2700左右
和8.26.18时候的930和4000左右还有些差距
就应该beta般的原因了
也许8.27.18的时候也好了呢
现在我们得到的8.27.4
和ATI的8.2*.18的惯例还是好几个阶段的
呵呵

兄弟你是amd64的还是386的,俺的怎么glxgears这么低?
回复 支持 反对

使用道具 举报

发表于 2006-7-3 14:21:34 | 显示全部楼层
我的问题在官方论坛发了5分钟就解决了
借用原话
  1. You did nothing wrong, that is the default behaviour for no video cards specified. You might want to try setting it to "vesa" if you want something default.
复制代码
回复 支持 反对

使用道具 举报

发表于 2006-7-3 14:30:11 | 显示全部楼层
Post by 种草得草
兄弟你是amd64的还是386的,俺的怎么glxgears这么低?

386
我没有x86-64的机子
:sorry
回复 支持 反对

使用道具 举报

发表于 2006-7-3 15:08:18 | 显示全部楼层
Post by 13121982
386
我没有x86-64的机子
:sorry




你怎么安装的。经验共享一下,要是写了ebuild,把ebuild贴出来。
我发现我xorg7.1 的dri目录变了。正在修改。
回复 支持 反对

使用道具 举报

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

本版积分规则

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