You are not logged in.

#1 2009-03-02 16:27:17

Perry3D
Member
Registered: 2008-03-20
Posts: 553

radeonhd r6xx-r7xx and new drm-modules.

Hi,

ich created two PKGBUILDS for the r6xx-r7xx branch of the radeonhd driver. Therefor i need the new drm modules (also from the r6xx-r7xx branch).

You can get it here:
drm module: http://aur.archlinux.org/packages.php?ID=24235

pkgname=drm-radeon-module-git-r6xx-r7xx
pkgver=20090302
pkgrel=1
_kernver=`uname -r`
pkgdesc="radeon and drm module for xf86-video-radeonhd-git-r6xx-r7xx"
arch=(i686 x86_64)
depends=('glibc' 'libdrm')
options=('!libtool')
url="http://dri.freedesktop.org/"
license=('custom')
groups=('xorg')
install=('drm.install')
source=()
md5sums=()

_gitroot="git://git.freedesktop.org/git/mesa/drm"
_gitname="drm"
_branch="r6xx-r7xx-support origin/r6xx-r7xx-support"

build() {
    export MAKEFLAGS=""
    msg "Connecting to git.freedesktop.org GIT server...."

    echo ${_kernver}
    if [ -d ${srcdir}/$_gitname ] ; then
        cd $_gitname && git pull origin
        msg "The local files are updated."
    else
        git clone $_gitroot
    fi

    cd ${srcdir}/${_gitname}
    msg "Switch branch to r6xx-r7xx-support"
    git checkout -b $_branch

    msg "GIT checkout done or server timeout"
    cd ${srcdir}
    rm -rf ${_gitname}-build
    git clone $_gitname $_gitname-build
    cd ${srcdir}/$_gitname-build

    msg "Starting make..."
    cd linux-core
    make radeon.o || return 1
    mkdir -p $startdir/pkg/lib/modules/${_kernver}/kernel/drivers/char/drm/
    install -m644 drm.ko $startdir/pkg/lib/modules/${_kernver}/kernel/drivers/char/drm/
    install -m644 radeon.ko $startdir/pkg/lib/modules/${_kernver}/kernel/drivers/char/drm/
}

drm.install:

post_install() {
    echo "<<< Running depmod >>>"
    depmod
}

post_upgrade() {
    post_install
}

xf86-video-radeonhd-git-r6xx-r7xx: http://aur.archlinux.org/packages.php?ID=24236

# Contributor: Perry3D <perry3d@gmail.com>
# Parts taken from avivo pkgbuild from: Markus Gross <xsdnyd@gmail.com> and jonathan <eyeswide@gmail.com>
# originally based on a PKGBUILD created by "billy" from archlinux.org forum

pkgname=xf86-video-radeonhd-git-r6xx-r7xx
pkgver=20090225
pkgrel=1
pkgdesc="Driver for AMD GPG r6xx/r7xx Chipsets - r6xx-r7xx branch"
url="http://cgit.freedesktop.org/xorg/driver/xf86-video-radeonhd/"
arch=('i686' 'x86_64')
license=('MIT')
depends=('xorg-server>=1.2.0''xf86proto''dri2proto''drm-radeon-module-git-r6xx-r7xx')
makedepends=('git' 'xorg-util-macros')
provides=('xf86-video-radeonhd')
options=('!libtool')
groups=('xorg')
install=radeonhd.install
source=()
md5sums=()

_gitroot="git://anongit.freedesktop.org/git/xorg/driver/xf86-video-radeonhd"
_gitname="xf86-video-radeonhd"
_branch="r6xx-r7xx-support origin/r6xx-r7xx-support"

build() {
    cd $startdir/src
    
    msg "Connecting to git.freedesktop.org GIT server...."

    if [ -d $startdir/src/$_gitname ] ; then
    cd $_gitname && git pull origin
    msg "The local files are updated."
    else
    git clone $_gitroot
    fi
    msg "GIT checkout done or server timeout"
    msg "Starting make..."

    cp -r $startdir/src/$_gitname $startdir/src/$_gitname-build
    cd $startdir/src/$_gitname-build
    msg "Switch branch to r6xx-r7xx-support"
    git checkout -b $_branch
    ./autogen.sh --prefix=/usr/ || return 1
    make all || return 1
    make DESTDIR=$startdir/pkg install
    install -Dm644 COPYING $startdir/pkg/usr/share/licenses/$_gitname/COPYING
    rm -rf $startdir/src/$_gitname-build
}

I have already some comments. So i need some testers and a little help.
On my desktop pc (Arch x86_64 and a HD4850) it works fine.

Maybe i missed some dependencies.

Perry

Offline

#2 2009-03-02 17:13:30

kfgz
Member
From: Supraśl, Poland
Registered: 2009-03-02
Posts: 114

Re: radeonhd r6xx-r7xx and new drm-modules.

I've installed drm-radeon-module-git-r6xx-r7xx but I still have error:

In file included from r6xx_accel.h:4,
from rhd_driver.c:121:
/usr/include/xf86drm.h:40:17: error: drm.h: No such file or directory

Offline

#3 2009-03-02 17:29:35

Perry3D
Member
Registered: 2008-03-20
Posts: 553

Re: radeonhd r6xx-r7xx and new drm-modules.

Can you paste the configure output?

Mine looks like this:

autoreconf: Entering directory `.'                                                                                                                                                                                                           
autoreconf: configure.ac: not using Gettext                                                                                                                                                                                                  
autoreconf: running: aclocal                                                                                                                                                                                                                 
autoreconf: configure.ac: tracing                                                                                                                                                                                                            
autoreconf: running: libtoolize --copy                                                                                                                                                                                                       
libtoolize: Consider adding `AC_CONFIG_MACRO_DIR([m4])' to configure.ac and                                                                                                                                                                  
libtoolize: rerunning libtoolize, to keep the correct libtool macros in-tree.                                                                                                                                                                
libtoolize: Consider adding `-I m4' to ACLOCAL_AMFLAGS in Makefile.am.                                                                                                                                                                       
autoreconf: running: /usr/bin/autoconf                                                                                                                                                                                                       
autoreconf: running: /usr/bin/autoheader                                                                                                                                                                                                     
autoreconf: running: automake --add-missing --copy --no-force                                                                                                                                                                                
autoreconf: Leaving directory `.'                                                                                                                                                                                                            
checking for a BSD-compatible install... /bin/install -c                                                                                                                                                                                     
checking whether build environment is sane... yes                                                                                                                                                                                            
checking for a thread-safe mkdir -p... /bin/mkdir -p                                                                                                                                                                                         
checking for gawk... gawk                                                                                                                                                                                                                    
checking whether make sets $(MAKE)... yes                                                                                                                                                                                                    
checking whether to enable maintainer-specific portions of Makefiles... yes                                                                                                                                                                  
checking for gcc... gcc                                                                                                                                                                                                                      
checking for C compiler default output file name... a.out                                                                                                                                                                                    
checking whether the C compiler works... yes                                                                                                                                                                                                 
checking whether we are cross compiling... no                                                                                                                                                                                                
checking for suffix of executables...                                                                                                                                                                                                        
checking for suffix of object files... o                                                                                                                                                                                                     
checking whether we are using the GNU C compiler... yes                                                                                                                                                                                      
checking whether gcc accepts -g... yes                                                                                                                                                                                                       
checking for gcc option to accept ISO C89... none needed                                                                                                                                                                                     
checking for style of include used by make... GNU                                                                                                                                                                                            
checking dependency style of gcc... gcc3                                                                                                                                                                                                     
checking for a sed that does not truncate output... /bin/sed                                                                                                                                                                                 
checking whether /bin/sed can substitute tabs and newlines for text... yes                                                                                                                                                                   
checking build system type... x86_64-unknown-linux-gnu                                                                                                                                                                                       
checking host system type... x86_64-unknown-linux-gnu                                                                                                                                                                                        
checking for a sed that does not truncate output... (cached) /bin/sed                                                                                                                                                                        
checking for grep that handles long lines and -e... /bin/grep                                                                                                                                                                                
checking for egrep... /bin/grep -E                                                                                                                                                                                                           
checking for fgrep... /bin/grep -F                                                                                                                                                                                                           
checking for ld used by gcc... /usr/bin/ld                                                                                                                                                                                                   
checking if the linker (/usr/bin/ld) is GNU ld... yes                                                                                                                                                                                        
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B                                                                                                                                                                        
checking the name lister (/usr/bin/nm -B) interface... BSD nm                                                                                                                                                                                
checking whether ln -s works... yes                                                                                                                                                                                                          
checking the maximum length of command line arguments... 1572864                                                                                                                                                                             
checking whether the shell understands some XSI constructs... yes                                                                                                                                                                            
checking whether the shell understands "+="... yes                                                                                                                                                                                           
checking for /usr/bin/ld option to reload object files... -r                                                                                                                                                                                 
checking for objdump... objdump                                                                                                                                                                                                              
checking how to recognize dependent libraries... pass_all                                                                                                                                                                                    
checking for ar... ar                                                                                                                                                                                                                        
checking for strip... strip                                                                                                                                                                                                                  
checking for ranlib... ranlib                                                                                                                                                                                                                
checking command to parse /usr/bin/nm -B output from gcc object... ok                                                                                                                                                                        
checking how to run the C preprocessor... gcc -E                                                                                                                                                                                             
checking for ANSI C header files... yes                                                                                                                                                                                                      
checking for sys/types.h... yes                                                                                                                                                                                                              
checking for sys/stat.h... yes                                                                                                                                                                                                               
checking for stdlib.h... yes                                                                                                                                                                                                                 
checking for string.h... yes                                                                                                                                                                                                                 
checking for memory.h... yes                                                                                                                                                                                                                 
checking for strings.h... yes                                                                                                                                                                                                                
checking for inttypes.h... yes                                                                                                                                                                                                               
checking for stdint.h... yes                                                                                                                                                                                                                 
checking for unistd.h... yes                                                                                                                                                                                                                 
checking for dlfcn.h... yes                                                                                                                                                                                                                  
checking for objdir... .libs                                                                                                                                                                                                                 
checking if gcc supports -fno-rtti -fno-exceptions... no                                                                                                                                                                                     
checking for gcc option to produce PIC... -fPIC -DPIC                                                                                                                                                                                        
checking if gcc PIC flag -fPIC -DPIC works... yes                                                                                                                                                                                            
checking if gcc static flag -static works... yes                                                                                                                                                                                             
checking if gcc supports -c -o file.o... yes                                                                                                                                                                                                 
checking if gcc supports -c -o file.o... (cached) yes                                                                                                                                                                                        
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes                                                                                                                                                 
checking whether -lc should be explicitly linked in... no                                                                                                                                                                                    
checking dynamic linker characteristics... GNU/Linux ld.so                                                                                                                                                                                   
checking how to hardcode library paths into programs... immediate                                                                                                                                                                            
checking whether stripping libraries is possible... yes                                                                                                                                                                                      
checking if libtool supports shared libraries... yes                                                                                                                                                                                         
checking whether to build shared libraries... yes                                                                                                                                                                                            
checking whether to build static libraries... no                                                                                                                                                                                             
checking if RANDR is defined... yes                                                                                                                                                                                                          
checking if RENDER is defined... yes                                                                                                                                                                                                         
checking if XV is defined... yes                                                                                                                                                                                                             
checking if DPMSExtension is defined... yes                                                                                                                                                                                                  
checking for pkg-config... /usr/bin/pkg-config                                                                                                                                                                                               
checking pkg-config is at least version 0.9.0... yes                                                                                                                                                                                         
checking for XORG... yes                                                                                                                                                                                                                     
checking for ANSI C header files... (cached) yes                                                                                                                                                                                             
checking for PCIUTILS... no                                                                                                                                                                                                                  
configure: WARNING: libpci not registered in pkgconfig, will guess instead                                                                                                                                                                   
checking pci/pci.h usability... yes                                                                                                                                                                                                          
checking pci/pci.h presence... yes                                                                                                                                                                                                           
checking for pci/pci.h... yes                                                                                                                                                                                                                
checking whether XSERVER_LIBPCIACCESS is declared... yes                                                                                                                                                                                     
checking for PCIACCESS... yes                                                                                                                                                                                                                
checking whether to enable EXA support... yes                                                                                                                                                                                                
checking exa.h usability... yes                                                                                                                                                                                                              
checking exa.h presence... yes                                                                                                                                                                                                               
checking for exa.h... yes                                                                                                                                                                                                                    
checking whether EXA version is at least 2.0.0... yes                                                                                                                                                                                        
checking for xf86RandR12.h... yes                                                                                                                                                                                                            
checking whether to enable RandR1.2 support... yes                                                                                                                                                                                           
checking whether XF86DRI is declared... yes                                                                                                                                                                                                  
checking for DRI... yes                                                                                                                                                                                                                      
checking GL/gl.h usability... yes                                                                                                                                                                                                            
checking GL/gl.h presence... yes                                                                                                                                                                                                             
checking for GL/gl.h... yes                                                                                                                                                                                                                  
checking whether to enable DRI support... yes                                                                                                                                                                                                
checking for /usr/include/xorg/damage.h... yes                                                                                                                                                                                               
checking /usr/include/xorg/xf86_ansic.h usability... no                                                                                                                                                                                      
checking /usr/include/xorg/xf86_ansic.h presence... no                                                                                                                                                                                       
checking for /usr/include/xorg/xf86_ansic.h... no                                                                                                                                                                                            
checking for MonRec.reducedblanking... yes                                                                                                                                                                                                   
checking for MonRec.maxPixClock... yes                                                                                                                                                                                                       
checking for xf86CrtcFuncsRec.set_mode_major... yes                                                                                                                                                                                          
checking whether xf86RotateFreeShadow is declared... no                                                                                                                                                                                      
checking for ./src/AtomBios/includes/atombios.h... yes                                                                                                                                                                                       
checking for ./src/AtomBios/includes/Decoder.h... yes                                                                                                                                                                                        
checking whether to include AtomBIOS... yes                                                                                                                                                                                                  
checking whether to include AtomBIOS parser... yes                                                                                                                                                                                           
checking for gzopen in -lz... yes                                                                                                                                                                                                            
checking whether gcc supports -Wall... yes                                                                                                                                                                                                   
checking whether gcc supports -Wextra... yes                                                                                                                                                                                                 
checking whether gcc supports -Wno-unused-parameter... yes                                                                                                                                                                                   
checking whether gcc supports -Werror-implicit-function-declaration... yes                                                                                                                                                                   
checking whether gcc supports -Wstrict-aliasing... yes                                                                                                                                                                                       
checking whether gcc supports -Wstrict-overflow... yes                                                                                                                                                                                       
checking whether gcc supports -Wpointer-arith... yes                                                                                                                                                                                         
checking whether gcc supports -Woverlength-strings... yes                                                                                                                                                                                    
checking whether gcc supports -Wvolatile-register-var... yes                                                                                                                                                                                 
checking whether gcc supports -Winit-self... yes                                                                                                                                                                                             
checking whether gcc supports -Wbad-function-cast... yes                                                                                                                                                                                     
checking whether gcc supports -Wstrict-prototypes... yes                                                                                                                                                                                     
checking whether gcc supports -Wold-style-definition... yes                                                                                                                                                                                  
checking whether gcc supports -Wnested-externs... yes                                                                                                                                                                                        
checking whether gcc supports -Wdisabled-optimization... yes                                                                                                                                                                                 
checking whether gcc supports -pedantic... yes                                                                                                                                                                                               
checking whether gcc supports -Wno-long-long... yes                                                                                                                                                                                          
checking whether gcc supports -Wno-variadic-macros... yes                                                                                                                                                                                    
checking whether gcc supports -std=c99... yes                                                                                                                                                                                                
checking whether gcc supports -Wno-unknown-pragmas... yes                                                                                                                                                                                    
configure: Doing optimized build, checking for additional options                                                                                                                                                                            
checking whether gcc supports -finline-functions... yes                                                                                                                                                                                      
configure: creating ./config.status                                                                                                                                                                                                          
config.status: creating Makefile                                                                                                                                                                                                             
config.status: creating man/Makefile                                                                                                                                                                                                         
config.status: creating src/Makefile                                                                                                                                                                                                         
config.status: creating utils/conntest/Makefile                                                                                                                                                                                              
config.status: creating config.h                                                                                                                                                                                                             
config.status: config.h is unchanged                                                                                                                                                                                                         
config.status: executing depfiles commands                                                                                                                                                                                                   
config.status: executing libtool commands

Offline

#4 2009-03-02 17:41:55

kfgz
Member
From: Supraśl, Poland
Registered: 2009-03-02
Posts: 114

Re: radeonhd r6xx-r7xx and new drm-modules.

Here is mine:

fatal: git checkout: branch r6xx-r7xx-support already exists
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal 
autoreconf: configure.ac: tracing
autoreconf: running: libtoolize --copy
libtoolize: Consider adding `AC_CONFIG_MACRO_DIR([m4])' to configure.ac and
libtoolize: rerunning libtoolize, to keep the correct libtool macros in-tree.
libtoolize: Consider adding `-I m4' to ACLOCAL_AMFLAGS in Makefile.am.
autoreconf: running: /usr/bin/autoconf
autoreconf: running: /usr/bin/autoheader
autoreconf: running: automake --add-missing --copy --no-force
autoreconf: Leaving directory `.'
checking for a BSD-compatible install... /bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... yes
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables... 
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for style of include used by make... GNU
checking dependency style of gcc... gcc3
checking for a sed that does not truncate output... /bin/sed
checking whether /bin/sed can substitute tabs and newlines for text... yes
checking build system type... x86_64-unknown-linux-gnu
checking host system type... x86_64-unknown-linux-gnu
checking for a sed that does not truncate output... (cached) /bin/sed
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for fgrep... /bin/grep -F
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B
checking the name lister (/usr/bin/nm -B) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 1572864
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... yes
checking for /usr/bin/ld option to reload object files... -r
checking for objdump... objdump
checking how to recognize dependent libraries... pass_all
checking for ar... ar
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... yes
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... no
checking if RANDR is defined... yes
checking if RENDER is defined... yes
checking if XV is defined... yes
checking if DPMSExtension is defined... yes
checking for pkg-config... /usr/bin/pkg-config
checking pkg-config is at least version 0.9.0... yes
checking for XORG... yes
checking for ANSI C header files... (cached) yes
checking for PCIUTILS... no
configure: WARNING: libpci not registered in pkgconfig, will guess instead
checking pci/pci.h usability... yes
checking pci/pci.h presence... yes
checking for pci/pci.h... yes
checking whether XSERVER_LIBPCIACCESS is declared... yes
checking for PCIACCESS... yes
checking whether to enable EXA support... yes
checking exa.h usability... yes
checking exa.h presence... yes
checking for exa.h... yes
checking whether EXA version is at least 2.0.0... yes
checking for xf86RandR12.h... yes
checking whether to enable RandR1.2 support... yes
checking whether XF86DRI is declared... yes
checking for DRI... no
checking whether to enable DRI support... no
checking for /usr/include/xorg/damage.h... yes
checking /usr/include/xorg/xf86_ansic.h usability... no
checking /usr/include/xorg/xf86_ansic.h presence... no
checking for /usr/include/xorg/xf86_ansic.h... no
checking for MonRec.reducedblanking... yes
checking for MonRec.maxPixClock... yes
checking for xf86CrtcFuncsRec.set_mode_major... yes
checking whether xf86RotateFreeShadow is declared... no
checking for ./src/AtomBios/includes/atombios.h... yes
checking for ./src/AtomBios/includes/Decoder.h... yes
checking whether to include AtomBIOS... yes
checking whether to include AtomBIOS parser... yes
checking for gzopen in -lz... yes
checking whether gcc supports -Wall... yes
checking whether gcc supports -Wextra... yes
checking whether gcc supports -Wno-unused-parameter... yes
checking whether gcc supports -Werror-implicit-function-declaration... yes
checking whether gcc supports -Wstrict-aliasing... yes
checking whether gcc supports -Wstrict-overflow... yes
checking whether gcc supports -Wpointer-arith... yes
checking whether gcc supports -Woverlength-strings... yes
checking whether gcc supports -Wvolatile-register-var... yes
checking whether gcc supports -Winit-self... yes
checking whether gcc supports -Wbad-function-cast... yes
checking whether gcc supports -Wstrict-prototypes... yes
checking whether gcc supports -Wold-style-definition... yes
checking whether gcc supports -Wnested-externs... yes
checking whether gcc supports -Wdisabled-optimization... yes
checking whether gcc supports -pedantic... yes
checking whether gcc supports -Wno-long-long... yes
checking whether gcc supports -Wno-variadic-macros... yes
checking whether gcc supports -std=c99... yes
checking whether gcc supports -Wno-unknown-pragmas... yes
configure: Doing optimized build, checking for additional options
checking whether gcc supports -finline-functions... yes
configure: creating ./config.status
config.status: creating Makefile
config.status: creating man/Makefile
config.status: creating src/Makefile
config.status: creating utils/conntest/Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands
config.status: executing libtool commands

NOTE: DRI support is disabled

I've noticed that I don't have support for DRI. Is it critical for compilation?

EDIT: SOLVED! I've installed xf86driproto.

Last edited by kfgz (2009-03-02 17:56:00)

Offline

#5 2009-03-02 17:46:24

Perry3D
Member
Registered: 2008-03-20
Posts: 553

Re: radeonhd r6xx-r7xx and new drm-modules.

Oh,
install xf86driproto and try it again.

Perry

Offline

#6 2009-03-02 17:56:53

kfgz
Member
From: Supraśl, Poland
Registered: 2009-03-02
Posts: 114

Re: radeonhd r6xx-r7xx and new drm-modules.

Thx, it works. I figure it out this myself wink

Last edited by kfgz (2009-03-02 17:57:10)

Offline

#7 2009-03-02 17:57:50

Perry3D
Member
Registered: 2008-03-20
Posts: 553

Re: radeonhd r6xx-r7xx and new drm-modules.

kfgz wrote:

Thx, it works. I figure it out this myself wink

And what was the solution?

Offline

#8 2009-03-02 18:09:15

kfgz
Member
From: Supraśl, Poland
Registered: 2009-03-02
Posts: 114

Re: radeonhd r6xx-r7xx and new drm-modules.

Perry3D wrote:

And what was the solution?

kfgz wrote:

EDIT: SOLVED! I've installed xf86driproto.

Sadly I have to revert to xf86-video-radeonhd from extra. The performance of r6xx-r7xx is poor. At least for now.

Offline

#9 2009-03-02 18:14:12

Perry3D
Member
Registered: 2008-03-20
Posts: 553

Re: radeonhd r6xx-r7xx and new drm-modules.

Sounds like the wrong module is loaded.
What says /var/log/Xorg.0.log ?

Did you modify your xorg.conf?

Section "Device"
    Identifier     "radeonCard"
    Driver         "ati"
    Option      "AccelMethod" "exa" # default shadowfb
    Option      "DRI" "on
EndSection

Section "DRI"
    Group        "video"
    Mode         0660
EndSection

Offline

#10 2009-03-02 20:03:23

kfgz
Member
From: Supraśl, Poland
Registered: 2009-03-02
Posts: 114

Re: radeonhd r6xx-r7xx and new drm-modules.

My xorg.conf:

Section "Module"
        Load  "ddc"
    Load  "dri"
    Load  "drm"
    Load  "glx"
EndSection

Section "Monitor"
    Identifier "Monitor0"
    Option "DPMS" "true"
    HorizSync    28.0 - 96.0
    VertRefresh  50.0 - 85.0
    Modeline "1024x768_85.00"  94.39  1024 1088 1200 1376  768 769 772 807  -HSync +Vsync
EndSection

Section "Device"
    Identifier  "radeonCard"
    Driver      "radeonhd"
        Option     "AccelMethod" "exa"
           BusID       "PCI:1:5:0"
    VendorName  "All"
    BoardName   "All"
EndSection

Section "Screen"
    Identifier "Screen0"
    Device     "Card0"
    Monitor    "Monitor0"
    DefaultColorDepth 24
    SubSection "Display"
        Depth     24
        Modes "1024x768"
    EndSubSection
EndSection

Section "DRI"
        Group "video"
    Mode 0660
EndSection

Driver "ati" doesn't work (no module found) so I put "radeonhd".

What worries me is:

(II) Setting vga for screen 0.
(**) RADEONHD(0): Depth 24, (--) framebuffer bpp 32
(**) RADEONHD(0): Option "AccelMethod" "exa"
(**) RADEONHD(0): Selected EXA 2D acceleration.
(II) RADEONHD(0): Unknown card detected: 0x9614:0x1043:0x834D.
    If - and only if - your card does not work or does not work optimally
    please contact radeonhd@opensuse.org to help rectify this.
    Use the subject: 0x9614:0x1043:0x834D: <name of board>
    and *please* describe the problems you are seeing
    in your message.
(--) RADEONHD(0): Detected an RS780 on an unidentified card
(II) RADEONHD(0): Mapped IO @ 0xfe9f0000 to 0x7f0a7a12e000 (size 0x00010000)
(II) RADEONHD(0): Getting BIOS copy from legacy VBIOS location
(II) RADEONHD(0): ATOM BIOS Rom: 
    SubsystemVendorID: 0x1002 SubsystemID: 0x1002
    IOBaseAddress: 0xb000
    Filename: M3A78T_D_1.b
    BIOS Bootup Message: 
B27722 RS780D DDR2 200e/500m

and

(II) Setting vga for screen 0.
(II) Initializing built-in extension MIT-SHM
(II) Initializing built-in extension XInputExtension
(II) Initializing built-in extension XTEST
(II) Initializing built-in extension XKEYBOARD
(II) Initializing built-in extension XC-APPGROUP
(II) Initializing built-in extension SECURITY
(II) Initializing built-in extension XINERAMA
(II) Initializing built-in extension XFIXES
(II) Initializing built-in extension RENDER
(II) Initializing built-in extension RANDR
(II) Initializing built-in extension COMPOSITE
(II) Initializing built-in extension DAMAGE
(II) Initializing built-in extension XEVIE
(II) AIGLX: Screen 0 is not DRI capable
(II) AIGLX: Loaded and initialized /usr/lib/xorg/modules/dri/swrast_dri.so
(II) GLX: Initialized DRISWRAST GL provider for screen 0
(II) RADEONHD(0): Setting screen physical size to 306 x 230

2D acceleration is working very, very badly. I've serious problems with page scrolling in firefox etc. etc.

P.S. I have onboard graphic card HD3300 (motherboard ASUS M3A78-T)


EDIT: Adding Option "DRI" "on" did the trick smile Thanks

One question only: I have 270fps in glxgear and on catalyst 1200fps. Do you know when 3D hardware acceleriation will be added?


EDIT2:

I found one more error - 3D accel sad

(EE) AIGLX error: dlopen of /usr/lib/xorg/modules/dri/r600_dri.so failed (/usr/lib/xorg/modules/dri/r600_dri.so: cannot open shared object file: No such file or directory)
(EE) AIGLX: reverting to software rendering

It seems that I have to be patient and wait for 3D accel.

Last edited by kfgz (2009-03-02 21:37:55)

Offline

#11 2009-03-02 22:35:12

Perry3D
Member
Registered: 2008-03-20
Posts: 553

Re: radeonhd r6xx-r7xx and new drm-modules.

Here is the current progress for the radeon(ati) and the radeonhd driver: http://www.x.org/wiki/RadeonFeature

Offline

#12 2009-03-06 04:55:37

tam1138
Member
Registered: 2007-09-10
Posts: 238

Re: radeonhd r6xx-r7xx and new drm-modules.

Perry3D wrote:

Sounds like the wrong module is loaded.
What says /var/log/Xorg.0.log ?

Did you modify your xorg.conf?

Section "Device"
    Identifier     "radeonCard"
    Driver         "ati"
    Option      "AccelMethod" "exa" # default shadowfb
    Option      "DRI" "on
EndSection

Section "DRI"
    Group        "video"
    Mode         0660
EndSection

Shouldn't the driver be "radeonhd" ?

Also, I was using xf86-video-radeonhd-git-20090219, which correctly recognizes my 4830, but the xf86-video-radeonhd-git-r6xx-r7xx-20090305 does not.  It fails in the same way as xf86-video-radeonhd-1.2.4 fails (recognizing the 4830 was committed to git after 1.2.4 was released).  Odd.

Offline

#13 2009-03-06 10:27:19

Perry3D
Member
Registered: 2008-03-20
Posts: 553

Re: radeonhd r6xx-r7xx and new drm-modules.

Oh, you are right. I was testing the radeon driver. The driver should be "radeonhd".

That curious. Did you try a newer xf86-video-radeonhd-git?

Offline

#14 2009-03-06 15:51:31

tam1138
Member
Registered: 2007-09-10
Posts: 238

Re: radeonhd r6xx-r7xx and new drm-modules.

I have not yet.  The AUR page for xf86-video-radeonhd-git says it's intended for r5xx and r6xx chips, whereas mine is an r7xx, so I assumed that the package directly targeted for my card would be more appropriate.  Was that erroneous?  I did have trouble finding information on why there is a separate branch for r6xx and r7xx, though I didn't look terribly hard.

Offline

#15 2009-03-06 18:24:02

R00KIE
Forum Fellow
From: Between a computer and a chair
Registered: 2008-09-14
Posts: 4,734

Re: radeonhd r6xx-r7xx and new drm-modules.

I'm on a Mobility Radeon HD2400 here and after putting the following on xorg.conf it is working perfectly (the features that are supposed to be working that is big_smile ).
Very well done, Thank you for the pkgbuilds smile

Section "Device"
    Identifier     "radeonCard"
    Driver         "radeonhd"
    Option      "AccelMethod" "exa"
    Option      "DRI" "True"
EndSection

Section "DRI"
    Mode         0660
EndSection

R00KIE
Tm90aGluZyB0byBzZWUgaGVyZSwgbW92ZSBhbG9uZy4K

Offline

#16 2009-03-07 01:28:54

tam1138
Member
Registered: 2007-09-10
Posts: 238

Re: radeonhd r6xx-r7xx and new drm-modules.

Some more experimental results:

xf86-video-radeonhd-git as of today works (but no Xv).

xf86-video-radeonhd-git-r6xx-r7xx/drm-radeon-module-git-r6xx-r7xx do not work.  I tried the xorg.conf I'd been using with xf86-video-radeonhd-git, and the one that was successful for R00KIE; neither worked.  Both resulted in "(EE) No devices detected." even though the code that supposedly detects the 4830 is in that branch.

Offline

#17 2009-03-07 14:45:19

Perry3D
Member
Registered: 2008-03-20
Posts: 553

Re: radeonhd r6xx-r7xx and new drm-modules.

@mimmozzo: Thx for the info. I added these 2 packages as dependencies.

I read that the r6xx-r7xx branch of the ati and the radeonhd driver was merged to master. So you also could use xf86-video-radeonhd-git or xf86-video-ati-git to get XV and EXA. But i think you must install the drm-radeon-module-git-r6xx-r7xx to use the features. For me ati would be a little better, because it provides tear-free Video and i don't need HDMI (advantage of radeonhd). But it only works if i switch from radeonhd to ati without reboot. After reboot i get a blank screen. Mysterious hmm

Offline

#18 2009-03-07 16:39:39

R00KIE
Forum Fellow
From: Between a computer and a chair
Registered: 2008-09-14
Posts: 4,734

Re: radeonhd r6xx-r7xx and new drm-modules.

Well like I said it worked for me in a sort of new Arch64 install, I do have a mobility radeon hd2400 (although it doesn't seem to have any power saving capability either with catalyst or the oss drivers hmm). I could use xv and textured xv (with mapplayer + smplayer, textured xv seemed to be a bit faster). Still I noticed that sometimes the video wasn't as fluid as it should be but thats the drivers fault anyway (or some other factor, will sort that out soon enough when xserver 1.6 gets into extra). Also I am interested in being able to use my dvi output (to be able to connect an external monitor/projector) (with the latest xserver and xf86-video-ati in the testing repo its a mess, but with this driver it was not an issue at all).
If there is a pkgbuild for git radeonhd and ati drivers I will give them a try. Currently on my arch32 I'm using the xf86-video-ati driver as everything works as I want (and without a xorg.conf) but as I said soon enough that is bound to change.


R00KIE
Tm90aGluZyB0byBzZWUgaGVyZSwgbW92ZSBhbG9uZy4K

Offline

#19 2009-03-07 17:51:07

tam1138
Member
Registered: 2007-09-10
Posts: 238

Re: radeonhd r6xx-r7xx and new drm-modules.

Okay.  I now have drm-radeon-module-git-r6xx-r7xx-20090305 and xf86-video-radeonhd-git-20090306 installed.  I've loaded the radeon kernel driver, and set up my xorg.conf similar to R00KIE's above.  xvinfo reports no adaptors present, and text scrolls *really* slowly in terminals.

Offline

#20 2009-03-07 17:58:20

tam1138
Member
Registered: 2007-09-10
Posts: 238

Re: radeonhd r6xx-r7xx and new drm-modules.

Aha!  It appears the drm and radeon modules provided by the kernel package were being loaded instead of those provided by drm-radeon-module-git-r6xx-r7xx.  Now xv works, which is really what I've been after.  Wheeeeeee!

Offline

#21 2009-03-08 01:21:28

R00KIE
Forum Fellow
From: Between a computer and a chair
Registered: 2008-09-14
Posts: 4,734

Re: radeonhd r6xx-r7xx and new drm-modules.

tam1138 wrote:

Aha!  It appears the drm and radeon modules provided by the kernel package were being loaded instead of those provided by drm-radeon-module-git-r6xx-r7xx.  Now xv works, which is really what I've been after.  Wheeeeeee!

I can't make it work on my arch32 install sad .... how did you make it load the proper modules?


R00KIE
Tm90aGluZyB0byBzZWUgaGVyZSwgbW92ZSBhbG9uZy4K

Offline

#22 2009-03-08 04:01:37

tam1138
Member
Registered: 2007-09-10
Posts: 238

Re: radeonhd r6xx-r7xx and new drm-modules.

Instead of using modprobe to load the modules, I used insmod, specifying the full path (otherwise it loads the drm.ko and radeon.ko as provided by the kernel26 package).  I haven't yet looked into how to make this work with modprobe.

Offline

#23 2009-03-08 11:22:42

R00KIE
Forum Fellow
From: Between a computer and a chair
Registered: 2008-09-14
Posts: 4,734

Re: radeonhd r6xx-r7xx and new drm-modules.

Thank you, that did the trick. I'm now loading the modules manually in rc.local. Maybe later I'll try to figure out how to do it some other way. Now the bigger question is, why did it work well in my arch64 and not in my arch32? The kernel modules are there too and I haven't changed anything else in the system. The only difference I can see is this

On arch32

$ find /lib -iname drm.ko
/lib/modules/2.6.28-ARCH/kernel/drivers/gpu/drm/drm.ko
/lib/modules/2.6.28-ARCH/kernel/drivers/char/drm/drm.ko

On arch64

$ find /lib -iname drm.ko
/lib/modules/2.6.28-ARCH/kernel/drivers/char/drm/drm.ko
/lib/modules/2.6.28-ARCH/kernel/drivers/gpu/drm/drm.ko

I don't think this will influence anything though, but if someone knows better please do explain because I'm curious about this. Although .... if modprobe and whatever automagically loads the modules gets the same results as find then I guess it does explain why it works on arch64 and not on arch32.

Edit:
Maybe the pkgbuilds should have a big fat warning about this telling to load the modules manually or they might not work.
That or put a little script in /etc/profile.d/ that will load the proper modules automagically big_smile

Last edited by R00KIE (2009-03-08 14:36:56)


R00KIE
Tm90aGluZyB0byBzZWUgaGVyZSwgbW92ZSBhbG9uZy4K

Offline

#24 2009-03-29 11:08:04

Perry3D
Member
Registered: 2008-03-20
Posts: 553

Re: radeonhd r6xx-r7xx and new drm-modules.

Ok, i added a warning in the install file:

Run 'insmod /lib/modules/2.6.28-ARCH/kernel/drivers/char/drm/radeon.ko' and
'insmod /lib/modules/2.6.28-ARCH/kernel/drivers/char/drm/drm.ko' as root before X-Server starts to ensure
that the system use the modules from this package an not the one from the kernel26.

/edit: I got a tip from paulez: the modules are now installed in the updates directory.
Is this problem solved now?

Last edited by Perry3D (2009-03-29 12:00:46)

Offline

#25 2009-03-29 13:58:38

R00KIE
Forum Fellow
From: Between a computer and a chair
Registered: 2008-09-14
Posts: 4,734

Re: radeonhd r6xx-r7xx and new drm-modules.

I confirm it does work fine on Arch32 without any "hacks/tweaks", I didn't test on Arch64 yet but it should work fine too, I'll edit this when I confirm that.


R00KIE
Tm90aGluZyB0byBzZWUgaGVyZSwgbW92ZSBhbG9uZy4K

Offline

Board footer

Powered by FluxBB