ATI drivers fakes- Impossible to run 3D on ATI Radeon 9550
I've passed last 10 days trying to configure my graphic card to be able to have 3D acceleration and I am going to give up now.
My system hardware:
CPU: AMD Semprom 2600+
Motherboard: Asus K8V-X SE (Chipset V8237R - K8T800)
Graphic Card: ATI Radeon 9550 (256 Mb - AGP 8x)
My system OS:
Fedora Core 3 (Kernel 2.6.10)
Well, first of all I have to say that the classical driver 'radeon' has not yet support for cards newer than 9500 version, so I could not use it to enable 3D acceleration.
So I decided to use ATI linux driver which are ATI propietary. So the first thing I did was to recomile my kernel with the following options:
CONFIG_FB is not set
After that, I installed the ATI drivers which I downloaded from ATI official website:
This build the fglrx driver and the fglrx-kernel module for the xorg version I am using (6.8.1).
Then I configured my xorg.conf file as follow (related with the problem):
Option "VideoOverlay" "on"
Option "OpenGLOverlay" "off"
Option "UseInternalAGPGART" "no"
Well, then I load the fglrx module with 'modprobe fglrx' without problems but seems to be not used as I can guess after lsmod. Of course agpgart and amd64_agp modules have been previosly loaded and seems to be used properly. Then I reboot my X and the system always crash when X server try to start.
I have tried different versions of the ATI drivers (8.16, 8,18 , 8.20. I have tried with different kernel versions (2.4.20, 2.4.23, 2.4.32 (seems AGP 8x doesn't work on 2.4 versions), 2.6.9-667 and 2.6.10 with same results. I have tried compiling the agp as module and built-in with same results. It seems fglrx module has a conflict with the kernel agpgart (built-in or module).
Anyone has a idea?
Thanks in advance
I've found this to be highly distro-dependent - consider a switch. I've only ever managed it in Mandriva LE 2005 and in Ubuntu. In the latter it was as simple as doing
I could never get it working in non-paid Mandriva, Debian pure, Slackware, FC etc etc. I've never managed to do it with ATI's own installer/rpm's outside of Mandriva, even when they claim to have successfully installed.
Unless you're firmly attached to FC, then why not hunt around for a distro that you find easier for this? That's the beauty of Linux :)
Thanks for the reply. I am not sure if the problem is related with the kernel version, and consequently with the agpgart module, or related with ati driver (fglrx kernel module). Since I have tested under red hat 9.0 with Xfree86 4.3 instead of Xorg and the problem continues being the same: system crash when try to start the X server.
I have read in another post very similar to this, that the problem could be a conflict with the libGL of the Mesa package or could be related to the kernel version. Since I have amd64_agp, I don't know if a I have to apply a patch to the firegl_public.c file before building the fglrx kernel module.
But I cannot undestand why disabling the agpgart module (Linux kernel), loading the fglrx-module and enabling the option 'UseInternalAGPGART', the problem continues being present. Because with this configuration, the 3D rendering is supposed to run using the ati driver agpgart module and not interfering with any other modules of the distro.
Now I am waiting for a official reply from ATI Customer Care section.
Tomorrow I will test 2.6.15 kernel version and will post the results.
Thanks and bye.
Be sure to post the result of fglrxinfo when you post the results. Also,
the output of mount | grep "shm" may be helpful.
These will ensure the driver installed correctly.
However, from what I read, the problem looks like the same problem I have (although it could just be showing the same issues). If the only problem is that the X server doesn't start on boot, it may be a problem with your desktop manager not playing nice with ATI. To check, try booting in runlevel 3 and running the command startx. If your desktop loads properly, with proper 3d support, then this is definately a problem with the desktop manager. (Unfortunately I still have this problem, and don't know how to solve it)
I have the same problems thats why I have Windows on a drive, I will never buy another ATI product again.
OK, here are my new dissapointing results:
I have disabled my desktop manager so I boot directly into runlevel 3 and execute 'startx' manually with the same result: X server crash and system freeze.
The result of mount | grep "shm" is 'tmpfs on /dev/shm type tmpfs (rw)'.
Then I downloaded 2.6.15-1 kernel, compiled it with the options commented above, compile the fglrx driver and kernel module again, load agpgart, amd64_agp and fglrx, and modified the xorg.conf as shown before. The result: system crash when starting the X.
But what I am really surprised is that the 'fglrxinfo' always give me the same result, like if ATI driver was not installed, or this driver conflicts with the mesa package that comes with the xorg enviroment. This is the fglrxinfo output:
OpenGL vendor string: Mesa project: www.mesa3d.org
OpenGL renderer string: Mesa GLX Indirect
OpenGL version string: 1.2 (1.5 Mesa 6.1)
The fact is that if I try to install the ati driver from the rpm package, it gives me a warning about the conflict I have mentioned, although the driver build process goes OK as I can guess in fglrx-install.log:
LD [M] /lib/modules/fglrx/build_mod/firegl_agpgart/fglrx_agp.o
Building modules, stage 2.
*** Warning: "verify_area" [/lib/modules/fglrx/build_mod/firegl_agpgart/fglrx_agp.ko] undefined!
LD [M] /lib/modules/fglrx/build_mod/firegl_agpgart/fglrx_agp.ko
make: Leaving directory `/usr/src/linux-126.96.36.199'
AGPGART build succeeded with return value 0
finished compiling for fglrx_agp
duplicating results into driver repository...
- creating symlink
- recreating module dependency list
- trying a sample load of the kernel modules
I have always used Red Hat or Fedora, but I have no problem to test another distros. The reason why I am angry for is that ATI doesn't attack the problem. They receive the money and give you the back.
I agree with you. I will never by an ATI product again.
Anyway, thanks to all.
Definetely is a conflict with the DRI kernel module. If a disable the option 'Load "dri" of the 'Modules' Section in the xorg.conf file, The X server start (without 3d Rendering). If the module is loaded, the system crash.
Any ideas of how to upgrade this module?
No More Problems
Well at least you were able to compile the fglrx_agp module my installation wouldn't even give me that. After having to download a new kernel (188.8.131.52) and then compile and download and install the ati-drivers I just decided to go to Windows again, everything works and its all good. When using the drivers my X just hung it was so pathetic thatjust running fglrxinfo froze X, and shutting down the computer meant pressing the reset button. And trying to use the internal GART module for the drivers was next to impossible because it won't compile for me so screw it, I am playing games on Windows without having to wast time compiling.
ATI 9600 PRO AIW
I had to use kernel 184.108.40.206 because its the only one that supports my P4M800 CE chipsets on AGPGART but I would stay with the stock 2.6.12-15mdk kernel if the fglrx would compile the fglrx_agp but lord knows thats a one in a million thing. I am not going to purchase a new motherboard to use one videocard.
Finally what is really incredible is that after applying a patch to the 'firegl_public.c' file (patch: line 2624 -> replace #IF 0 by #IF LINUX_VERSION_CODE >= 02060f ), compile and install, the results appears to be the same except that the system is not frozen. So I decided to access to the Xorg.log file through SSH from another computer when the system appears to be frozen, and the AGP was running!, but I cannot see anything cause I have no X server running (black screen). This is my log:
(II) fglrx(0): [drm] DRM interface version 1.0
(II) fglrx(0): [drm] created "fglrx" driver at busid "PCI:1:0:0"
(II) fglrx(0): [drm] added 8192 byte SAREA at 0x22935000
(II) fglrx(0): [drm] mapped SAREA 0x22935000 to 0xf6d11000
(II) fglrx(0): [drm] framebuffer handle = 0xd0000000
(II) fglrx(0): [drm] added 1 reserved context for kernel
(II) fglrx(0): DRIScreenInit done
(II) fglrx(0): Kernel Module Version Information:
(II) fglrx(0): Name: fglrx
(II) fglrx(0): Version: 8.20.8
(II) fglrx(0): Date: Dec 6 2005
(II) fglrx(0): Desc: ATI FireGL DRM kernel module
(II) fglrx(0): Kernel Module version matches driver.
(II) fglrx(0): Kernel Module Build Time Information:
(II) fglrx(0): Build-Kernel UTS_RELEASE: 2.6.9-1.667
(II) fglrx(0): Build-Kernel MODVERSIONS: yes
(II) fglrx(0): Build-Kernel __SMP__: no
(II) fglrx(0): Build-Kernel PAGE_SIZE: 0x1000
(II) fglrx(0): [drm] register handle = 0xfbe00000
(II) fglrx(0): [agp] Mode=0x1f000a1a bridge: 0x1106/0x3188
(II) fglrx(0): [agp] AGP v1/2 disable mask 0x00000000
(II) fglrx(0): [agp] AGP v3 disable mask 0x00000000
(II) fglrx(0): [agp] enabling AGP with mode=0x1f000b1a
(II) fglrx(0): [agp] AGP protocol is enabled for graphics board. (cmd=0x1f000312)
(II) fglrx(0): [agp] graphics chipset has AGP v3.0 (native mode)
(II) fglrx(0): [drm] ringbuffer size = 0x00100000 bytes
(II) fglrx(0): [drm] DRM buffer queue setup: nbufs = 100 bufsize = 65536
(II) fglrx(0): [drm] texture shared area handle = 0x22d81000
(II) fglrx(0): shared FSAAScale=1
(II) fglrx(0): DRI initialization successfull!
(II) fglrx(0): FBADPhys: 0xd0000000 FBMappedSize: 0x00501000
(II) fglrx(0): Splitting WC range: base: 0xd0000000, size: 0x501000
(II) fglrx(0): Splitting WC range: base: 0xd0400000, size: 0x101000
(==) fglrx(0): Write-combining range (0xd0500000,0x1000)
(==) fglrx(0): Write-combining range (0xd0400000,0x101000)
(==) fglrx(0): Write-combining range (0xd0000000,0x501000)
(II) fglrx(0): FBMM initialized for area (0,0)-(1024,1281)
(II) fglrx(0): FBMM auto alloc for area (0,0)-(1024,768) (front color buffer - assumption)
(==) fglrx(0): Backing store disabled
(==) fglrx(0): Silken mouse enabled
(==) fglrx(0): Using hardware cursor (scanline 768)
(II) fglrx(0): Largest offscreen area available: 1024 x 505
(**) Option "dpms"
(**) fglrx(0): DPMS enabled
(II) fglrx(0): Using XFree86 Acceleration Architecture (XAA)
Screen to screen bit blits
Solid filled rectangles
8x8 mono pattern filled rectangles
Setting up tile and stipple cache:
24 128x128 slots
(II) fglrx(0): Acceleration enabled
(II) fglrx(0): X context handle = 0x00000001
(II) fglrx(0): [DRI] installation complete
So now, I cannot understand anything.
rpm -Uh --force ./ati_installer_whatever_it's_called.rpm
If all goes well that should take care of the MESA drivers. again, check with fglrxinfo. (Also make sure you have kernel source, gcc, and POSIX shared memory; these are common issues mentioned on the ATI website)
Having said that, it's not clear whether it's the DRI problem screwing up the ATI drivers, or the ATI drivers screwing up the DRI module.
i think you should disable Direct Rendering Manager support in kenrel. i had to do so.
i use radeon x 600 pro -256 MB (only 128 Mb are recognized - no support for pro version i belive) and kernel 220.127.116.11
with fgl_glx gears i get:
2188 frames in 5.0 seconds = 437.600 FPS
2532 frames in 5.0 seconds = 506.400 FPS
2537 frames in 5.0 seconds = 507.400 FPS
2537 frames in 5.0 seconds = 507.400 FPS
and with glxgears
10780 frames in 5.0 seconds = 2156.000 FPS
12984 frames in 5.0 seconds = 2596.800 FPS
12984 frames in 5.0 seconds = 2596.800 FPS
13109 frames in 5.0 seconds = 2621.800 FPS
I have also used the option of installing from the rpm package using the --force option but it seems cannot override Mesa dri drivers.
How can I replace them?
When MESA refuses to leave like this, the bottom line is this: I hope you enjoy the time you spend at your computer unsure of what's going on. You'll probably get it eventually, but either with somthing ridiculously comlex or something ridiculously simple. Having said that, let's see if we can't take care of the problem.
First, take care of the "basics". i.e. Make sure ATI is finding what it wants.
POSIX shared memory:
AGP modules: (As I understand it, your AGP issues extend beyond this solution, and you've probably already tried, but I'm including it anyways.. This could well be the reason MESA won't leave, but I don't know for sure)
Kernel Source and gcc:
I group these two because the fix is generally the same. Make sure you have the appropriate packages installed. And update gcc if necessary
Next, assuming that didn't help any, we're going to try to remove MESA.
Remove any MESA rpms:
Ok, I'm not highly familiar with the rpm command, as most of my package work is done with RpmDrake. Obviously, FC does things different than Mandrake. If you have some GUI to check for any MESA packages, do so. Otherwise, check the man page for rpm to look up the command to find any packages.
Once you've found the appropriate package (if it exists as such) the following command will hopefully remove it. Immediately after, install the ati driver.
rpm -e xorg-x11-Mesa-libGL-6.8.1-12
Obviously changing the package name as appropriate.
If things are going to be remotely friendly, this will have worked to remove MESA (possibly leaving/creating numerous other problems, but taking care of the existance of MESA
Remove MESA Manually:
If you reach this point, then I feel for you. I'm not entirely sure how to do this properly, but I recall reading a post once where someone found and deleted all the MESA related files (probably altering some too). I'm going to search for it now .................
Ok, not the post I read before, but this thread offers a suggestion (for an older ATI driver, but the goal is still to remove MESA...
If it still refuses to budge, prehaps you'll be more successful in searching for the appropriate post.
Hopefully this takes care of things, although those AGP issues you mentioned may cause other problems.
I've got some bad news for the other person with the ASUS K8V-X SE motherboard.
The problem isn't the ATI card, nor the ATI software, it's an imcompability with the motherboard itself.
I've been trying to solve this issue for 2 months or so now, with no success sofar.
What i do know, and can tell you, is that the problem stems from the AGPGART not being able to access the AGP card itself properly, you can see for yourself with the following command:
dmesg | grep "agp"
You will notice, that, regardless of your AGP settings in your BIOS, that the aperture size is reported as 32M, instead of the value specified in the BIOS.
Furthermore, running agpgart testcode produces failures all over the place.
I filed a bugreport about this with the ubuntu fellas (since that's what i'm using) but i also tried solving it through gentoo.
I also did tests with NVidia cards and ATI cards (Rage 128, wich uses FOSS drivers) and they all have the same result.
Bottom line is, eighter we find the bug, or we buy a new mobo
*link to bugreport: https://launchpad.net/distros/ubuntu....15/+bug/29813
First of all I have to say thanks all of you for your interest in my post and your help.
In reply to your suggestions:
I have checked that POSIX memory is enabled and mounted as tmpfs /dev/shm... in fstab and checked later with 'mount | grep 'shm''.
I have checked which ids my AGP chipset. As I can get from lspci is:
VT8385 (AGP K8T800). But the module amd64_agp is the only module that load itself on booting. Then I am not sure if this is the module I have to use. I have not beeing able to find if this is the rigth one. Any idea ?
I have also tried to uninstall mesa driver with thr rpm command, but there are a lot of dependencies, so I don't know if this is going to work forcing uninstall.
I am not sure that you are right. As you can see the output from dmesg:
Linux agpgart interface v0.101 (c) Dave Jones
agpgart: Detected AGP bridge 0
agpgart: AGP aperture is 64M @ 0xcc000000
AGP aperture is exactly the same as the BIOS is set. I am going to run the script 'testagpgart.c' and will post the results.
Thanks in advance.
|All times are GMT -5. The time now is 10:55 AM.|