You are not logged in.

#1 2005-01-16 23:09:06

sully748
Member
Registered: 2005-01-02
Posts: 10

ati radeon driver install

i have a radeon 9800 pro AiW and i have been trying to get the drivers working to play ut2004.  i have the ati-driver-module.install and it works
i have a problem at the moment:
     a) i need to use xorg 6.7.0 and i have 6.8
                  i don't know how to rollthis back .... i have the .pkg file but i can't make it work
this is holding me back from rollingback the kernel also for compatibility
i have looked at forums and i am still having some probs
if someone could help me out i would be most greatful

Offline

#2 2005-01-17 00:44:23

Snowman
Developer/Forum Fellow
From: Montreal, Canada
Registered: 2004-08-20
Posts: 5,212

Re: ati radeon driver install

If you already have the pkg, do "pacman -U /path_to_pkg/pkg"

Offline

#3 2005-01-17 01:07:37

iBertus
Member
From: Greenville, NC
Registered: 2004-11-04
Posts: 2,228

Re: ati radeon driver install

I had to keep Xorg 6.7 due to the ATI drivers not supporting the newer version. Note that some of the newer GNOME libs require features only found in the Xorg 6.8 series.

Offline

#4 2005-01-17 15:32:54

qwerty
Member
Registered: 2004-12-17
Posts: 183

Re: ati radeon driver install

You can find all the infos you need in this post:

http://bbs.archlinux.org/viewtopic.php?t=9148

Offline

#5 2005-01-17 21:28:16

smoochie
Member
From: chicago, USA
Registered: 2004-04-01
Posts: 27

Re: ati radeon driver install

FYI
Information about problems with holding back your xorg package here


http://bbs.archlinux.org/viewtopic.php? … free86+gtk

Offline

#6 2005-01-17 22:15:31

iBertus
Member
From: Greenville, NC
Registered: 2004-11-04
Posts: 2,228

Re: ati radeon driver install

UPDATE: ATI has released a new driver today which supports Xorg 6.8. Now everyone can update the driver and -Syu to their hearts content.

Offline

#7 2005-01-18 19:17:35

Insight_45
Member
Registered: 2004-12-13
Posts: 40

Re: ati radeon driver install

But how do we go from the given RPM to a "pacman" package


Here is the link ot the rpm:
http://www2.ati.com/drivers/linux/fglrx … 1.i386.rpm

Offline

#8 2005-01-19 03:23:15

qwerty
Member
Registered: 2004-12-17
Posts: 183

Re: ati radeon driver install

I've made the PKGBUILDS to make ati-drivers and ati-drivers-kernel26 (I've just modified the ones made by Link), here you are...

ati-drivers:

PKGBUILD:

pkgname=ati-drivers
pkgver=8.8.25
pkgrel=1
pkgdesc="ATI accelerated drivers"
url="http://www.ati.com"
license="ATI"
groups=("x11")
depends=('xorg' 'ati-drivers-module')
makedepends=('rpmunpack')
install=ati-drivers.install
source=("http://www2.ati.com/drivers/linux/fglrx_6_8_0-8.8.25-1.i386.rpm" 'ati-drivers.sh')

build() {
    cd $startdir/src
    rpmunpack < $startdir/src/fglrx_6_8_0-8.8.25-1.i386.rpm | gzip -d | cpio -idmuv
    rm -rf $startdir/src/usr/X11R6/bin/*.bz2

    # Install the OpenGL libraries
    install -m 755 -D $startdir/src/usr/X11R6/lib/libGL.so.1.2 
        $startdir/pkg/usr/X11R6/lib/libGL.so.1.2 || return 1
    # We don't symlink because x-server provides the correct symlinks already

    # Install the X and DRI drivers
    install -m 644 -D $startdir/src/usr/X11R6/lib/modules/drivers/fglrx_drv.o 
        $startdir/pkg/usr/X11R6/lib/modules/drivers/fglrx_drv.o || return 1
    install -m 755 -D $startdir/src/usr/X11R6/lib/modules/dri/fglrx_dri.so 
        $startdir/pkg/usr/X11R6/lib/modules/dri/fglrx_dri.so || return 1

    # Install some apps
    install -m 755 -D $startdir/src/ati-drivers.sh 
        $startdir/pkg/etc/profile.d/ati-drivers.sh || return 1
    install -d $startdir/pkg/opt/ati/bin
    install -m 755 -D $startdir/src/usr/X11R6/bin/* 
        $startdir/pkg/opt/ati/bin/ || return 1

    # Remove stuff that we've put elsewhere
    rm -f $startdir/src/usr/X11R6/lib/modules/drivers/fglrx_drv.o 
          $startdir/src/usr/X11R6/lib/modules/dri/fglrx_dri.so 
          $startdir/src/usr/X11R6/lib/libGL.so.1.2 
          $startdir/src/usr/X11R6/bin/*
    rm -rf $startdir/src/usr/{src,share} $startdir/src/usr/X11R6/bin
    cp -R $startdir/src/usr $startdir/pkg
}

ati-drivers.install:

# arg 1:  the new package version
post_install() {
    echo "You can use the tool 'fglrxconfig' to generate an xorg.conf file"
    echo "Be aware that these drivers are not yet supported on XOrg 6.8.0"
    echo "You may experience instability with 3D acceleration."
    echo "You have been warned..."
}

# arg 1:  the new package version
# arg 2:  the old package version
post_upgrade() {
  /bin/true
}

# arg 1:  the old package version
pre_remove() {
  /bin/true
}

# arg 1:  the old package version
post_remove() {
  /bin/true
}

op=$1
shift
$op $*

ati-drivers.sh:

export PATH=$PATH:/opt/ati/bin

ati-drivers-module-kernel26:
PKGBUILD:

kernel=`uname -r`
kernelpkgver=2.6.10-2
pkgname=ati-drivers-module-kernel26
pkgver=8.8.25
pkgrel=1
pkgdesc="ATI drivers kernel module"
url="http://www.ati.com"
license="ATI"
provides=('ati-drivers-module')
depends=("kernel26=$kernelpkgver")
makedepends=('rpmunpack')
install=ati-drivers-module.install
source=("http://www2.ati.com/drivers/linux/fglrx_6_8_0-8.8.25-1.i386.rpm"  'ati_patch')
md5sums=('8245afc1a5f83634ab1b906b8107cd0c' '5c435b1e61e224708a86a73cebaebe98')

build() {
    cd $startdir/src
    rpmunpack < $startdir/src/fglrx_6_8_0-8.8.25-1.i386.rpm | gzip -d | cpio -idmuv

    # Apply patches
    cd $startdir/src/lib/modules/fglrx/build_mod
    patch -p0 < $startdir/src/ati_patch

    # Compile the DRI kernel module
    cd $startdir/src/lib/modules/fglrx/build_mod
    cp 2.6.x/Makefile .
    export _POSIX2_VERSION="199209"
    make -C /usr/src/linux-$kernel SUBDIRS="`pwd`" modules || return 1

    # Install the kernel module
    install -m 644 -D $startdir/src/lib/modules/fglrx/build_mod/fglrx.ko 
        $startdir/pkg/lib/modules/$kernel/video/fglrx.ko || return 1
}

ati-drivers-module.install

# arg 1:  the new package version
post_install() {
    echo "Remember to add fglrx to the MODULES list in /etc/rc.conf."
    echo "This is just the kernel module; install ati-drivers"
    echo "for the configuration utilities and X libraries."
}

# arg 1:  the new package version
# arg 2:  the old package version
post_upgrade() {
  /bin/true
}

# arg 1:  the old package version
pre_remove() {
  /bin/true
}

# arg 1:  the old package version
post_remove() {
  /bin/true
}

op=$1
shift
$op $*

ati_patch

--- agpgart_be.c 2005-01-06 9:05:02.000000000 +0100
+++ agpgart_be.c 2005-01-06 9:19:16.000000000 +0100

@@ -255,6 +255,12 @@
 }
 #endif

+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,10)
+#define firegl_pci_find_class(class,from) pci_get_class(class,from)
+#else
+#define firegl_pci_find_class(class,from) pci_find_class(class,from)
+#endif
+
 int agp_backend_acquire(void)
 {
        if (agp_bridge.type == NOT_SUPPORTED) {
@@ -718,7 +724,7 @@
         *        AGP devices and collect their data.
         */

-       while ((device = pci_find_class(PCI_CLASS_DISPLAY_VGA << 8,
+       while ((device = firegl_pci_find_class(PCI_CLASS_DISPLAY_VGA << 8,
                                        device)) != NULL) {
                pci_read_config_dword(device, 0x04, &scratch);

@@ -794,6 +800,13 @@
                                command &= ~0x00000001;
                }
        }
+
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,10)
+            // the reference count has been increased in agp_backend_initialize.
+        if (device)
+            pci_dev_put(device);
+#endif
+
        /*
         * PASS2: Figure out the 4X/2X/1X setting and enable the
         *        target (our motherboard chipset).
@@ -839,8 +852,9 @@
         *        command registers.
         */

-       while ((device = pci_find_class(PCI_CLASS_DISPLAY_VGA << 8,
+       while ((device = firegl_pci_find_class(PCI_CLASS_DISPLAY_VGA << 8,
                                        device)) != NULL) {
+
                pci_read_config_dword(device, 0x04, &scratch);

                if (!(scratch & 0x00100000))
@@ -871,6 +885,12 @@
         }
        }

+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,10)
+            // the reference count has been increased in agp_backend_initialize.
+        if (device)
+            pci_dev_put(device);
+#endif
+
     return 0; /* success */
 }

@@ -5119,8 +5139,9 @@
         *        AGP devices and collect their data.
         */

-       while ((device = pci_find_class(PCI_CLASS_DISPLAY_VGA << 8,
+       while ((device = firegl_pci_find_class(PCI_CLASS_DISPLAY_VGA << 8,
                                        device)) != NULL) {
+
                pci_read_config_dword(device, 0x04, &scratch);

                if (!(scratch & 0x00100000))
@@ -5187,6 +5208,13 @@
                                command &= ~0x00000001;
                }
        }
+
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,10)
+            // the reference count has been increased in agp_backend_initialize.
+        if (device)
+            pci_dev_put(device);
+#endif
+
        /*
         * PASS2: Figure out the 4X/2X/1X setting and enable the
         *        target (our motherboard chipset).
@@ -5217,8 +5245,9 @@
         *        command registers.
         */

-       while ((device = pci_find_class(PCI_CLASS_DISPLAY_VGA << 8,
+       while ((device = firegl_pci_find_class(PCI_CLASS_DISPLAY_VGA << 8,
                                        device)) != NULL) {
+
                pci_read_config_dword(device, 0x04, &scratch);

                if (!(scratch & 0x00100000))
@@ -5249,6 +5278,12 @@
         }
        }

+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,10)
+            // the reference count has been increased in agp_backend_initialize.
+        if (device)
+            pci_dev_put(device);
+#endif
+
     return(0); /* success */
 }

@@ -6494,10 +6529,10 @@
     // locate host bridge device
 #ifdef __x86_64__
     do {
-        dev = pci_find_class(PCI_CLASS_BRIDGE_HOST << 8, dev);
+        dev = firegl_pci_find_class(PCI_CLASS_BRIDGE_HOST << 8, dev);
     } while((dev) && !agp_check_supported_device(dev));
 #else
-    if ((dev = pci_find_class(PCI_CLASS_BRIDGE_HOST << 8, NULL)) == NULL)
+    if ((dev = firegl_pci_find_class(PCI_CLASS_BRIDGE_HOST << 8, NULL)) == NULL)
         return -ENODEV;
 #endif

@@ -7040,8 +7075,12 @@
                     &agp_bridge.mode);
                                return hp_zx1_setup(dev);
                        }
-                       dev = pci_find_class(PCI_CLASS_BRIDGE_HOST << 8, dev);
+                       dev = firegl_pci_find_class(PCI_CLASS_BRIDGE_HOST << 8, dev);
                } while (dev);
+
+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,10)
+                if(dev) pci_dev_put(dev);
+#endif
                return -ENODEV;
        }
 #endif /* __ia64__ */
@@ -7462,6 +7501,11 @@
        agp_bridge.free_gatt_table();
        vfree(agp_bridge.key_list);

+#if LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,10)
+        // decrease the reference count.
+        pci_dev_put(agp_bridge.dev);
+#endif
+
        if (agp_bridge.needs_scratch_page == TRUE) {
                agp_bridge.scratch_page &= ~(0x00000fff);
                agp_bridge.agp_destroy_page((unsigned long)


--- firegl_public.c 2005-01-06 9:05:02.000000000 +0100
+++ firegl_public.c 2005-01-06 9:19:16.000000000 +0100
@@ -88,6 +88,7 @@
 #include <linux/smp_lock.h>
 // newer SuSE kernels need this
 #include <linux/highmem.h>
+#include <linux/pagemap.h> // for lock_page and unlock_page

 #if defined(__ia64__)
 #include <linux/vmalloc.h>

so, all you need to do is to build the packages, upgrade the old ones, upgrade xorg and gtk2 and everything should work fine smile)

Offline

#9 2005-01-19 03:30:00

Insight_45
Member
Registered: 2004-12-13
Posts: 40

Re: ati radeon driver install

Thanks thanks thanks, I'll try!

Offline

#10 2005-01-19 03:55:05

qwerty
Member
Registered: 2004-12-17
Posts: 183

Re: ati radeon driver install

In a few time (i don't know how few) the new ati drivers will be avaliable in Link's TUR:

[link]
Server = ftp://ftp.archlinux.org/tur/link

Offline

#11 2005-01-19 04:36:44

iBertus
Member
From: Greenville, NC
Registered: 2004-11-04
Posts: 2,228

Re: ati radeon driver install

Note that the precompiled packages will only work for the exact same kernel as running on the machine which built the package. I'd use his PKGBUILDs and build your own.

Offline

#12 2005-01-19 08:50:32

STiAT
Member
From: Vienna, Austria
Registered: 2004-12-23
Posts: 606

Re: ati radeon driver install

doesnt work here at all...

fglrx: module license 'Proprietary. (C) 2002 - ATI Technologies, Starnberg, GERMANY' taints kernel.
fglrx: Unknown symbol pci_find_class

after depmod -a and modprobe fglrx. Kernel = 2.6.10-ARCH

I used the PKGBuilds. The patch hasn't had the correct checksum as well.

STi


Ability is nothing without opportunity.

Offline

#13 2005-01-19 15:06:39

eric
Member
From: under heaven
Registered: 2004-02-11
Posts: 117

Re: ati radeon driver install

I've compiled and installed the ati-driver and ati-driver-module packages. After rebooting the system everything looks normal. I could log in to my KDE desktop just like normal.
But when I do 'glxinfo | grep direct' I get:

direct rendering: No
OpenGL renderer string: Mesa GLX Indirect

So it looks like direct rendering is disabled, this shouldn't be like this isn't it?

I've also look in /var/log/Xorg.0.log:

(II) fglrx(0): [DRI] installation complete
(II) fglrx(0): Direct rendering enabled

How can I enable direct rendering?

Offline

#14 2005-01-19 18:48:29

Insight_45
Member
Registered: 2004-12-13
Posts: 40

Re: ati radeon driver install

I am "happy" to report that it does not work for me and I am at the same problem as STiAT with the
"fglrx: module license 'Proprietary. (C) 2002 - ATI Technologies, Starnberg, GERMANY' taints kernel.
fglrx: Unknown symbol pci_find_class"
problem.
I say happy cause I learned the hard way that a space as the last character of a PKGBUILD file line is a no-no like for a makefile
Is it the same thing with the patch files, I have spaces at the end

I had updated everthing with pacman -Syu so I had the kernel 2.6.10-3
Therefore I replaced the 2 for the 3 in the file PKGBUILD like below:

ati-drivers-module-kernel26:
PKGBUILD:
Code:
kernelpkgver=2.6.10-3      <== I had installed the latest kernel

So I can not modprobe the fglrx module as it gives the error above "Unknown symbol pci_find_class"
Any guidance is appreciated here.
I checked the warnings and about agpgart_be.c.rej, some lines are pointing to the pci_find_class so I suppose that the patch are not appied corectly and it misses some functions

For Eric, the line you gave shows that the video driver you are using is the Mesa module and not the fglrx module.


.

Offline

#15 2005-01-19 19:43:54

GuyonAsm
Member
Registered: 2004-05-25
Posts: 49

Re: ati radeon driver install

I get the same problem as eric. My direct rendering is still off despite the fact that I am using the fglrx module.

Offline

#16 2005-01-19 20:51:16

Insight_45
Member
Registered: 2004-12-13
Posts: 40

Re: ati radeon driver install

Is it possible that you have the same problem as I but you would have your xorg.conf file to be able to revert to MESA if the gflrx module is not loaded properly.

If you run
modprobe fglrx
do you get the same as I:
FATAL: Error inserting fglrx (/lib/modules/2.6.10-ARCH/video/fglrx.ko): Unknown symbol in module, or unknown parameter (see dmesg)

Indicating that you are not running fglrx but the default mesa module

And to me it looks like we have references to the functions pci_find_class while the patch should have renamed those into firegl_pci_find_class function calls

Offline

#17 2005-01-19 21:08:08

GuyonAsm
Member
Registered: 2004-05-25
Posts: 49

Re: ati radeon driver install

Not at all, it's loading perfectly, No warnings or errors in xorg startup. Everything seems flawless, just no direct rendering sad

Offline

#18 2005-01-19 21:24:00

Insight_45
Member
Registered: 2004-12-13
Posts: 40

Re: ati radeon driver install

Well I am no expert so sorry if I missed something here but I would expect something like ATI as an answer from the call glxinfo and not Mesa

I remember using  fglrxinfo and the result was similar to:
display: :0.0  screen: 0
OpenGL vendor string: ATI Technologies Inc.
OpenGL renderer string: RADEON 9000 DDR Generic
OpenGL version string: 1.3.4641 (X4.3.0-3.14.1)


So it seems I will learn something today.

Offline

#19 2005-01-19 21:46:42

qwerty
Member
Registered: 2004-12-17
Posts: 183

Re: ati radeon driver install

the "Unknown symbol pci_find_class" it's because something went wrong with the patch (the patch just change any occourrence of "pci_find_class" with "pci_get_class" in agpgart_be.c and add an "#include <linux/pagemap.h>" in firegl_public.c) probably when you cut & paste code from here, just download:

ftp://ftp.archlinux.org/incoming/ati-dr … LDS.tar.gz

Then uncompress it where u prefer (usually in /var/abs/local) and perform the folowing steps:

- cd ati-drivers-module-kernel26
- makepkg
- pacman -A (or -U if you have installed an old version of ati drivers) ati-drivers-module-kernel26-8.8.25-1.pkg.tar.gz
- cd ../ati-drivers
- makepkg
- pacman -A (or -U as above) ati-drivers-8.8.25-1.pkg.tar.gz


That's all smile

Offline

#20 2005-01-19 23:57:55

Insight_45
Member
Registered: 2004-12-13
Posts: 40

Re: ati radeon driver install

Tank you very much Qwerty for the link, it worked perfectly.


Could  I be so bold as to ask why there is not a package called ATI like there is for NVIDIA

Offline

#21 2005-01-20 00:44:36

GuyonAsm
Member
Registered: 2004-05-25
Posts: 49

Re: ati radeon driver install

Yep. After compiling new 2.6.10 kernel and using qwerty's link above, I finally have direct rendering smile. I can play my 3d games again.

Offline

#22 2005-01-20 04:35:30

qwerty
Member
Registered: 2004-12-17
Posts: 183

Re: ati radeon driver install

I'm happy that you've found useful that link, i've uploaded there the files i've used to build ati drivers packages because a lot of times patches and other stuff pasted from the board don't work, i've also mailed them to Link  (the one who made the original PKGBUILDs) so i think that in a few time the new ati drivers packages will be avaliable to install them directly with pacman adding his repository to pacman.conf.

byeeeeeeeeeeee


(and sorry for my shitty english)

Offline

#23 2005-01-20 09:55:23

eric
Member
From: under heaven
Registered: 2004-02-11
Posts: 117

Re: ati radeon driver install

I'm also using a custom kernel 2.6.10. I still have the problem that I don't have direct rendering (according to glxinfo) although the xorg log shows that direct rendering is enabled (see an earlier posting in this thread).

So, now I'm going to recompile the kernel. Are there any kernel options I should or shouldn't include in the kernel?

Offline

#24 2005-01-20 22:19:36

zhitch
Member
Registered: 2004-10-31
Posts: 22

Re: ati radeon driver install

GuyonAsm wrote:

I get the same problem as eric. My direct rendering is still off despite the fact that I am using the fglrx module.

.this is due to the 2.6.10 kernel folks..there is a patch at Rage 3D that worked nicely for me...also some good patches for any Nitro or MM users also..but it isn`t a breeze to install because unfortunately ATI still thinks your using Xfree even if yer using Xorg...I posted details on how to unpack the RPM and copy and paste the sections you need here..
http://bbs.archlinux.org/viewtopic.php?t=9030&start=0&postdays=0&postorder=asc&highlight=[/url]

Offline

#25 2005-01-20 23:27:25

GuyonAsm
Member
Registered: 2004-05-25
Posts: 49

Re: ati radeon driver install

zhitch wrote:
GuyonAsm wrote:

I get the same problem as eric. My direct rendering is still off despite the fact that I am using the fglrx module.

.this is due to the 2.6.10 kernel folks..there is a patch at Rage 3D that worked nicely for me...also some good patches for any Nitro or MM users also..but it isn`t a breeze to install because unfortunately ATI still thinks your using Xfree even if yer using Xorg...I posted details on how to unpack the RPM and copy and paste the sections you need here..
http://bbs.archlinux.org/viewtopic.php?t=9030&start=0&postdays=0&postorder=asc&highlight=[/url]

No, I was getting the problem with 2.6.8 kernel. After upgrading to 2.6.10 kernel it worked flawlessly.

Offline

Board footer

Powered by FluxBB