# How to install old ati-drivers on new kernels?

## NewB

My problem is that I have an old ati chipset (radeon mobility 9000 firegl). So I'm stuck to the old ati driver 8.28.8. I tried using the open source driver but the problem is that I have a monitor using the resolution 1680x1050 which seems not to be supported by the open source driver! Here is what I get when I try to install the ati-driver on my newly installed 2.6.19-beyond2 kernel:

```

 * Building the DRM module...

make: Entering directory `/usr/src/linux-2.6.19-beyond2'

  CC [M]  /var/tmp/portage/x11-drivers/ati-drivers-8.28.8/work/common/lib/module

s/fglrx/build_mod/firegl_public.o

/var/tmp/portage/x11-drivers/ati-drivers-8.28.8/work/common/lib/modules/fglrx/bu

ild_mod/firegl_public.c:89:26: error: linux/config.h: No such file or directory

/var/tmp/portage/x11-drivers/ati-drivers-8.28.8/work/common/lib/modules/fglrx/bu

ild_mod/firegl_public.c:447: warning: initialization from incompatible pointer t

ype

/var/tmp/portage/x11-drivers/ati-drivers-8.28.8/work/common/lib/modules/fglrx/bu

ild_mod/firegl_public.c: In function 'firegl_stub_open':

/var/tmp/portage/x11-drivers/ati-drivers-8.28.8/work/common/lib/modules/fglrx/bu

ild_mod/firegl_public.c:570: warning: assignment discards qualifiers from pointe

r target type

/var/tmp/portage/x11-drivers/ati-drivers-8.28.8/work/common/lib/modules/fglrx/bu

ild_mod/firegl_public.c: In function '__ke_request_irq':

/var/tmp/portage/x11-drivers/ati-drivers-8.28.8/work/common/lib/modules/fglrx/bu

ild_mod/firegl_public.c:2492: warning: passing argument 2 of 'request_irq' from 

incompatible pointer type

make[1]: *** [/var/tmp/portage/x11-drivers/ati-drivers-8.28.8/work/common/lib/mo

dules/fglrx/build_mod/firegl_public.o] Error 1

make: *** [_module_/var/tmp/portage/x11-drivers/ati-drivers-8.28.8/work/common/l

ib/modules/fglrx/build_mod] Error 2

make: Leaving directory `/usr/src/linux-2.6.19-beyond2'

 * DRM module not built

>>> Source compiled.

>>> Test phase [not enabled]: x11-drivers/ati-drivers-8.28.8

>>> Install ati-drivers-8.28.8 into /var/tmp/portage/x11-drivers/ati-drivers-8.2

8.8/image/ category x11-drivers

 * Installing fglrx module

install: cannot stat `fglrx.ko': No such file or directory

!!! ERROR: x11-drivers/ati-drivers-8.28.8 failed.

Call stack:

  ebuild.sh, line 1580:   Called dyn_install

  ebuild.sh, line 1030:   Called src_install

  ati-drivers-8.28.8.ebuild, line 204:   Called linux-mod_src_install

  linux-mod.eclass, line 540:   Called die

!!! doins fglrx.ko failed

!!! If you need support, post the topmost build error, and the call stack if rel

evant.

```

Before upgrading the kernel I used 2.6.18-no2. I could install the driver adding these to lines to  /usr/src/linux/include/linux/version.h:

```

#define UTS_RELEASE "2.6.18-no2"

#define VM_SHM 0x00000000

```

Adding these lines to my new kernel (changing 2.6.28-no2 to 2.6.29-beyond2) doesn't work.

Any ideas how I could install the old ati-driver?

----------

## nixnut

kernel modules and kernel need to match. You can't use old modules with new kernels usually. The radeon driver should support the resolution you want afaik. Try using xac to generate a config file for xorg.

----------

## NewB

Well I tried xac to generate a new xorg.conf. Unfortunatly xac doesn't work:

```

Traceback (most recent call last):

  File "/usr/sbin/xac", line 87, in ?

    output = c.get_config()

  File "/usr/lib/xac/config.py", line 56, in get_config

    self.cards = self.arch.get_video_cards(self.safe)

  File "/usr/lib/xac/arch.py", line 99, in get_video_cards

    edids = self.get_edid()

  File "/usr/lib/xac/arch.py", line 205, in get_edid

    found_edid_path = found_edid_path + [root + "/" + f] 

UnboundLocalError: local variable 'found_edid_path' referenced before assignment

```

So I tried with xorgconfig. And I get a message telling me that my resolution (1680x1050) is out of range. More informations about this in an older post a wrote https://forums.gentoo.org/viewtopic-t-518221-highlight-.html.

----------

## raylpc

I can confirm that the radeon driver doesn't have good support for 1680x1050. Hopefully, the upcoming xorg 7.2 has done some work in the radeon driver. Who is the maintainer btw? Just want to know if there's any activity at all.

----------

## NewB

I have no idea who the maintainer is! But it would be good to make them aware of the problem! There are more and more screen using this resolution!

----------

## killertux

there is patch for this issue included with the bug report:

https://bugs.gentoo.org/show_bug.cgi?id=156790

But it will bug and does not work unless you have acpi use flag... tested working in Stock kernel 2.6.19.1 with GCC 3.4.6r1 and acpi USE flag active played

UT2004 Demo and no problems.

In future when kernel 2.6.20 comes out it's likely broken again and another patch is needed... also it will likely never work with Xorg 7.2 and newer so you will be stuck in Xorg 7.1.x forever.

----------

## rmh3093

 *NewB wrote:*   

> My problem is that I have an old ati chipset (radeon mobility 9000 firegl). So I'm stuck to the old ati driver 8.28.8. I tried using the open source driver but the problem is that I have a monitor using the resolution 1680x1050 which seems not to be supported by the open source driver! Here is what I get when I try to install the ati-driver on my newly installed 2.6.19-beyond2 kernel:
> 
> ```
> 
>  * Building the DRM module...
> ...

 

this is what I do to compile the 8.27.10 ati driver against >=2.6.18 kernels

```
cd /usr/src/linux

cat include/linux/utsrelease.h >> include/linux/version.h

echo "#define VM_SHM 0x00000000" >> include/linux/mm.h

emerge ati-drivers
```

and FYI: my resolution is 1680x1050 which works fine in xorg

----------

## NewB

It seems not to work for me! (I tried with 2.6.19-beyond2 and 2.6.20-rc2-mm1)

----------

## rmh3093

 *NewB wrote:*   

> It seems not to work for me! (I tried with 2.6.19-beyond2 and 2.6.20-rc2-mm1)

 

im running 2.6.19-beyond1 (and i have tested this process on many kernels) and that is exactly how it do it.... either, you kernel tree is already contaminated from you playing around with it (back up your config, delete the kernel source, re-emerge, then try it again).....

...

DONT rebuild your kernel though after you do "cat include/linux/utsrelease.h >> include/linux/version.h" step because i think version.h gets overwritten/replaced during the build process... compile/install your kernel.... do the fix/trick that i mentioned and then emerge your ati-driver and it will work i promise

AND... i forgot if you are getting the config.h error you need to make this file also:

```
#ifndef _LINUX_CONFIG_H

#define _LINUX_CONFIG_H

#include <linux/autoconf.h>

#endif
```

----------

## killertux

I did copy paste for that hack but it failed for HUGE amout of error like it did before... tested in stock 2.6.20-rc3 with GCC 3.4.6-r1

the patch in the bugreport only worked for 2.6.19.1 and did not work for 2.6.20-rc1, 2.6.20-rc2 or 2.6.20-rc3

----------

## smartdreamer

 *rmh3093 wrote:*   

>  *NewB wrote:*   It seems not to work for me! (I tried with 2.6.19-beyond2 and 2.6.20-rc2-mm1) 
> 
> im running 2.6.19-beyond1 (and i have tested this process on many kernels) and that is exactly how it do it.... either, you kernel tree is already contaminated from you playing around with it (back up your config, delete the kernel source, re-emerge, then try it again).....
> 
> ...
> ...

 

thanks, adding this header file (plus appending lines refered above) did it for me on linux-2.6.19-beyond2.

ah... stupid ATI

----------

