Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
[how-to] 3d hardware acc with ati open source driver.
View unanswered posts
View posts from last 24 hours

Goto page 1, 2, 3 ... 27, 28, 29  Next  
Reply to topic    Gentoo Forums Forum Index Unsupported Software
View previous topic :: View next topic  
Author Message
DaggyStyle
Advocate
Advocate


Joined: 22 Mar 2006
Posts: 4929

PostPosted: Wed Aug 05, 2009 1:08 pm    Post subject: [how-to] 3d hardware acc with ati open source driver. Reply with quote

curtsey of the guys at phoronix, see here: http://www.phoronix.com/forums/showthread.php?t=18349#post85311

  1. download these ebuilds:
    • /usr/local/portage/x11-base/x11-drm/x11-drm-99999999.ebuild
      Code:
       
      # Copyright 1999-2009 Gentoo Foundation                                             
      # Distributed under the terms of the GNU General Public License v2                 
      # $Header: /var/cvsroot/gentoo-x86/x11-base/x11-drm/x11-drm-20070314.ebuild,v 1.2 2007/03/14 18:18:53 battousai Exp $                                                                 
      EGIT_BRANCH="r6xx-r7xx-3d"                                                                 

      EAPI="2"

      EGIT_REPO_URI="git://anongit.freedesktop.org/~agd5f/drm"
      EGIT_PROJECT="libdrm"                                   

      [[ ${PV} = 9999* ]] && GIT_ECLASS="git"

      inherit eutils x11 linux-mod ${GIT_ECLASS}

      DESCRIPTION="DRM Kernel Modules for X11"
      HOMEPAGE="http://dri.sf.net"           
      PATCHVER="0.2"                         
      #SRC_PATCHES="http://dev.gentoo.org/~dberkholz/distfiles/${P}-gentoo-${PATCHVER}.tar.bz2"
      if [[ $PV = 9999* ]]; then                                                               
              SRC_URI=""                                                                       
      else                                                                                     
              SRC_URI="${SRC_PATCHES}                                                         
                      mirror://gentoo/linux-drm-${PV}-kernelsource.tar.bz2"                   
      fi                                                                                       

      LICENSE="X11"
      SLOT="0"     
      KEYWORDS="~alpha ~amd64 ~ia64 ~ppc ~x86 ~x86-fbsd"

      # ! IMPORTANT:
      # this is really out of sync with MESA, should we add here or remove from mesa?
      IUSE_VIDEO_CARDS="                                                             
              video_cards_mach64                                                     
              video_cards_mga                                                       
              video_cards_r128                                                       
              video_cards_radeon                                                     
              video_cards_radeonhd                                                   
              video_cards_savage                                                     
              video_cards_sis                                                       
              video_cards_sunffb                                                     
              video_cards_tdfx                                                       
              video_cards_via"                                                       
      IUSE="${IUSE_VIDEO_CARDS} kernel_FreeBSD kernel_linux"                         

      # Make sure Portage does _NOT_ strip symbols.  We will do it later and make sure
      # that only we only strip stuff that are safe to strip ...                     
      # Tests require user intervention (see bug #236845)                             
      RESTRICT="strip test"                                                           

      DEPEND="
              kernel_linux? ( virtual/linux-sources )
              kernel_FreeBSD? (                     
                      sys-freebsd/freebsd-sources   
                      sys-freebsd/freebsd-mk-defs   
              )                                     
      "                                             
      RDEPEND="${DEPEND}"                           

      S="${WORKDIR}/drm"

      pkg_setup() {
              _set_build_type

              # Setup the kernel's stuff.
              kernel_setup               

              # Set video cards to build for.
              set_vidcards                   

              # Determine which -core dir we build in.
              if [[ $CORE = fbsd ]]; then             
                      SRC_BUILD="${S}/bsd-core"       
              else                                   
                      SRC_BUILD="${S}/linux-core"     
              fi                                     
      }                                               

      src_unpack() {
              [[ $PV = 9999* ]] && git_src_unpack || unpack ${A}
      }                                                         

      src_prepare() {
              cd "${WORKDIR}"

              # Apply patches
              if [[ ${PV} != 9999* && -n ${SRC_PATCHES} ]]; then
                      EPATCH_FORCE="yes" \                     
                      EPATCH_SOURCE="${WORKDIR}/patches" \     
                      EPATCH_SUFFIX="patch" \                   
                      epatch                                   
              fi                                               

              # fix the makes for bsd/linux
              if [[ $CORE = fbsd ]]; then 
                      # Link in freebsd kernel.
                      ln -s "/usr/src/sys-${K_RV}" "${WORKDIR}/sys"
                      # SUBDIR variable gets to all Makefiles, we need it only in the main one.
                      SUBDIRS=${VIDCARDS//.ko}                                                 
                      sed -i \                                                                 
                              -e "s:SUBDIR\ =.*:SUBDIR\ =\ drm ${SUBDIRS}:" \                 
                              "${SRC_BUILD}"/Makefile || die "Fixing SUBDIRS failed."         
              else                                                                             
                      convert_to_m "${SRC_BUILD}"/Makefile                                     
              fi                                                                               
      }                                                                                       

      src_compile() {
              einfo "Building DRM in ${SRC_BUILD}..."
              src_compile_${CORE}                   
      }                                             

      src_install() {
              cd "${SRC_BUILD}"

              src_install_${CORE}

              dodoc "${S}/linux-core/README.drm"
      }                                         

      pkg_postinst() {
              if use video_cards_sis; then
                      einfo "SiS direct rendering only works on 300 series chipsets."
                      einfo "SiS framebuffer also needs to be enabled in the kernel."
              fi                                                                     

              if use video_cards_mach64; then
                      einfo "The Mach64 DRI driver is insecure."
                      einfo "Malicious clients can write to system memory."
                      einfo "For more information, see:"                   
                      einfo "http://dri.freedesktop.org/wiki/ATIMach64."   
              fi                                                           

              [[ ${CORE} = linux ]] && linux-mod_pkg_postinst
      }                                                     

      # Functions used above are defined below:

      _set_build_type() {
              # here we check if we are using linux kernel or the fbsd one
              use kernel_FreeBSD && CORE="fbsd"                           
              use kernel_linux && CORE="linux"                           
              ! use kernel_FreeBSD && ! use kernel_linux && die "Unsupported kernel type"
      }                                                                                 

      kernel_setup() {
              if [[ ${CORE} = fbsd ]] ; then
                      K_RV=${CHOST/*-freebsd/}
              else                           
                      CONFIG_CHECK="!DRM"     
                      ERROR_DRM="Please disable DRM in the kernel config. (CONFIG_DRM = n)"
                      linux-mod_pkg_setup                                                 

                      if kernel_is 2 4; then
                              eerror "Upstream support for 2.4 kernels has been removed, so this package will no"                                                                           
                              eerror "longer support them."                                     
                              die "Please use in-kernel DRM or switch to a 2.6 kernel."         
                      fi                                                                         
              fi                                                                                 
      }                                                                                         

      set_vidcards() {
              VIDCARDS=""

              if [[ -n "${VIDEO_CARDS}" ]]; then
                      use video_cards_mach64 && \
                              VIDCARDS="${VIDCARDS} mach64.${KV_OBJ}"
                      use video_cards_mga && \                       
                              VIDCARDS="${VIDCARDS} mga.${KV_OBJ}"   
                      use video_cards_r128 && \                     
                              VIDCARDS="${VIDCARDS} r128.${KV_OBJ}" 
                      use video_cards_radeon || use video_cards_radeonhd && \
                              VIDCARDS="${VIDCARDS} radeon.${KV_OBJ}"       
                      use video_cards_savage && \                           
                              VIDCARDS="${VIDCARDS} savage.${KV_OBJ}"       
                      use video_cards_sis && \                               
                              VIDCARDS="${VIDCARDS} sis.${KV_OBJ}"           
                      use video_cards_via && \                               
                              VIDCARDS="${VIDCARDS} via.${KV_OBJ}"           
                      use video_cards_sunffb && \                           
                              VIDCARDS="${VIDCARDS} ffb.${KV_OBJ}"           
                      use video_cards_tdfx && \                             
                              VIDCARDS="${VIDCARDS} tdfx.${KV_OBJ}"         
              fi                                                             
      }                                                                     

      src_compile_linux() {
              # remove leading and trailing space
              VIDCARDS="${VIDCARDS% }"           
              VIDCARDS="${VIDCARDS# }"           

              check_modules_supported
              MODULE_NAMES=""       
              for i in drm.${KV_OBJ} ${VIDCARDS}; do
                      MODULE_NAMES="${MODULE_NAMES} ${i/.${KV_OBJ}}(${PN}:${SRC_BUILD})"
                      i=$(echo ${i/.${KV_OBJ}} | tr '[:lower:]' '[:upper:]')           
                      eval MODULESD_${i}_ENABLED="yes"                                 
              done                                                                     

              # This now uses an M= build system. Makefile does most of the work.
              cd "${SRC_BUILD}"                                                 
              unset ARCH                                                         
              BUILD_TARGETS="modules"                                           
              BUILD_PARAMS="DRM_MODULES='${VIDCARDS}' LINUXDIR='${KERNEL_DIR}' M='${SRC_BUILD}'"
              ECONF_PARAMS='' S="${SRC_BUILD}" linux-mod_src_compile                           
      }                                                                                         

      src_compile_fbsd() {
              cd "${SRC_BUILD}"
              # Environment CFLAGS overwrite kernel CFLAGS which is bad.
              local svcflags=${CFLAGS}; local svldflags=${LDFLAGS}     
              unset CFLAGS; unset LDFLAGS                               
              MAKE=make \                                               
                      emake \                                           
                      NO_WERROR= \                                     
                      SYSDIR="${WORKDIR}/sys" \                         
                      KMODDIR="/boot/modules" \
                      || die "pmake failed."
              export CFLAGS=${svcflags}; export LDFLAGS=${svldflags}
      }

      src_install_linux() {
              linux-mod_src_install

              # Strip binaries, leaving /lib/modules untouched (bug #24415)
              strip_bins \/lib\/modules
      }

      src_install_fbsd() {
              cd "${SRC_BUILD}"
              dodir "/boot/modules"
              MAKE=make \
                      emake \
                      install \
                      NO_WERROR= \
                      DESTDIR="${D}" \
                      KMODDIR="/boot/modules" \
                      || die "Install failed."
      }

    • /usr/local/portage/media-libs/mesa/mesa-9999.ebuild
      Code:
      # Copyright 1999-2009 Gentoo Foundation                                     
      # Distributed under the terms of the GNU General Public License v2         
      # $Header: /var/cvsroot/gentoo-x86/media-libs/mesa/mesa-7.0.2.ebuild,v 1.6 2007/11/16 18:16:30 dberkholz Exp $                                                                       

      EAPI="2"

      EGIT_REPO_URI="git://anongit.freedesktop.org/mesa/mesa"

      if [[ ${PV} = 9999* ]]; then
              GIT_ECLASS="git"   
              EXPERIMENTAL="true"
              IUSE_VIDEO_CARDS_UNSTABLE="video_cards_nouveau"
              IUSE_UNSTABLE="gallium"                       
      fi                                                     

      inherit autotools multilib flag-o-matic ${GIT_ECLASS} portability

      OPENGL_DIR="xorg-x11"

      MY_PN="${PN/m/M}"
      MY_P="${MY_PN}-${PV/_/-}"
      MY_SRC_P="${MY_PN}Lib-${PV/_/-}"
      DESCRIPTION="OpenGL-like graphic library for Linux"
      HOMEPAGE="http://mesa3d.sourceforge.net/"         

      #SRC_PATCHES="mirror://gentoo/${P}-gentoo-patches-01.tar.bz2"
      if [[ $PV = *_rc* ]]; then                                   
              SRC_URI="http://www.mesa3d.org/beta/${MY_SRC_P}.tar.gz
                      ${SRC_PATCHES}"                               
      elif [[ $PV = 9999* ]]; then                                 
              SRC_URI="${SRC_PATCHES}"                             
      else                                                         
              SRC_URI="mirror://sourceforge/mesa3d/${MY_SRC_P}.tar.bz2
                      ${SRC_PATCHES}"                                 
      fi                                                             

      LICENSE="LGPL-2"
      SLOT="0"       
      KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd"

      IUSE_VIDEO_CARDS="${IUSE_VIDEO_CARDS_UNSTABLE}
              video_cards_intel                     
              video_cards_mach64                   
              video_cards_mga                       
              video_cards_none                     
              video_cards_r128                     
              video_cards_radeon                   
              video_cards_radeonhd                 
              video_cards_s3virge                   
              video_cards_savage                   
              video_cards_sis                       
              video_cards_sunffb                   
              video_cards_tdfx                     
              video_cards_trident                   
              video_cards_via"                     
      IUSE="${IUSE_VIDEO_CARDS} ${IUSE_UNSTABLE}   
              debug doc motif nptl pic xcb kernel_FreeBSD"

      # keep correct libdrm and dri2proto dep
      # keep blocks in rdepend for binpkg   
      RDEPEND="!<=x11-base/xorg-x11-6.9     
              !<=x11-proto/xf86driproto-2.0.3
              app-admin/eselect-opengl       
              dev-libs/expat                 
              >=x11-libs/libdrm-9999         
              x11-libs/libICE               
              x11-libs/libX11[xcb?]         
              x11-libs/libXdamage           
              x11-libs/libXext               
              x11-libs/libXi                 
              x11-libs/libXmu               
              x11-libs/libXxf86vm           
              motif? ( x11-libs/openmotif ) 
              doc? ( app-doc/opengl-manpages )
      "                                       
      DEPEND="${RDEPEND}                     
              dev-util/pkgconfig             
              x11-misc/makedepend             
              >=x11-proto/dri2proto-1.99.3   
              >=x11-proto/glproto-1.4.8       
              x11-proto/inputproto           
              x11-proto/xextproto             
              x11-proto/xf86driproto         
              x11-proto/xf86vidmodeproto     
      "                                       

      S="${WORKDIR}/${MY_P}"

      # Think about: ggi, svga, fbcon, no-X configs

      pkg_setup() {
              # gcc 4.2 has buggy ivopts
              if [[ $(gcc-version) = "4.2" ]]; then
                      append-flags -fno-ivopts     
              fi                                   

              # recommended by upstream
              append-flags -ffast-math
      }                               

      src_unpack() {
              [[ $PV = 9999* ]] && git_src_unpack || unpack ${A}
      }                                                         

      src_prepare() {
              # apply patches
              if [[ ${PV} != 9999* && -n ${SRC_PATCHES} ]]; then
                      EPATCH_FORCE="yes" \                     
                      EPATCH_SOURCE="${WORKDIR}/patches" \     
                      EPATCH_SUFFIX="patch" \                   
                      epatch                                   
              fi                                               
              # FreeBSD 6.* doesn't have posix_memalign().     
              [[ ${CHOST} == *-freebsd6.* ]] && \               
                      sed -i -e "s/-DHAVE_POSIX_MEMALIGN//" configure.ac

              eautoreconf
      }                 

      src_configure() {
              local myconf r600

              # Configurable DRI drivers
              driver_enable swrast     
              driver_enable video_cards_intel i810 i915 i965
              driver_enable video_cards_mach64 mach64       
              driver_enable video_cards_mga mga             
              driver_enable video_cards_r128 r128           
              # ATI has two implementations as video_cards 
              driver_enable video_cards_radeon radeon r200 r300 r600
              driver_enable video_cards_radeonhd r300 r600         
      #       driver_enable video_cards_radeon r600                 
      #       driver_enable video_cards_radeonhd r600               
              driver_enable video_cards_s3virge s3v                 
              driver_enable video_cards_savage savage               
              driver_enable video_cards_sis sis                     
              driver_enable video_cards_sunffb ffb                 
              driver_enable video_cards_tdfx tdfx                   
              driver_enable video_cards_trident trident             
              driver_enable video_cards_via unichrome               

              # all live (experimental) stuff is wrapped around with experimental variable
              # so the users cant get to this parts even with enabled useflags (downgrade
              # from live to stable for example)                                         
              if [[ -n ${EXPERIMENTAL} ]]; then                                           
                      # nouveau works only with gallium and intel, radeon, radeonhd can use
                      # gallium as alternative implementation (NOTE: THIS IS EXPERIMENTAL)
                      if use video_cards_nouveau && ! use gallium ; then                   
                              elog "Nouveau driver is available only via gallium interface."
                              elog "Enable gallium useflag if you want to use nouveau."     
                              echo                                                         
                      fi                                                                   
                      # state trackers, for now enable the one i want                       
                      # think about this bit more...                                       
                      myconf="${myconf} $(use_enable gallium)"                             
                      if use gallium; then                                                 
                              elog "Warning gallium interface is highly experimental so use"
                              elog "it only if you feel really really brave."               
                              elog                                                         
                              elog "Intel: works only i915."                               
                              elog "Nouveau: only available implementation, so no other choice"
                              elog "Radeon: implementation up to the r500."                   
                              echo                                                             
                              myconf="${myconf}                                               
                                      --with-state-trackers=glx,dri,egl                       
                                      $(use_enable video_cards_nouveau gallium-nouveau)       
                                      $(use_enable video_cards_intel gallium-intel)"           
                              if ! use video_cards_radeon && ! use video_cards_radeonhd; then 
                                      myconf="${myconf} --disable-gallium-radeon"             
                              else                                                             
                                      myconf="${myconf} --enable-gallium-radeon"               
                              fi                                                               
                      fi                                                                       
              fi                                                                               

              # Deactivate assembly code for pic build
              myconf="${myconf} $(use_enable !pic asm)"

              # --with-driver=dri|xlib|osmesa ; might get changed later to something
              # else than dri                                                       
              econf \                                                               
                      --with-driver=dri \                                           
                      --disable-glut \                                             
                      --without-demos \                                             
                      $(use_enable debug) \                                         
                      $(use_enable motif glw) \                                     
                      $(use_enable motif) \                                         
                      $(use_enable nptl glx-tls) \                                 
                      $(use_enable xcb) \                                           
                      --with-dri-drivers=${DRI_DRIVERS} \                           
                      ${myconf}                                                     
      }                                                                             

      src_install() {
              dodir /usr
              emake DESTDIR="${D}" install || die "Installation failed"

              # Remove redundant headers
              # GLUT thing             
              rm -f "${D}"/usr/include/GL/glut*.h || die "Removing glut include failed."
              # Glew includes                                                           
              rm -f "${D}"/usr/include/GL/{glew,glxew,wglew}.h \                       
                      || die "Removing glew includes failed."                           

              # Move libGL and others from /usr/lib to /usr/lib/opengl/blah/lib
              # because user can eselect desired GL provider.                 
              ebegin "Moving libGL and friends for dynamic switching"         
                      dodir /usr/$(get_libdir)/opengl/${OPENGL_DIR}/{lib,extensions,include}
                      local x                                                               
                      for x in "${D}"/usr/$(get_libdir)/libGL.{la,a,so*}; do               
                              if [ -f ${x} -o -L ${x} ]; then                               
                                      mv -f ${x} "${D}"/usr/$(get_libdir)/opengl/${OPENGL_DIR}/lib \                                                                                       
                                              || die "Failed to move ${x}"                       
                              fi                                                                 
                      done                                                                       
                      for x in "${D}"/usr/include/GL/{gl.h,glx.h,glext.h,glxext.h}; do           
                              if [ -f ${x} -o -L ${x} ]; then                                   
                                      mv -f ${x} "${D}"/usr/$(get_libdir)/opengl/${OPENGL_DIR}/include \                                                                                   
                                              || die "Failed to move ${x}"                       
                              fi                                                                 
                      done                                                                       
              eend $?                                                                           
      }                                                                                         

      pkg_postinst() {
              # Switch to the xorg implementation.
              echo                               
              eselect opengl set --use-old ${OPENGL_DIR}

              # info about removal of .la file
              elog "Mesa no-longer ships the libGL.la file."
              elog "This file was broken by design and thus removed."
              elog "For fixing all sort of configure issues please run:"
              elog "  lafilefixer --justfixit"
              elog "or run revdep-rebuild."
              elog "(lafilefixer package can be found as dev-util/lafilefixer)"
      }

      # $1 - VIDEO_CARDS flag
      # other args - names of DRI drivers to enable
      driver_enable() {
              case $# in
                      # for enabling unconditionally
                      1)
                              DRI_DRIVERS="${DRI_DRIVERS},$1"
                              ;;
                      *)
                              if use $1; then
                                      shift
                                      for i in $@; do
                                              DRI_DRIVERS="${DRI_DRIVERS},${i}"
                                      done
                              fi
                              ;;
              esac
      }

    • /usr/local/portage/x11-libs/libdrm/libdrm-9999.ebuild
      Code:

      # Copyright 1999-2007 Gentoo Foundation                                       
      # Distributed under the terms of the GNU General Public License v2           
      # $Header: /var/cvsroot/gentoo-x86/x11-libs/libdrm/libdrm-2.3.0.ebuild,v 1.8 2007/05/20 20:47:52 jer Exp $                                                                           

      # Must be before x-modular eclass is inherited
      #SNAPSHOT="yes"                               
      EGIT_BRANCH="r6xx-r7xx-3d"                   

      inherit autotools x-modular

      EGIT_REPO_URI="git://anongit.freedesktop.org/~agd5f/drm"

      DESCRIPTION="X.Org libdrm library"
      HOMEPAGE="http://dri.freedesktop.org/"
      SRC_URI=""

      KEYWORDS="~alpha ~amd64 ~arm ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sh ~sparc ~x86 ~x86-fbsd"

      IUSE=""
      RDEPEND="dev-libs/libpthread-stubs"
      DEPEND="${RDEPEND}"
      RESTRICT="test" # see bug #236845

      CONFIGURE_OPTIONS="--enable-udev --enable-radeon-experimental-api"

      pkg_postinst() {
              x-modular_pkg_postinst

              ewarn "libdrm's ABI may have changed without change in library name"
              ewarn "Please rebuild media-libs/mesa, x11-base/xorg-server and"
              ewarn "your video drivers in x11-drivers/*."
      }

    • /usr/local/portage/x11-drivers/xf86-video-ati/xf86-video-ati-9999.ebuild
      Code:

      # Copyright 1999-2007 Gentoo Foundation                                                   
      # Distributed under the terms of the GNU General Public License v2                         
      # $Header: /var/cvsroot/gentoo-x86/x11-drivers/xf86-video-ati/xf86-video-ati-6.6.192.ebuild,v 1.1 2007/05/21 05:25:33 dberkholz Exp $                                                 

      # Must be before x-modular eclass is inherited
      #SNAPSHOT="yes"

      inherit x-modular

      DESCRIPTION="ATI video driver"
      KEYWORDS="~alpha ~amd64 ~arm ~ia64 ~ppc ~ppc64 ~sh ~sparc ~x86 ~x86-fbsd"
      SRC_URI=""
      IUSE="dri"

      RDEPEND=">=x11-base/xorg-server-1.2"
      DEPEND="${RDEPEND}
              >=x11-misc/util-macros-1.1.3
              x11-proto/fontsproto
              x11-proto/randrproto
              x11-proto/videoproto
              x11-proto/xextproto
              x11-proto/xineramaproto
              x11-proto/xf86miscproto
              x11-proto/xproto
              dri? ( x11-proto/glproto
                              x11-proto/xf86driproto
                              >=x11-libs/libdrm-2 )"

      CONFIGURE_OPTIONS="$(use_enable dri)"

    and add them to your local overlay, don't forget to digest them.
  2. unkeyword them.
  3. update world
  4. if all compiles well, enable dri in xorg.conf
  5. reboot the system and wait till it boots up, then run glxinfo and glxgears.
  6. if all went well, the output of glxinfo | grep OpenGL should show this:
    Code:
    OpenGL vendor string: Advanced Micro Devices, Inc.
    OpenGL renderer string: Mesa DRI R600 (RV620 95C4) 20090101  TCL
    OpenGL version string: 1.4 Mesa 7.6-devel
    OpenGL extensions:



enjoy :) how it will work for you.
_________________
Only two things are infinite, the universe and human stupidity and I'm not sure about the former - Albert Einstein
ProjectFootball
Back to top
View user's profile Send private message
kernelOfTruth
Watchman
Watchman


Joined: 20 Dec 2005
Posts: 5709
Location: Vienna, Austria; Germany; hello world :)

PostPosted: Wed Aug 05, 2009 1:21 pm    Post subject: Reply with quote

thanks for collecting and posting those ebuilds here, DaggyStyle ! :)

any experiences how well compiz is working already with these drivers ?
_________________
https://github.com/kernelOfTruth/ZFS-for-SystemRescueCD
2.6.37.2_plus_v1: BFS, CFS,THP,compaction, zcache or TOI
Hardcore Linux user since 2004 :D
Back to top
View user's profile Send private message
DaggyStyle
Advocate
Advocate


Joined: 22 Mar 2006
Posts: 4929

PostPosted: Wed Aug 05, 2009 1:25 pm    Post subject: Reply with quote

kernelOfTruth wrote:
thanks for collecting and posting those ebuilds here, DaggyStyle ! :)

any experiences how well compiz is working already with these drivers ?

currently, I have problems with my computer (see my dell topic at the off the wall forums) so I have got the time to check compiz, but glxgears returns 15 (not 70, my bad) fps on my ati 3450mhd card and cpu seems less stressed.
also, installing them removes media-libs/glew so compiz extra plugins are broken and wont re emerge from some reason.

Edit: according to that post, compiz works well
_________________
Only two things are infinite, the universe and human stupidity and I'm not sure about the former - Albert Einstein
ProjectFootball
Back to top
View user's profile Send private message
MalleRIM
Guru
Guru


Joined: 23 Jul 2007
Posts: 540
Location: Germany

PostPosted: Fri Aug 07, 2009 1:55 pm    Post subject: Reply with quote

by now, you will need to install xorg-server-1.6 to be able to compile mesa.
And I finally got to compile xf86-video-ati: by disabling kms. According to some ebuilds you will need xorg-server 1.7 to enable kms - as it is not yet released you will need to compile it from git.
In my current setup, the driver is not much faster than software rendering, if it is at all. The Kwin desktop effects are still slow and not really comfortable to use.

But the driver has increased Performance for 3D games! Counter-Strike runs now better and Warcraft III is almost playable... Not actually great speed, but still an improvement.
Back to top
View user's profile Send private message
Kingoftherings
Guru
Guru


Joined: 04 May 2008
Posts: 328

PostPosted: Fri Aug 07, 2009 11:13 pm    Post subject: Reply with quote

If you have the X11 overlay, here is a patch to update the ebuilds you need.

Since the X11 overlay is just a git repository, you can apply the patch using git apply. Make sure to commit it, so future layman syncs don't mess things up.

You'll still need to redigest them and everything.

Code:

diff -ru layman/x11/media-libs/mesa/mesa-9999.ebuild overlay/media-libs/mesa/mesa-9999.ebuild
--- layman/x11/media-libs/mesa/mesa-9999.ebuild   2009-08-04 21:34:00.287907108 +0200
+++ overlay/media-libs/mesa/mesa-9999.ebuild   2009-08-04 19:19:22.047374703 +0200
@@ -127,8 +127,8 @@
    driver_enable video_cards_mga mga
    driver_enable video_cards_r128 r128
    # ATI has two implementations as video_cards
-   driver_enable video_cards_radeon radeon r200 r300 r600
-   driver_enable video_cards_radeonhd r300 r600
+   driver_enable video_cards_radeon r600
+   driver_enable video_cards_radeonhd r600
    driver_enable video_cards_s3virge s3v
    driver_enable video_cards_savage savage
    driver_enable video_cards_sis sis
diff -ru layman/x11/x11-base/x11-drm/x11-drm-99999999.ebuild overlay/x11-base/x11-drm/x11-drm-99999999.ebuild
--- layman/x11/x11-base/x11-drm/x11-drm-99999999.ebuild   2009-08-04 21:34:00.300961547 +0200
+++ overlay/x11-base/x11-drm/x11-drm-99999999.ebuild   2009-08-04 19:41:11.532221627 +0200
@@ -1,10 +1,11 @@
 # Copyright 1999-2009 Gentoo Foundation
 # Distributed under the terms of the GNU General Public License v2
 # $Header: /var/cvsroot/gentoo-x86/x11-base/x11-drm/x11-drm-20070314.ebuild,v 1.2 2007/03/14 18:18:53 battousai Exp $
+EGIT_BRANCH="r6xx-r7xx-3d"
 
 EAPI="2"
 
-EGIT_REPO_URI="git://anongit.freedesktop.org/git/mesa/drm"
+EGIT_REPO_URI="git://anongit.freedesktop.org/~agd5f/drm"
 EGIT_PROJECT="libdrm"
 
 [[ ${PV} = 9999* ]] && GIT_ECLASS="git"
diff -ru layman/x11/x11-libs/libdrm/libdrm-9999.ebuild overlay/x11-libs/libdrm/libdrm-9999.ebuild
--- layman/x11/x11-libs/libdrm/libdrm-9999.ebuild   2009-08-04 21:34:00.327906972 +0200
+++ overlay/x11-libs/libdrm/libdrm-9999.ebuild   2009-08-04 19:15:18.903550228 +0200
@@ -4,10 +4,11 @@
 
 # Must be before x-modular eclass is inherited
 #SNAPSHOT="yes"
+EGIT_BRANCH="r6xx-r7xx-3d"
 
 inherit autotools x-modular
 
-EGIT_REPO_URI="git://anongit.freedesktop.org/git/mesa/drm"
+EGIT_REPO_URI="git://anongit.freedesktop.org/~agd5f/drm"
 
 DESCRIPTION="X.Org libdrm library"
 HOMEPAGE="http://dri.freedesktop.org/"
@@ -20,7 +21,7 @@
 DEPEND="${RDEPEND}"
 RESTRICT="test" # see bug #236845
 
-CONFIGURE_OPTIONS="--enable-udev --enable-nouveau-experimental-api --enable-radeon-experimental-api"
+#CONFIGURE_OPTIONS="--enable-udev --enable-radeon-experimental-api"
 
 pkg_postinst() {
    x-modular_pkg_postinst
Back to top
View user's profile Send private message
Joseph K.
Guru
Guru


Joined: 07 Jun 2006
Posts: 400
Location: Melbourne, Australia

PostPosted: Mon Aug 10, 2009 1:23 pm    Post subject: Reply with quote

I've installed the xorg overlay and updated all the drm/dri packages, which made DRI work but OpenGL programs were giving this error:
Code:
IRQ's not enabled, falling back to busy waits: 2 16
drmRadeonCmdBuffer: -22

Now that I have disabled DRM in the kernel and emerged x11-drm, X is failing to enable DRI and is falling back to software. :(
Code:
(II) AIGLX: Screen 0 is not DRI2 capable
(II) AIGLX: Screen 0 is not DRI capable
(II) AIGLX: Loaded and initialized /usr/lib64/dri/swrast_dri.so
(II) GLX: Initialized DRISWRAST GL provider for screen 0
Do I have to apply this patch from Kingoftherings?
I've also never used git before, so some of the other manual interventions mentioned here or elsewhere are a little daunting. Help appreciated, thanks.
Back to top
View user's profile Send private message
DaggyStyle
Advocate
Advocate


Joined: 22 Mar 2006
Posts: 4929

PostPosted: Mon Aug 10, 2009 2:25 pm    Post subject: Reply with quote

Joseph K. wrote:
I've installed the xorg overlay and updated all the drm/dri packages, which made DRI work but OpenGL programs were giving this error:
Code:
IRQ's not enabled, falling back to busy waits: 2 16
drmRadeonCmdBuffer: -22

Now that I have disabled DRM in the kernel and emerged x11-drm, X is failing to enable DRI and is falling back to software. :(
Code:
(II) AIGLX: Screen 0 is not DRI2 capable
(II) AIGLX: Screen 0 is not DRI capable
(II) AIGLX: Loaded and initialized /usr/lib64/dri/swrast_dri.so
(II) GLX: Initialized DRISWRAST GL provider for screen 0
Do I have to apply this patch from Kingoftherings?
I've also never used git before, so some of the other manual interventions mentioned here or elsewhere are a little daunting. Help appreciated, thanks.

yes, you must apply the patch. if you are afraid to use the patch, just inject the ebuilds that I've posted into your local overlay
_________________
Only two things are infinite, the universe and human stupidity and I'm not sure about the former - Albert Einstein
ProjectFootball
Back to top
View user's profile Send private message
kernelOfTruth
Watchman
Watchman


Joined: 20 Dec 2005
Posts: 5709
Location: Vienna, Austria; Germany; hello world :)

PostPosted: Mon Aug 10, 2009 2:37 pm    Post subject: Reply with quote

DaggyStyle wrote:
Joseph K. wrote:
I've installed the xorg overlay and updated all the drm/dri packages, which made DRI work but OpenGL programs were giving this error:
Code:
IRQ's not enabled, falling back to busy waits: 2 16
drmRadeonCmdBuffer: -22

Now that I have disabled DRM in the kernel and emerged x11-drm, X is failing to enable DRI and is falling back to software. :(
Code:
(II) AIGLX: Screen 0 is not DRI2 capable
(II) AIGLX: Screen 0 is not DRI capable
(II) AIGLX: Loaded and initialized /usr/lib64/dri/swrast_dri.so
(II) GLX: Initialized DRISWRAST GL provider for screen 0
Do I have to apply this patch from Kingoftherings?
I've also never used git before, so some of the other manual interventions mentioned here or elsewhere are a little daunting. Help appreciated, thanks.

yes, you must apply the patch. if you are afraid to use the patch, just inject the ebuilds that I've posted into your local overlay


++

works fine here with a HD 4850:
Quote:
cat /var/log/Xorg.0.log | grep GL
(**) Option "AIGLX" "On"
(**) AIGLX enabled
(II) Loading extension GLX
ATI FireGL M24 GL 3154 (PCIE), ATI Radeon X600 (RV380) 3E50 (PCIE),
ATI FireGL V3200 (RV380) 3E54 (PCIE), ATI Radeon IGP320 (A3) 4136,
ATI FireGL Z1 AG (AGP), ATI Radeon 9800SE AH (AGP),
ATI FireGL X2 AK (AGP), ATI Radeon 9600 AP (AGP),
ATI Radeon 9600 AS (AGP), ATI FireGL T2 AT (AGP), ATI Radeon 9650,
ATI FireGL RV360 AV (AGP), ATI Radeon 7000 IGP (A4+) 4237,
ATI Radeon X800 (R420) JL (AGP), ATI FireGL X3 (R420) JM (AGP),
ATI Mobility FireGL 7800 M7 LX (AGP),
ATI FireGL Mobility 9000 (M9) Ld (AGP),
ATI FireGL X1 NG (AGP), ATI Radeon 9800PRO NH (AGP),
ATI Radeon 9800 NI (AGP), ATI FireGL X2 NK (AGP),
ATI FireGL Mobility T2 (M10) NT (AGP),
ATI FireGL Mobility T2e (M11) NV (AGP), ATI Radeon QD (AGP),
ATI FireGL 8700/8800 QH (AGP), ATI Radeon 8500 QL (AGP),
ATI FireGL M22 GL 5464 (PCIE), ATI Radeon X800 (R423) UH (PCIE),
ATI FireGL V7100 (R423) (PCIE), ATI FireGL V5100 (R423) UQ (PCIE),
ATI FireGL unknown (R423) UR (PCIE),
ATI FireGL unknown (R423) UT (PCIE),
ATI Mobility FireGL V5000 (M26) (PCIE),
ATI Mobility FireGL V5000 (M26) (PCIE),
ATI FireGL V3100 (RV370) 5B64 (PCIE),
ATI Mobility FireGL V5100 (M28) (PCIE),
ATI unknown Radeon / FireGL (R480) 5D50 (PCIE),
ATI FireGL V5000 (RV410) (PCIE), ATI Radeon X700 XT (RV410) (PCIE),
ATI Mobility FireGL V7200, ATI FireGL V7200, ATI FireGL V5300,
ATI Mobility FireGL V7100, ATI Radeon X1800, ATI Radeon X1800,
ATI FireGL V7300, ATI FireGL V7350, ATI Radeon X1600, ATI RV505,
ATI Radeon X1300/X1550, ATI Radeon X1550, ATI M54-GL,
ATI RV505, ATI RV505, ATI FireGL V3300, ATI FireGL V3350,
ATI Mobility FireGL V5200, ATI Mobility Radeon X1600,
ATI Radeon X1300 XT/X1600 Pro, ATI FireGL V3400,
ATI Mobility FireGL V5250, ATI Mobility Radeon X1700,
ATI Mobility Radeon X1700 XT, ATI FireGL V5200,
ATI Radeon X1950 GT, ATI RV570, ATI RV570, ATI FireGL V7400,
ATI FireGL V8650, ATI FireGL V8600, ATI FireGL V7600,
ATI FirePro V8750 (FireGL), ATI FirePro V7760 (FireGL),
AMD FireStream 9250, ATI FirePro V8700 (FireGL),
ATI FirePro V7750 (FireGL), ATI FirePro V5700 (FireGL),
ATI FirePro V3750 (FireGL), ATI Mobility Radeon HD 4830,
ATI Radeon HD 2400 Pro, ATI Radeon HD 2400 PRO AGP, ATI FireGL V4000,
ATI Radeon HD3870 X2, ATI FireGL V7700, ATI Radeon HD3850,
ATI Gemini Mobility Radeon HD 2600 XT, ATI FireGL V5600,
ATI FireGL V3600, ATI Radeon HD 2600 LE,
ATI Mobility FireGL Graphics Processor, ATI Radeon RV710,
ATI Mobility Radeon HD 3670, ATI Mobility FireGL V5700,
ATI Mobility FireGL V5725, ATI Radeon HD 3200 Graphics,
(II) AIGLX: Screen 0 is not DRI2 capable
(II) AIGLX: enabled GLX_MESA_copy_sub_buffer
(II) AIGLX: enabled GLX_SGI_make_current_read
(II) AIGLX: enabled GLX_SGI_swap_control and GLX_MESA_swap_control
(II) AIGLX: enabled GLX_texture_from_pixmap with driver support
(II) AIGLX: Loaded and initialized /usr/lib64/dri/r600_dri.so
(II) GLX: Initialized DRI GL provider for screen 0


now it only needs performance optimization, additional power saving and I'm happy :D
Quote:
glxinfo
name of display: :0.0
IRQ's not enabled, falling back to busy waits: 2 16
display: :0 screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.2
server glx extensions:
GLX_ARB_multisample, GLX_EXT_import_context, GLX_EXT_texture_from_pixmap,
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_copy_sub_buffer,
GLX_OML_swap_method, GLX_SGI_make_current_read, GLX_SGI_swap_control,
GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_visual_select_group
client glx vendor string: SGI
client glx version string: 1.4
client glx extensions:
GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context,
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_allocate_memory,
GLX_MESA_copy_sub_buffer, GLX_MESA_swap_control,
GLX_MESA_swap_frame_usage, GLX_OML_swap_method, GLX_OML_sync_control,
GLX_SGI_make_current_read, GLX_SGI_swap_control, GLX_SGI_video_sync,
GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer,
GLX_SGIX_visual_select_group, GLX_EXT_texture_from_pixmap
GLX version: 1.2
GLX extensions:
GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context,
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_copy_sub_buffer,
GLX_MESA_swap_control, GLX_MESA_swap_frame_usage, GLX_OML_swap_method,
GLX_SGI_make_current_read, GLX_SGI_swap_control, GLX_SGI_video_sync,
GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_visual_select_group
OpenGL vendor string: Advanced Micro Devices, Inc.
OpenGL renderer string: Mesa DRI R600 (RV770 9442) 20090101 TCL
OpenGL version string: 1.4 Mesa 7.6-devel
OpenGL extensions:
GL_ARB_depth_texture, GL_ARB_draw_buffers, GL_ARB_fragment_program,
GL_ARB_imaging, GL_ARB_multisample, GL_ARB_multitexture,
GL_ARB_point_parameters, GL_ARB_shadow, GL_ARB_shadow_ambient,
GL_ARB_texture_border_clamp, GL_ARB_texture_compression,
GL_ARB_texture_cube_map, GL_ARB_texture_env_add,
GL_ARB_texture_env_combine, GL_ARB_texture_env_crossbar,
GL_ARB_texture_env_dot3, GL_MESAX_texture_float,
GL_ARB_texture_mirrored_repeat, GL_ARB_texture_rectangle,
GL_ARB_transpose_matrix, GL_ARB_vertex_buffer_object,
GL_ARB_vertex_program, GL_ARB_window_pos, GL_EXT_abgr, GL_EXT_bgra,
GL_EXT_blend_color, GL_EXT_blend_equation_separate,
GL_EXT_blend_func_separate, GL_EXT_blend_logic_op, GL_EXT_blend_minmax,
GL_EXT_blend_subtract, GL_EXT_compiled_vertex_array, GL_EXT_convolution,
GL_EXT_copy_texture, GL_EXT_draw_range_elements, GL_EXT_fog_coord,
GL_EXT_gpu_program_parameters, GL_EXT_histogram, GL_EXT_multi_draw_arrays,
GL_EXT_packed_depth_stencil, GL_EXT_packed_pixels,
GL_EXT_point_parameters, GL_EXT_polygon_offset, GL_EXT_rescale_normal,
GL_EXT_secondary_color, GL_EXT_separate_specular_color,
GL_EXT_shadow_funcs, GL_EXT_stencil_two_side, GL_EXT_stencil_wrap,
GL_EXT_subtexture, GL_EXT_texture, GL_EXT_texture3D,
GL_EXT_texture_edge_clamp, GL_EXT_texture_env_add,
GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3,
GL_EXT_texture_filter_anisotropic, GL_EXT_texture_lod_bias,
GL_EXT_texture_mirror_clamp, GL_EXT_texture_object,
GL_EXT_texture_rectangle, GL_EXT_vertex_array, GL_APPLE_packed_pixels,
GL_ATI_blend_equation_separate, GL_ATI_texture_env_combine3,
GL_ATI_texture_mirror_once, GL_ATI_separate_stencil,
GL_IBM_multimode_draw_arrays, GL_IBM_rasterpos_clip,
GL_IBM_texture_mirrored_repeat, GL_INGR_blend_func_separate,
GL_MESA_pack_invert, GL_MESA_ycbcr_texture, GL_MESA_window_pos,
GL_NV_blend_square, GL_NV_light_max_exponent, GL_NV_texture_rectangle,
GL_NV_texgen_reflection, GL_NV_vertex_program, GL_OES_read_format,
GL_SGI_color_matrix, GL_SGI_color_table, GL_SGIS_generate_mipmap,
GL_SGIS_texture_border_clamp, GL_SGIS_texture_edge_clamp,
GL_SGIS_texture_lod, GL_SUN_multi_draw_arrays

8 GLX Visuals
visual x bf lv rg d st colorbuffer ax dp st accumbuffer ms cav
id dep cl sp sz l ci b ro r g b a bf th cl r g b a ns b eat
----------------------------------------------------------------------
0x21 24 tc 0 32 0 r y . 8 8 8 8 0 24 8 0 0 0 0 0 0 None
0x22 24 dc 0 32 0 r y . 8 8 8 8 0 24 8 0 0 0 0 0 0 None
0x6d 24 tc 0 32 0 r . . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow
0x6e 24 tc 0 32 0 r y . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow
0x6f 24 dc 0 32 0 r . . 8 8 8 8 0 24 8 0 0 0 0 0 0 None
0x70 24 dc 0 32 0 r . . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow
0x71 24 dc 0 32 0 r y . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow
0x64 32 tc 0 32 0 r . . 8 8 8 8 0 24 8 0 0 0 0 0 0 Ncon

8 GLXFBConfigs:
visual x bf lv rg d st colorbuffer ax dp st accumbuffer ms cav
id dep cl sp sz l ci b ro r g b a bf th cl r g b a ns b eat
----------------------------------------------------------------------
0x65 0 tc 0 32 0 r . . 8 8 8 8 0 24 8 0 0 0 0 0 0 None
0x66 0 tc 0 32 0 r . . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow
0x67 0 tc 0 32 0 r y . 8 8 8 8 0 24 8 0 0 0 0 0 0 None
0x68 0 tc 0 32 0 r y . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow
0x69 0 dc 0 32 0 r . . 8 8 8 8 0 24 8 0 0 0 0 0 0 None
0x6a 0 dc 0 32 0 r . . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow
0x6b 0 dc 0 32 0 r y . 8 8 8 8 0 24 8 0 0 0 0 0 0 None
0x6c 0 dc 0 32 0 r y . 8 8 8 8 0 24 8 16 16 16 16 0 0 Slow

_________________
https://github.com/kernelOfTruth/ZFS-for-SystemRescueCD
2.6.37.2_plus_v1: BFS, CFS,THP,compaction, zcache or TOI
Hardcore Linux user since 2004 :D
Back to top
View user's profile Send private message
Waninkoko
Guru
Guru


Joined: 13 May 2005
Posts: 549

PostPosted: Mon Aug 10, 2009 3:23 pm    Post subject: Reply with quote

I hope this works too with my HD 4870, I'm tired of fglrx crap.

kernelOfTruth: how many fps you get in glxgears? just for curiosity :P
Back to top
View user's profile Send private message
kernelOfTruth
Watchman
Watchman


Joined: 20 Dec 2005
Posts: 5709
Location: Vienna, Austria; Germany; hello world :)

PostPosted: Mon Aug 10, 2009 3:29 pm    Post subject: Reply with quote

Waninkoko wrote:
I hope this works too with my HD 4870, I'm tired of fglrx crap.

kernelOfTruth: how many fps you get in glxgears? just for curiosity :P


Hi Waninkoko,

welcome back ! :)
Quote:
glxgears
IRQ's not enabled, falling back to busy waits: 2 16
94 frames in 5.1 seconds = 18.610 FPS
87 frames in 5.0 seconds = 17.231 FPS
92 frames in 5.0 seconds = 18.322 FPS
92 frames in 5.0 seconds = 18.288 FPS
84 frames in 5.0 seconds = 16.771 FPS
87 frames in 5.0 seconds = 17.390 FPS
97 frames in 5.1 seconds = 19.203 FPS
95 frames in 5.0 seconds = 18.859 FPS




googleearth doesn't even start right now :lol:
_________________
https://github.com/kernelOfTruth/ZFS-for-SystemRescueCD
2.6.37.2_plus_v1: BFS, CFS,THP,compaction, zcache or TOI
Hardcore Linux user since 2004 :D
Back to top
View user's profile Send private message
MalleRIM
Guru
Guru


Joined: 23 Jul 2007
Posts: 540
Location: Germany

PostPosted: Tue Aug 11, 2009 11:14 am    Post subject: Reply with quote

with the latest git-sources you can use kernel DRM and uninstal x11-drm.
Back to top
View user's profile Send private message
Joseph K.
Guru
Guru


Joined: 07 Jun 2006
Posts: 400
Location: Melbourne, Australia

PostPosted: Tue Aug 11, 2009 12:53 pm    Post subject: Reply with quote

MalleRIM wrote:
with the latest git-sources you can use kernel DRM and uninstal x11-drm.
And what about modifying the ebuilds as Kingoftherings specified? Because I haven't been able to get that to work yet. :/ When I tried to patch, the hunks failed, and when I tried to inject the ebuilds, digesting them complained about syntax errors. I'll try the latest kernel git sources and see what happens.
Back to top
View user's profile Send private message
Kingoftherings
Guru
Guru


Joined: 04 May 2008
Posts: 328

PostPosted: Tue Aug 11, 2009 7:55 pm    Post subject: Reply with quote

Joseph K. wrote:
MalleRIM wrote:
with the latest git-sources you can use kernel DRM and uninstal x11-drm.
And what about modifying the ebuilds as Kingoftherings specified? Because I haven't been able to get that to work yet. :/ When I tried to patch, the hunks failed, and when I tried to inject the ebuilds, digesting them complained about syntax errors. I'll try the latest kernel git sources and see what happens.


If the kernel DRM does work, I don't know if it does or not, but if it does you would need unmodified copies of mesa-9999 and xf86-video-ati-9999 from the x11 branch and the modified libdrm AFAIK.

As for the patch, you have to use the 'git apply' command, I don't think the regular patch command can do it since the patch modifies multiple files. But I'm not a diff/patch expert by any means.
If you can't get the patch to apply with 'git apply *your patch file*', you could just do it by hand with copy and paste. ;)

After you modify you need to digest them, then do 'git commit -a' and add a quick message so layman -S won't overwrite your changes.
Back to top
View user's profile Send private message
Joseph K.
Guru
Guru


Joined: 07 Jun 2006
Posts: 400
Location: Melbourne, Australia

PostPosted: Wed Aug 12, 2009 3:41 pm    Post subject: Reply with quote

Kingoftherings wrote:
If the kernel DRM does work, I don't know if it does or not, but if it does you would need unmodified copies of mesa-9999 and xf86-video-ati-9999 from the x11 branch and the modified libdrm AFAIK.

As for the patch, you have to use the 'git apply' command, I don't think the regular patch command can do it since the patch modifies multiple files. But I'm not a diff/patch expert by any means.
If you can't get the patch to apply with 'git apply *your patch file*', you could just do it by hand with copy and paste. ;)

After you modify you need to digest them, then do 'git commit -a' and add a quick message so layman -S won't overwrite your changes.
Using vanilla-sources-2.31_rc5, I have DRI enabled in X, but I am still getting the usual "IRQs not enabled" error in glxgears. Tomorrow I will try to patch/replace the libdrm ebuild again...
Back to top
View user's profile Send private message
Kingoftherings
Guru
Guru


Joined: 04 May 2008
Posts: 328

PostPosted: Thu Aug 13, 2009 3:32 am    Post subject: Reply with quote

Joseph K. wrote:
Kingoftherings wrote:
If the kernel DRM does work, I don't know if it does or not, but if it does you would need unmodified copies of mesa-9999 and xf86-video-ati-9999 from the x11 branch and the modified libdrm AFAIK.

As for the patch, you have to use the 'git apply' command, I don't think the regular patch command can do it since the patch modifies multiple files. But I'm not a diff/patch expert by any means.
If you can't get the patch to apply with 'git apply *your patch file*', you could just do it by hand with copy and paste. ;)

After you modify you need to digest them, then do 'git commit -a' and add a quick message so layman -S won't overwrite your changes.
Using vanilla-sources-2.31_rc5, I have DRI enabled in X, but I am still getting the usual "IRQs not enabled" error in glxgears. Tomorrow I will try to patch/replace the libdrm ebuild again...


Everyone gets the IRQ thing, and the Xorg developers know that it's there. It doesn't seem to affect anything, as I can get 2400fps on glxgears with that error.
Back to top
View user's profile Send private message
Joseph K.
Guru
Guru


Joined: 07 Jun 2006
Posts: 400
Location: Melbourne, Australia

PostPosted: Thu Aug 13, 2009 4:35 am    Post subject: Reply with quote

Kingoftherings wrote:
Everyone gets the IRQ thing, and the Xorg developers know that it's there. It doesn't seem to affect anything, as I can get 2400fps on glxgears with that error.
Ohhh, well, I should explain that for me that error/warning is associated with OpenGL applications not working at all. A window appears for a split second and then vanishes.
Back to top
View user's profile Send private message
Kingoftherings
Guru
Guru


Joined: 04 May 2008
Posts: 328

PostPosted: Thu Aug 13, 2009 4:12 pm    Post subject: Reply with quote

Joseph K. wrote:
Kingoftherings wrote:
Everyone gets the IRQ thing, and the Xorg developers know that it's there. It doesn't seem to affect anything, as I can get 2400fps on glxgears with that error.
Ohhh, well, I should explain that for me that error/warning is associated with OpenGL applications not working at all. A window appears for a split second and then vanishes.


Here is some instructions from Bridgeman at Phoronix Forums; he works at AMD:
http://www.phoronix.com/forums/showpost.php?p=86849&postcount=251
Back to top
View user's profile Send private message
kernelOfTruth
Watchman
Watchman


Joined: 20 Dec 2005
Posts: 5709
Location: Vienna, Austria; Germany; hello world :)

PostPosted: Thu Aug 13, 2009 5:38 pm    Post subject: Reply with quote

no need for unnecessary voodoo steps:

add the x11-overlay via layman

and unpack, un-keyword and emerge the following ebuilds:

Code:
emerge -1 =x11-drm-99999999 =mesa-9999 =libdrm-9999 =xf86-video-ati-9999


alternatively with

Code:
emerge =x11-drm-99999999 =mesa-9999 =libdrm-9999 =xf86-video-ati-9999


(without -1 / oneshot in order to be registered in the world file)

then make sure drm and radeon kernel-module are loaded

Code:
modprobe drm && modprobe radeon


Code:
cat /proc/modules | grep radeon


should reveal something like:
Quote:
cat /proc/modules |grep radeon
radeon 413664 2 - Live 0xffffffffa0194000
drm 191616 3 radeon, Live 0xffffffffa0160000

_________________
https://github.com/kernelOfTruth/ZFS-for-SystemRescueCD
2.6.37.2_plus_v1: BFS, CFS,THP,compaction, zcache or TOI
Hardcore Linux user since 2004 :D
Back to top
View user's profile Send private message
pingufunkybeat
l33t
l33t


Joined: 01 Dec 2004
Posts: 610

PostPosted: Thu Aug 13, 2009 6:52 pm    Post subject: Reply with quote

Quote:
with the latest git-sources you can use kernel DRM and uninstal x11-drm.

Not if you have a 600/700 card.

You still need the drm from the agd5f branch for that.

I'm trying this out, thanks for the writeup and making it easy to test. Until recently, this stuff was spread over too many branches, and didn't really do much. Now is a great time to try the 3d stuff out.
Back to top
View user's profile Send private message
kernelOfTruth
Watchman
Watchman


Joined: 20 Dec 2005
Posts: 5709
Location: Vienna, Austria; Germany; hello world :)

PostPosted: Thu Aug 13, 2009 8:07 pm    Post subject: Reply with quote

pingufunkybeat wrote:
Quote:
with the latest git-sources you can use kernel DRM and uninstal x11-drm.

Not if you have a 600/700 card.

You still need the drm from the agd5f branch for that.

I'm trying this out, thanks for the writeup and making it easy to test. Until recently, this stuff was spread over too many branches, and didn't really do much. Now is a great time to try the 3d stuff out.


thanks to the x11-overlay there's not much work involved from the gentoo user's side

thanks Donnie :)
_________________
https://github.com/kernelOfTruth/ZFS-for-SystemRescueCD
2.6.37.2_plus_v1: BFS, CFS,THP,compaction, zcache or TOI
Hardcore Linux user since 2004 :D
Back to top
View user's profile Send private message
pingufunkybeat
l33t
l33t


Joined: 01 Dec 2004
Posts: 610

PostPosted: Thu Aug 13, 2009 8:37 pm    Post subject: Reply with quote

Hrm...

Strange, I get errors when compiling x11-drm, seems like it's trying to compile the mach driver or something silly like that. I've had to edit all the cards other than radeon from the ebuild, that fixed it. Don't know what went wrong.

also, the git update is taking a really long time. Is that normal?
Back to top
View user's profile Send private message
kernelOfTruth
Watchman
Watchman


Joined: 20 Dec 2005
Posts: 5709
Location: Vienna, Austria; Germany; hello world :)

PostPosted: Thu Aug 13, 2009 8:53 pm    Post subject: Reply with quote

pingufunkybeat wrote:
Hrm...

Strange, I get errors when compiling x11-drm, seems like it's trying to compile the mach driver or something silly like that. I've had to edit all the cards other than radeon from the ebuild, that fixed it. Don't know what went wrong.

also, the git update is taking a really long time. Is that normal?


video_cards in /etc/make.conf should contain something like:

Code:
VIDEO_CARDS="ati radeon radeonhd"


perhaps at the very first time it took a little bit but generally it's quite fast

what kind of connection have you got ?

also if any strange errors occur: post 'em

that's what the forums are for :)
_________________
https://github.com/kernelOfTruth/ZFS-for-SystemRescueCD
2.6.37.2_plus_v1: BFS, CFS,THP,compaction, zcache or TOI
Hardcore Linux user since 2004 :D
Back to top
View user's profile Send private message
pingufunkybeat
l33t
l33t


Joined: 01 Dec 2004
Posts: 610

PostPosted: Thu Aug 13, 2009 9:02 pm    Post subject: Reply with quote

The video cards are fine in make.conf. For some reason, the ebuild for x11-drm was trying to build mach drivers, and this failed. After I edited the ebuild to only build the radeon stuff, it worked. Not very elegant, but it works for now and it beats installing by hand.

Now I seem to have EXA/XRender, but no Xvideo, which is strange.

Working on the rest of the packages now... It would really help if the git fetch weren't stalling. :(
Back to top
View user's profile Send private message
Kingoftherings
Guru
Guru


Joined: 04 May 2008
Posts: 328

PostPosted: Thu Aug 13, 2009 9:16 pm    Post subject: Reply with quote

pingufunkybeat wrote:
The video cards are fine in make.conf. For some reason, the ebuild for x11-drm was trying to build mach drivers, and this failed. After I edited the ebuild to only build the radeon stuff, it worked. Not very elegant, but it works for now and it beats installing by hand.

Now I seem to have EXA/XRender, but no Xvideo, which is strange.

Working on the rest of the packages now... It would really help if the git fetch weren't stalling. :(


Weird, x11-drm tried installing gentoo-sources for me, and I have vanilla-sources.
It had DEPEND = "virtua/linux-sources" or something, so it should have recognized I had vanilla-sources.
Back to top
View user's profile Send private message
pingufunkybeat
l33t
l33t


Joined: 01 Dec 2004
Posts: 610

PostPosted: Thu Aug 13, 2009 9:41 pm    Post subject: Reply with quote

kernelOfTruth wrote:
perhaps at the very first time it took a little bit but generally it's quite fast

what kind of connection have you got ?

My connection should be at least 6 Mbit, it's usually very fast.

But now Mesa has been stuck at 13% for at least half an hour :/
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Unsupported Software All times are GMT
Goto page 1, 2, 3 ... 27, 28, 29  Next
Page 1 of 29

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum