ATI Radeon x850 on (vs.) Linux

I got a great deal on the ATI card and I got it for gaming in Windows. Otherwise, I advise anyone interested in one day switching to linux to avoid ATI. Nvidia is so much nicer to the linux community.

Nevertheless, I’m going to try to get this working because ATI is what I have. The x850 is based on the radeon 300 chipset. The open-source drivers for linux just don’t work with it, from what I understand and so we need the proprietery (pronounced: “evil”) driver from ATI.

And I’m doing this all on an AMD64 machine with Gentoo, running X11 7.0 and gcc 4.1.0. Both of which, at this point, are not really stable.

I managed to get X11 compiled after fixing one of the ebuilds, but X doesn’t actually work. I first tried to install the stable version of the ATI drivers but the build failed.

Then I tried to install the testing (unstable) drivers. Those built, but didn’t work. I’m going to work on getting these to work rather than trying to get the stable version built. If I find myself in over my head, I’ll go back to the stable version and just try to get it built.

The error I’m getting with the development drivers is that when I run

X -configure

I get the following error:

dlopen: /usr/lib64/xorg/modules/drivers/fglrx_drv.so: undefined symbol: __glXActiveScreens
(EE) Failed to load /usr/lib64/xorg/modules/drivers/fglrx_drv.so
(EE) Failed to load module “fglrx” (loader failed, 7)

I’ll post my progress (if any) here as comments

13 Responses to “ATI Radeon x850 on (vs.) Linux”

  1. I’m thinking this might be a GCC 4.1.0 problem. (Or to be more specific, a problem Xorg has with GCC 4.1.0). So I’m going to compile it again, but this time using GCC 3.4.5. The rest of the X11 packages will remain compiled by 4.1.0. I don’t know if that’s safe or if this will even run, but we’ll find out.

  2. I recompiled Xorg with GCC 3.4.5 with no change, then remerged the x11-drivers/ati-drivers package also with GCC 3.4.5. No change. Back to the drawing board.

  3. Correction, compiling the ati-drivers package (fglrx) with 3.4.5 made the kernel module unloadable because the GCC version of the module didn’t match the GCC version of the kernel. I didn’t know that they HAD to match, but it doesn’t surprise me at all.

  4. I’m baffled. I located the __glXActiveScreens symbol. It is a global pointer defined in glxscreens.c of the xorg-server package. That .c file compiles to glxscreens.o, which is linked into libxgl.a which is linked into Xorg with -rdynamic, so the symbol should be exported. I’ve been assuming that the dlopen that’s failing is either Xorg failing to dlopen the fglrx_drv.so or fglrx_drv.so is failing to dlopen Xorg (I’m not sure that’s possible, I’m not that familiar with dlopen). Either way, the dlopen appears to be failing because fglrx_drv.so can’t find that symbol which should be there.

  5. AHAH! The problem is almost certainly an X11R7 problem due to the fact that they only support dlloader whereas they used to support elfloader also. The ATI drivers do not work with dlloader apparently. Every howto I read instructs you to turn off dlloader in X, but I can’t because version 7 doesn’t allow it. I’m still researching to see if there’s anything I can do. I haven’t found a rationale yet for the new restriction.

  6. Hi Warren,

    I have exactly the same problem, and I have changed to ATI drivers 8.24.8 (released yesterday night) and the problem is the same..
    I’m under Ubuntu Dapper, Xorg 7.0, gcc 4.0.3, kernel 2.6.15-20

    Have you find any solutions about this problem ?

  7. Still using the older drivers 8.23.7 myself and I still get these errors, but after recompiling X recently (after syncing portage), I got it to work (that is the errors are there, but now I get a picture on the screen). I am not able to shut X down, however. Doing so locks my machine. I don’t think this is related to the errors above, though.

  8. Dan McDonald Says:

    This problem was pestering me for quite a couple hours but I FIGURED IT OUT! you need Load “glx” in your xorg.conf!

  9. Thanks, Dan. This was one of the first things I thought of because the name of the missing function is __glX.. but I was loading glx. My guess now is that in recompiling I got a newer version of glx, or that it was just not merged correctly the first time around. So if anyone else has this problem make sure you have glx in your xorg.conf file. If it still isn’t working, focus on glx as the source of your problem and if you learn something new, post it here.

  10. I have this problem too, so I checked my xorg.conf. It loads glx, but it still fails.
    I’m running Fedora Core 5 with Xorg7.0 and the latext ATi drivers from the site. I’ve also tried using the drivers available from the Livna RPM repository, and both give the exact same error.

    Now, the last time I tried installing the ATi drivers on FC5, it worked like a charm, so I don’t see why it’s failing this time around. I can’t seem to find a solution to my problem anywher either.

  11. In Gentoo I fixed the problem by dropping the gentoo-sources and switching to vanilla-sources. Don’t know what it was in gentoo-sources that caused the problems, but I now have fully functional drivers.

  12. It’s a problem with xorg.conf. I got this very same error on my AMD64, GCC 4.1, X11 7.0 Gentoo setup. But once I made my xorg.conf - one for my hardware was premade at http://gentoo-wiki.com/HARDWARE_Gentoo_Acer_Ferrari_4005WLMi_Manual - the error was gone.

  13. Also I had to use experimental (~amd64) ati drivers for them to even compile. The version number on them is 8.24.8. A few times during the X11 7.0 install I had a package fail, but every time that was fixed by using the experimental version.

Leave a Reply

Not logged in: Log in