Forums

Skip to content

Advanced search
  • Quick links
    • Unanswered topics
    • Active topics
    • Search
  • FAQ
  • Login
  • Register
  • Board index Assistance Unsupported Software
  • Search

[how-to] 3d hardware acc with ati open source driver.

This forum covers all Gentoo-related software not officially supported by Gentoo. Ebuilds/software posted here might harm the health and stability of your system(s), and are not supported by Gentoo developers. Bugs/errors caused by ebuilds from overlays.gentoo.org are covered by this forum, too.
Post Reply
Advanced search
704 posts
  • Page 1 of 29
    • Jump to page:
  • 1
  • 2
  • 3
  • 4
  • 5
  • …
  • 29
  • Next
Author
Message
DaggyStyle
Watchman
Watchman
User avatar
Posts: 5969
Joined: Wed Mar 22, 2006 6:57 am

[how-to] 3d hardware acc with ati open source driver.

  • Quote

Post by DaggyStyle » Wed Aug 05, 2009 1:08 pm

curtsey of the guys at phoronix, see here: http://www.phoronix.com/forums/showthre ... #post85311
  1. download these ebuilds:
    • /usr/local/portage/x11-base/x11-drm/x11-drm-99999999.ebuild

      Code: Select all

       
      # 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: Select all

      # 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: Select all

      # 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: Select all

      # 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: Select all

    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
Top
kernelOfTruth
Watchman
Watchman
User avatar
Posts: 6111
Joined: Tue Dec 20, 2005 10:34 pm
Location: Vienna, Austria; Germany; hello world :)
Contact:
Contact kernelOfTruth
Website

  • Quote

Post by kernelOfTruth » Wed Aug 05, 2009 1:21 pm

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-fo ... scCD-4.9.0
https://github.com/kernelOfTruth/pulsea ... zer-ladspa

Hardcore Gentoo Linux user since 2004 :D
Top
DaggyStyle
Watchman
Watchman
User avatar
Posts: 5969
Joined: Wed Mar 22, 2006 6:57 am

  • Quote

Post by DaggyStyle » Wed Aug 05, 2009 1:25 pm

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
Top
MalleRIM
Guru
Guru
Posts: 563
Joined: Mon Jul 23, 2007 8:41 pm
Location: China

  • Quote

Post by MalleRIM » Fri Aug 07, 2009 1:55 pm

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.
Top
Kingoftherings
Guru
Guru
Posts: 328
Joined: Sun May 04, 2008 4:54 am

  • Quote

Post by Kingoftherings » Fri Aug 07, 2009 11:13 pm

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: Select all

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
Top
Joseph K.
Guru
Guru
User avatar
Posts: 436
Joined: Wed Jun 07, 2006 1:02 pm
Location: Sydney, Australia

  • Quote

Post by Joseph K. » Mon Aug 10, 2009 1:23 pm

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: Select all

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: Select all

(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.
Top
DaggyStyle
Watchman
Watchman
User avatar
Posts: 5969
Joined: Wed Mar 22, 2006 6:57 am

  • Quote

Post by DaggyStyle » Mon Aug 10, 2009 2:25 pm

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: Select all

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: Select all

(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
Top
kernelOfTruth
Watchman
Watchman
User avatar
Posts: 6111
Joined: Tue Dec 20, 2005 10:34 pm
Location: Vienna, Austria; Germany; hello world :)
Contact:
Contact kernelOfTruth
Website

  • Quote

Post by kernelOfTruth » Mon Aug 10, 2009 2:37 pm

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: Select all

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: Select all

(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:
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
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-fo ... scCD-4.9.0
https://github.com/kernelOfTruth/pulsea ... zer-ladspa

Hardcore Gentoo Linux user since 2004 :D
Top
Waninkoko
Guru
Guru
User avatar
Posts: 549
Joined: Fri May 13, 2005 10:21 pm

  • Quote

Post by Waninkoko » Mon Aug 10, 2009 3:23 pm

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
Top
kernelOfTruth
Watchman
Watchman
User avatar
Posts: 6111
Joined: Tue Dec 20, 2005 10:34 pm
Location: Vienna, Austria; Germany; hello world :)
Contact:
Contact kernelOfTruth
Website

  • Quote

Post by kernelOfTruth » Mon Aug 10, 2009 3:29 pm

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 ! :)
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-fo ... scCD-4.9.0
https://github.com/kernelOfTruth/pulsea ... zer-ladspa

Hardcore Gentoo Linux user since 2004 :D
Top
MalleRIM
Guru
Guru
Posts: 563
Joined: Mon Jul 23, 2007 8:41 pm
Location: China

  • Quote

Post by MalleRIM » Tue Aug 11, 2009 11:14 am

with the latest git-sources you can use kernel DRM and uninstal x11-drm.
Top
Joseph K.
Guru
Guru
User avatar
Posts: 436
Joined: Wed Jun 07, 2006 1:02 pm
Location: Sydney, Australia

  • Quote

Post by Joseph K. » Tue Aug 11, 2009 12:53 pm

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.
Top
Kingoftherings
Guru
Guru
Posts: 328
Joined: Sun May 04, 2008 4:54 am

  • Quote

Post by Kingoftherings » Tue Aug 11, 2009 7:55 pm

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.
Top
Joseph K.
Guru
Guru
User avatar
Posts: 436
Joined: Wed Jun 07, 2006 1:02 pm
Location: Sydney, Australia

  • Quote

Post by Joseph K. » Wed Aug 12, 2009 3:41 pm

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...
Top
Kingoftherings
Guru
Guru
Posts: 328
Joined: Sun May 04, 2008 4:54 am

  • Quote

Post by Kingoftherings » Thu Aug 13, 2009 3:32 am

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.
Top
Joseph K.
Guru
Guru
User avatar
Posts: 436
Joined: Wed Jun 07, 2006 1:02 pm
Location: Sydney, Australia

  • Quote

Post by Joseph K. » Thu Aug 13, 2009 4:35 am

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.
Top
Kingoftherings
Guru
Guru
Posts: 328
Joined: Sun May 04, 2008 4:54 am

  • Quote

Post by Kingoftherings » Thu Aug 13, 2009 4:12 pm

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 ... tcount=251
Top
kernelOfTruth
Watchman
Watchman
User avatar
Posts: 6111
Joined: Tue Dec 20, 2005 10:34 pm
Location: Vienna, Austria; Germany; hello world :)
Contact:
Contact kernelOfTruth
Website

  • Quote

Post by kernelOfTruth » Thu Aug 13, 2009 5:38 pm

no need for unnecessary voodoo steps:

add the x11-overlay via layman

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

Code: Select all

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


alternatively with

Code: Select all

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: Select all

modprobe drm && modprobe radeon

Code: Select all

cat /proc/modules | grep radeon
should reveal something like:
cat /proc/modules |grep radeon
radeon 413664 2 - Live 0xffffffffa0194000
drm 191616 3 radeon, Live 0xffffffffa0160000
https://github.com/kernelOfTruth/ZFS-fo ... scCD-4.9.0
https://github.com/kernelOfTruth/pulsea ... zer-ladspa

Hardcore Gentoo Linux user since 2004 :D
Top
pingufunkybeat
l33t
l33t
Posts: 610
Joined: Wed Dec 01, 2004 12:03 am

  • Quote

Post by pingufunkybeat » Thu Aug 13, 2009 6:52 pm

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.
Top
kernelOfTruth
Watchman
Watchman
User avatar
Posts: 6111
Joined: Tue Dec 20, 2005 10:34 pm
Location: Vienna, Austria; Germany; hello world :)
Contact:
Contact kernelOfTruth
Website

  • Quote

Post by kernelOfTruth » Thu Aug 13, 2009 8:07 pm

pingufunkybeat wrote:
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-fo ... scCD-4.9.0
https://github.com/kernelOfTruth/pulsea ... zer-ladspa

Hardcore Gentoo Linux user since 2004 :D
Top
pingufunkybeat
l33t
l33t
Posts: 610
Joined: Wed Dec 01, 2004 12:03 am

  • Quote

Post by pingufunkybeat » Thu Aug 13, 2009 8:37 pm

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?
Top
kernelOfTruth
Watchman
Watchman
User avatar
Posts: 6111
Joined: Tue Dec 20, 2005 10:34 pm
Location: Vienna, Austria; Germany; hello world :)
Contact:
Contact kernelOfTruth
Website

  • Quote

Post by kernelOfTruth » Thu Aug 13, 2009 8:53 pm

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: Select all

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-fo ... scCD-4.9.0
https://github.com/kernelOfTruth/pulsea ... zer-ladspa

Hardcore Gentoo Linux user since 2004 :D
Top
pingufunkybeat
l33t
l33t
Posts: 610
Joined: Wed Dec 01, 2004 12:03 am

  • Quote

Post by pingufunkybeat » Thu Aug 13, 2009 9:02 pm

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. :(
Top
Kingoftherings
Guru
Guru
Posts: 328
Joined: Sun May 04, 2008 4:54 am

  • Quote

Post by Kingoftherings » Thu Aug 13, 2009 9:16 pm

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.
Top
pingufunkybeat
l33t
l33t
Posts: 610
Joined: Wed Dec 01, 2004 12:03 am

  • Quote

Post by pingufunkybeat » Thu Aug 13, 2009 9:41 pm

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 :/
Top
Post Reply

704 posts
  • Page 1 of 29
    • Jump to page:
  • 1
  • 2
  • 3
  • 4
  • 5
  • …
  • 29
  • Next

Return to “Unsupported Software”

Jump to
  • Assistance
  • ↳   News & Announcements
  • ↳   Frequently Asked Questions
  • ↳   Installing Gentoo
  • ↳   Multimedia
  • ↳   Desktop Environments
  • ↳   Networking & Security
  • ↳   Kernel & Hardware
  • ↳   Portage & Programming
  • ↳   Gamers & Players
  • ↳   Other Things Gentoo
  • ↳   Unsupported Software
  • Discussion & Documentation
  • ↳   Documentation, Tips & Tricks
  • ↳   Gentoo Chat
  • ↳   Gentoo Forums Feedback
  • ↳   Duplicate Threads
  • International Gentoo Users
  • ↳   中文 (Chinese)
  • ↳   Dutch
  • ↳   Finnish
  • ↳   French
  • ↳   Deutsches Forum (German)
  • ↳   Diskussionsforum
  • ↳   Deutsche Dokumentation
  • ↳   Greek
  • ↳   Forum italiano (Italian)
  • ↳   Forum di discussione italiano
  • ↳   Risorse italiane (documentazione e tools)
  • ↳   Polskie forum (Polish)
  • ↳   Instalacja i sprzęt
  • ↳   Polish OTW
  • ↳   Portuguese
  • ↳   Documentação, Ferramentas e Dicas
  • ↳   Russian
  • ↳   Scandinavian
  • ↳   Spanish
  • ↳   Other Languages
  • Architectures & Platforms
  • ↳   Gentoo on ARM
  • ↳   Gentoo on PPC
  • ↳   Gentoo on Sparc
  • ↳   Gentoo on Alternative Architectures
  • ↳   Gentoo on AMD64
  • ↳   Gentoo for Mac OS X (Portage for Mac OS X)
  • Board index
  • All times are UTC
  • Delete cookies

© 2001–2026 Gentoo Foundation, Inc.

Powered by phpBB® Forum Software © phpBB Limited

Privacy Policy

 

 

magic