fglrx 3d & kernel 2.6.2 & nforce2 solution
I was trying for few weeks now to get my Slackware box working without problems. I had a lot of radnom lock ups and my 3d acceleration was not working properly.
Like many other users I seeked help, browsing forums, did this and that, but nothing seemed to work. Well finaly combinig few ideas from forums and a bit of intuitive thinking got my Radeon 9000Pro working properly with full 3d acceleration. Here's the deal: First of all here is the list of all the things you need: ATI's driver package f.e. I used fglrx-glc22-4.3.0-3.2.8.i586.rpm If you're using 2.6 kernel like me, you'll need fglrx-2.6-vmalloc-vmaddr.patch, you can find it here h.ttp://gentoo.kems.net/gentoo-x86-portage/media-video/ati-drivers/files/fglrx-2.6-vmalloc-vmaddr.patch And if you have AMD processor, you'll need fglrx-3.2.8-fix-amd-adv-spec.patch, you can find it here h.ttp://gentoo.kems.net/gentoo-x86-portage/media-video/ati-drivers/files/fglrx-3.2.8-fix-amd-adv-spec.patch Download the newest dri for your radeon card, dri can be found at h.ttp://dri.sourceforge.net The latest I used was radeon-20040208-linux.i386.tar.bz2 You need to recompile your kernel and in char devices make sure that: - agpgart must be as a module - dri support must be disabled - NVIDIA-AGP must be enabled When all this is finished do this: rpm2tgz fglrx-glc22-4.3.0-3.2.8.i586.rpm install pkg fglrx-glc22-4.3.0-3.2.8.i586.tgz cd lib/modules/fglrx/build_mod patch -p1 < fglrx-2.6-vmalloc-vmaddr.patch patch -p1 < fglrx-3.2.8-fix-amd-adv-spec.patch ./make.sh cd .. ./make_install.sh modprobe fglrx modprobe nvidia_agp ofcourse do fglrxconfig and setup your XF86Config properly Install DRI with ./install.sh, you'll get some nagging about kernel, since dri install is for 2.4 kernels, but that doesn't make a difference. I hope this helps someone, since I spend a lot of time searching for answers. The good thing is my glxgears gets now about 2000-2400 marks. My system is stable, and everything works perfectly. So I wish you all the best and a lot of luck. Erol PS: This board doesn't allow to post urls, so I hope you figured out the links... |
Great post. Gonna give this a go when I get home from work. Need to upgrade to the 2.6.2 kernel so I'll follow the guides up top for that.
|
Erol - likewise, good post. You will be able to post URL's once you reach a certain minimum post count (which I think is 5, but in any event is pretty low). At this point it your post count is at 1 (Welcome to LQ!!) so with a few more posts URL's will be enabled for you. -- J.W.
|
Worked Great
Thanks Erol! It worked great on the first try with my Asus A7N8X Deluxe motherboard and ATI9200 card.
|
I'm pleased to hear it worked from the first try :) Glad I could help...
Erol |
Erol,
Great post. I had a ton of problems with fglrx and your post worked great. ATI should post a link to that patch on their website. |
I'm interested to know, do any of you guys who used this method, have CPU 100% overload when you run GLXGEARS?
Is this supposed to be like this ? I'm not sure, but I tried to install open GL game with WineX but everything was unbelieavably slow, 1-2 FPS :) Even mouse was dragging his ass all over the screen. Peace, Erol |
I've been trying to get my Radeon 9800 Pro to work with the 2.6.x kernel for some time now, but no luck so far. Well, it works, but without 3D support. I stumbled across Erol's post and decided to give it another try. I've followed all the steps, but again, no luck. My hardware setup is slightly different, though. I have an nForce3 chipset and I use the amd64-agp (this is for the Athlon64 on-CPU GART) module instead of the nvidia-agp module.
I run the 2.6.2-mm1 kernel. The mm patch is applied to provide support for my eth card. I hope someone can shed some light on the situation. I'll post the relevant parts from dmesg and my XFree86.0.log. Thanks in advance! My (partial) XFree log file: (WW) fglrx(0): Cannot read colourmap from VGA. Will restore with default (II) fglrx(0): UMM area: 0xd8700000 (size=0x07900000) (II) fglrx(0): driver needs XFree86 version: 4.3.x (II) fglrx(0): detected XFree86 version: 4.3.0 (II) Loading extension ATIFGLRXDRI (II) fglrx(0): doing DRIScreenInit drmOpenDevice: node name is /dev/dri/card0 drmOpenDevice: open result is 5, (OK) drmOpenDevice: node name is /dev/dri/card0 drmOpenDevice: open result is 5, (OK) drmOpenByBusid: Searching for BusID PCI:2:0:0 drmOpenDevice: node name is /dev/dri/card0 drmOpenDevice: open result is 5, (OK) drmOpenByBusid: drmOpenMinor returns 5 drmOpenByBusid: drmGetBusid reports drmOpenDevice: node name is /dev/dri/card1 drmOpenDevice: open result is -1, (No such device) drmOpenDevice: open result is -1, (No such device) drmOpenDevice: Open failed drmOpenByBusid: drmOpenMinor returns -1023 drmOpenDevice: node name is /dev/dri/card2 drmOpenDevice: open result is -1, (No such device) drmOpenDevice: open result is -1, (No such device) drmOpenDevice: Open failed drmOpenByBusid: drmOpenMinor returns -1023 drmOpenDevice: node name is /dev/dri/card3 drmOpenDevice: open result is -1, (No such device) drmOpenDevice: open result is -1, (No such device) drmOpenDevice: Open failed drmOpenByBusid: drmOpenMinor returns -1023 drmOpenDevice: node name is /dev/dri/card4 drmOpenDevice: open result is -1, (No such device) drmOpenDevice: open result is -1, (No such device) drmOpenDevice: Open failed drmOpenByBusid: drmOpenMinor returns -1023 drmOpenDevice: node name is /dev/dri/card5 drmOpenDevice: open result is -1, (No such device) drmOpenDevice: open result is -1, (No such device) drmOpenDevice: Open failed drmOpenByBusid: drmOpenMinor returns -1023 drmOpenDevice: node name is /dev/dri/card6 drmOpenDevice: open result is -1, (No such device) drmOpenDevice: open result is -1, (No such device) drmOpenDevice: Open failed drmOpenByBusid: drmOpenMinor returns -1023 drmOpenDevice: node name is /dev/dri/card7 drmOpenDevice: open result is -1, (No such device) drmOpenDevice: open result is -1, (No such device) drmOpenDevice: Open failed drmOpenByBusid: drmOpenMinor returns -1023 drmOpenDevice: node name is /dev/dri/card8 drmOpenDevice: open result is -1, (No such device) drmOpenDevice: open result is -1, (No such device) drmOpenDevice: Open failed drmOpenByBusid: drmOpenMinor returns -1023 drmOpenDevice: node name is /dev/dri/card9 drmOpenDevice: open result is -1, (No such device) drmOpenDevice: open result is -1, (No such device) drmOpenDevice: Open failed drmOpenByBusid: drmOpenMinor returns -1023 drmOpenDevice: node name is /dev/dri/card10 drmOpenDevice: open result is -1, (No such device) drmOpenDevice: open result is -1, (No such device) drmOpenDevice: Open failed drmOpenByBusid: drmOpenMinor returns -1023 drmOpenDevice: node name is /dev/dri/card11 drmOpenDevice: open result is -1, (No such device) drmOpenDevice: open result is -1, (No such device) drmOpenDevice: Open failed drmOpenByBusid: drmOpenMinor returns -1023 drmOpenDevice: node name is /dev/dri/card12 drmOpenDevice: open result is -1, (No such device) drmOpenDevice: open result is -1, (No such device) drmOpenDevice: Open failed drmOpenByBusid: drmOpenMinor returns -1023 drmOpenDevice: node name is /dev/dri/card13 drmOpenDevice: open result is -1, (No such device) drmOpenDevice: open result is -1, (No such device) drmOpenDevice: Open failed drmOpenByBusid: drmOpenMinor returns -1023 drmOpenDevice: node name is /dev/dri/card14 drmOpenDevice: open result is -1, (No such device) drmOpenDevice: open result is -1, (No such device) drmOpenDevice: Open failed drmOpenByBusid: drmOpenMinor returns -1023 drmOpenDevice: node name is /dev/dri/card0 drmOpenDevice: open result is 5, (OK) drmOpenDevice: node name is /dev/dri/card0 drmOpenDevice: open result is 5, (OK) drmGetBusid returned '' (II) fglrx(0): [drm] DRM interface version 1.0 (II) fglrx(0): [drm] created "fglrx" driver at busid "PCI:2:0:0" (II) fglrx(0): [drm] added 8192 byte SAREA at 0xf99b8000 (II) fglrx(0): [drm] mapped SAREA 0xf99b8000 to 0x40238000 (II) fglrx(0): [drm] framebuffer handle = 0xd8000000 (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: 3.7.0 (II) fglrx(0): Date: Dec 18 2003 (II) fglrx(0): Desc: ATI Fire GL 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.2-mm1 (II) fglrx(0): Build-Kernel MODVERSIONS: no (II) fglrx(0): Build-Kernel __SMP__: no (II) fglrx(0): Build-Kernel PAGE_SIZE: 0x1000 (II) fglrx(0): [drm] register handle = 0xe9000000 (EE) fglrx(0): [agp] unable to acquire AGP, error "xf86_ENODEV" (EE) fglrx(0): cannot init AGP (II) fglrx(0): [drm] removed 1 reserved context for kernel (II) fglrx(0): [drm] unmapping 8192 bytes of SAREA 0xf99b8000 at 0x40238000 (WW) fglrx(0): *********************************************** (WW) fglrx(0): * DRI initialization failed! * (WW) fglrx(0): * (maybe driver kernel module missing or bad) * (WW) fglrx(0): * 2D acceleraton available (MMIO) * (WW) fglrx(0): * no 3D acceleration available * (WW) fglrx(0): ********************************************* * (II) fglrx(0): FBADPhys: 0xd8000000 FBMappedSize: 0x08000000 (II) fglrx(0): FBMM initialized for area (0,0)-(1280,8191) (II) fglrx(0): FBMM auto alloc for area (0,0)-(1280,1024) (front color buffer - assumption) (==) fglrx(0): Backing store disabled (==) fglrx(0): Silken mouse enabled (II) fglrx(0): Using hardware cursor (scanline 1024) (II) fglrx(0): Largest offscreen area available: 1280 x 7163 (**) Option "dpms" (**) fglrx(0): DPMS enabled (II) fglrx(0): Using XFree86 Acceleration Architecture (XAA) Screen to screen bit blits Solid filled rectangles Solid Horizontal and Vertical Lines Offscreen Pixmaps Setting up tile and stipple cache: 32 128x128 slots 32 256x256 slots 16 512x512 slots (II) fglrx(0): Acceleration enabled (II) fglrx(0): Direct rendering disabled (II) Loading extension FGLRXEXTENSION (II) Loading extension ATITVOUT (==) RandR enabled (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 LBX (II) Initializing built-in extension XC-APPGROUP (II) Initializing built-in extension SECURITY (II) Initializing built-in extension XINERAMA (II) Initializing built-in extension XFree86-Bigfont (II) Initializing built-in extension RENDER (II) Initializing built-in extension RANDR (**) Option "Protocol" "ImPS/2" (**) Mouse1: Protocol: "ImPS/2" (**) Option "CorePointer" (**) Mouse1: Core Pointer (**) Option "Device" "/dev/mouse" (**) Mouse1: Emulate3Buttons, Emulate3Timeout: 50 (**) Option "ZAxisMapping" "4 5" (**) Mouse1: ZAxisMapping: buttons 4 and 5 (**) Mouse1: Buttons: 5 (II) Keyboard "Keyboard1" handled by legacy driver (II) XINPUT: Adding extended input device "Mouse1" (type: MOUSE) (II) Mouse1: ps2EnableDataReporting: succeeded Could not init font path element /usr/X11R6/lib/X11/fonts/Speedo/, removing from list! (WW) Open APM failed (/dev/apm_bios) (No such device) (II) Mouse1: ps2EnableDataReporting: succeeded Relevant output from dmesg: fglrx: module license 'Proprietary. (C) 2002 - ATI Technologies, Starnberg, GERMANY' taints kernel. [fglrx] Maximum main memory to use for locked dma buffers: 802 MBytes. [fglrx] module loaded - fglrx 3.7.0 [Dec 18 2003] on minor 0 [fglrx] module unloaded - fglrx 3.7.0 [Dec 18 2003] on minor 0 fglrx: module license 'Proprietary. (C) 2002 - ATI Technologies, Starnberg, GERMANY' taints kernel. [fglrx] Maximum main memory to use for locked dma buffers: 802 MBytes. [fglrx] module loaded - fglrx 3.7.0 [Dec 18 2003] on minor 0 forcedeth.c: Reverse Engineered nForce ethernet driver. Version 0.19. PCI: Setting latency timer of device 0000:00:05.0 to 64 eth0: forcedeth.c: subsystem: 01458:e000 bound to 0000:00:05.0 eth0: no IPv6 routers present apm: BIOS version 1.2 Flags 0x07 (Driver version 1.16ac) apm: overridden by ACPI. request_module: failed /sbin/modprobe -- char-major-10-134. error = 256 mtrr: 0xd8000000,0x8000000 overlaps existing 0xd8000000,0x1000000 [fglrx:firegl_addmap] *ERROR* mtrr allocation failed (-22) [fglrx:firegl_unlock] *ERROR* Process 1703 using kernel context 0 [fglrx:drm_ioremapfree] *ERROR* [mappings] Attempt to free NULL pointer atkbd.c: Unknown key released (translated set 2, code 0x7a on isa0060/serio0). atkbd.c: This is an XFree86 bug. It shouldn't access hardware directly. atkbd.c: Unknown key released (translated set 2, code 0x7a on isa0060/serio0). atkbd.c: This is an XFree86 bug. It shouldn't access hardware directly. request_module: failed /sbin/modprobe -- sound-slot-0. error = 256 apm: BIOS version 1.2 Flags 0x07 (Driver version 1.16ac) apm: overridden by ACPI. request_module: failed /sbin/modprobe -- char-major-10-134. error = 256 request_module: failed /sbin/modprobe -- sound-slot-0. error = 256 atkbd.c: Unknown key released (translated set 2, code 0x8f on isa0060/serio0). atkbd.c: Use 'setkeycodes e00f <keycode>' to make it known. |
It looks to me that your amd64-agp is not working, or that athlon patch you applied into fglrx is not recognizing your athlon 64.
But my bet is amd64-agp, try to find some help on rage3d forums, I've stumbled upon a post mentioning amd64... Best of luck, Erol |
When running glxgears my CPU usage goes to 100%, but I get around ~1900FPS. It ran the ut2004 demo ok, but I didn't spend too much time playing it.
That was at the default window size. If I maximize I get 163FPS. My screen resolution is 1600x1200. |
djbanaan - I'm no expert at decoding error messages, but in your kernel, do you have support for MTRR enabled? That's another option that must be enabled to support this (it will be under Processor Types and features, towards the bottom of the list)
Erol - Can you elaborate on the steps you took to install DRI? If you are getting 100% CPU usage and only 1 - 2 FPS (ouch!) then it sounds like something's wrong with DRI because you would expect the video processing load to be shifted from the CPU to the video card's memory itself. To illustrate, I've got 2 machines, one with an old Radeon 7500 running under the 2.4.20 kernel with everything set correctly, and a newer one with a Radeon 9700 Pro running under the 2.6.2 kernel, which is still a work in progress (Grrrrrr.) On the first machine, if I run glxgears and maximize the window to the full screen, I get about 240 FPS and CPU usage ranges from zero to 2% which makes sense because the machine is supposed to be idle - all the video processing is happening on the 7500. (FYI - if I leave the glxgears window in its original size, which is maybe a 3"x3" window the FPS score jumps up to about 1350) In contrast, my new machine (AMD 2500+, 512Mg RAM, Radeon 9700Pro, in a Shuttle SN45G box) isn't behaving quite the way it ought to. Running glxgears there in full screen mode gives me only a puny 40 FPS, with 100% CPU usage, so something is still definitely wrong because it ought to be blowing the doors off the 7500. I think I must be pretty close and it's only a matter of tweaking one or two settings (hopefully) but that remains to be seen. If I just can't get things running fast under 2.6.2 then I may fall back to 2.4.24 or 2.4.22 but that remains to be seen. If I have more time to mess around with this either today or tomorrow, and assuming I make any progress, I'll post again. -- J.W. |
Yes MTRR is enabled, eventhough I don't have the slightest idea what it's for ;) Unfortunately, the rage3d forums didn't yield any new information either. Thanks anyway for your replies, it's very much appreciated!
I'll just stick with my 2.4.24 kernel until I find a fix. It's a pitty because I can't use DMA with the 2.4.24 kernel and it doesn't really take advantage of my athlon64. The quest continues... :D |
Well I downloaded radeon dri driver from dri.sourceforge.net. Unpacked it, run ./install.sh and that was about it.
Also before that I did apply those 2 patches I mentioned in my first post. My biggest problem was before I've done this is the stability of my Linux. Without the patches and the fresh dri snapshot, my PC suffered random lockups, kde would freeze to death,starting X would freeze etc. Currently PC is stable, working like a charm, but the one think I can't figure out is why is my CPU doing the job, and not the graphic card. sh-2.05b$ glxgears 9034 frames in 5.0 seconds = 1806.800 FPS 3304 frames in 5.0 seconds = 660.800 FPS 594 frames in 5.0 seconds = 118.800 FPS Second and third results were made when I maximized the window to full screen. fsh-2.05b$ fglrxinfo display: :0.0 screen: 0 OpenGL vendor string: ATI Technologies Inc. OpenGL renderer string: FIRE GL 9000 PRO DDR Athlon (3DNow!) (FireGL) OpenGL version string: 1.3 (X4.3.0-3.2.8) Loaded modules nvidia_agp 5788 1 agpgart 26760 2 nvidia_agp fglrx 201668 183 I still can't run fgl_glxgears, I always get sh-2.05b$ fgl_glxgears Error: couldn't get fbconfig But that thing worked in 2.4.24 kernel, but I've tuned up my 2.6.2 kernel and I have no plans to downgrade. So any help about making this thing work with the new kernel would be helpfull. If any of you have the solution or you think you are close, could you please post your steps here, so maybe together we could tweak this thing to work. Erol |
yeo..
I also got 100% CPU usage when using any opengl apps... I played CS with wine, the game itself is a bit laggy but still playable. But when I used wineX to play Warcraft3, it was like 2~3 fps.... impossible to play.... I am using 2.6.1 kernel, and fglrx 3.7.0 instead of 3.2.8; Radeon 9100 I am able to run fgl_glxgears with average 250 fps and 100% cpu ... I wonder if this is a bug in the kernel, DRI, or fglrx driver.... |
Hey guys... I am pretty new to patching stuff (REALLY NEW)
Anyway I was following the guide Erol wrote and I get up to the second patch: patch -p1 < fglrx-3.2.8-fix-amd-adv-spec.patch and it asks me what file I want to patch?? The was two anway one had like old or somthing as the extension so patched the orginal. When I got to the next step it gave me some errors about somthing being incompatable. (if you need the exact errors I can post them tomorrow) Just to be safe I downloaded all the same files that Erol had there... I have an AMD Athlon @3200+ and an Abit NF7-S Rev 2.0 board... Any ideas?? Adam |
All times are GMT -5. The time now is 08:44 AM. |