Re: FC2 3d acceleration- fglrx / nforce2 issues.

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Got it working,  here's the scoop should anyone run into the same brick
wall:

1)	cleared out all previous fglrx stuff
	removed /lib/modules/fglrx directory
	rpm -e fglrx
	reboot

2)	downloaded fglrx-4.3.0-3.9.0.i386.rpm
	rpm -Uvh --replacefiles fglrx-4.3.0-3.9.0.i386.rpm

	got an error message saying that I would have to compile my own
	kernel.

	got the patches (at end of file)
		vmalloc.patch

		fglrx-3.9.0-fc2.patch

		badPointer.patch

	ran the patch's
		patch -p1 -i /dir_to_patch/patchname.patch	

	cd /lib/modules/fglrx/build_mod/
	sh make.sh 
	cd ..
	sh make_install.sh

3)	Set up the XF86config file in /etc/X11
	linked it to xorg.conf

4)	reboot
	
and it works.


	
I'm getting around 1800 fps in glxgears on screen double that
offscreen,  I have no idea if that's good.
And 350 fps in fgl_glxgears double that off screen.

In any case it beats the 95 I was getting before.

Hardware:
amd 2400 athlon xp,  a7n8x-vm 1gb ram.  sapphire radeon 9600 atlantis.

fedora core 2 (kernel 2.6.6-1.435)



These patch files were obtained from from rage3d.  I had no part in
making them.

This one seems to solve an invalid pointer issue,  I'm curious as to
where the issue originates. 

There is one patch that I'm not including (Too large) but here's a link:
http://rambo.its.tudelft.nl/~ewald/patches/fglrx-3.9.0-fc2.patch

 (http://www.rage3d.com/board/showthread.php?s=&threadid=33737573)
-----------------------------------------------------------------------------------	
diff -uprN build_mod-mreg_new/agpgart_be.c
build_mod-mreg_new-mm/agpgart_be.c
--- build_mod-mreg_new/agpgart_be.c     2004-05-15 03:45:48.000000000
+0300
+++ build_mod-mreg_new-mm/agpgart_be.c  2004-05-15 03:18:30.000000000
+0300
@@ -1402,7 +1402,8 @@ unsigned long agp_generic_alloc_page(voi
     }
 #endif

-    atomic_inc(&page->count);
+    //atomic_inc(&page->count);
+    get_page(page);
     set_bit(PG_locked, &page->flags);
     atomic_inc(&agp_bridge.current_memory_agp);

@@ -4413,7 +4414,8 @@ static unsigned long ali_alloc_page(void
     if (page == NULL)
         return 0;

-    atomic_inc(&page->count);
+    //atomic_inc(&page->count);
+    get_page(page);
     set_bit(PG_locked, &page->flags);
     atomic_inc(&agp_bridge.current_memory_agp);

diff -uprN build_mod-mreg_new/firegl_public.c
build_mod-mreg_new-mm/firegl_public.c
--- build_mod-mreg_new/firegl_public.c  2004-05-15 03:45:06.000000000
+0300
+++ build_mod-mreg_new-mm/firegl_public.c       2004-05-15
03:25:13.000000000 +0300
@@ -2066,7 +2066,8 @@ static vm_nopage_ret_t vm_shm_nopage(str
     pMmPage = virt_to_page(kaddr);
 #endif /* LINUX_VERSION_CODE < 0x020400 */

-    atomic_inc(&(pMmPage->count));  /* inc usage count of page */
+    //atomic_inc(&(pMmPage->count));  /* inc usage count of page */
+    get_page(pMmPage);

 #if LINUX_VERSION_CODE >= 0x020400
   //  __KE_DEBUG3("vm-address 0x%08lx => kernel-page-address 0x%p\n",
-----------------------------------------------------------------------------------------


vmalloc.patch
-----------------------------------------------------------------------------------------
diff -ruN build_mod.orig/firegl_public.c build_mod/firegl_public.c
--- build_mod.orig/firegl_public.c	2003-09-05 00:45:33.539384168 +0200
+++ build_mod/firegl_public.c	2003-09-05 00:47:13.193234480 +0200
@@ -129,7 +129,9 @@
         #define pte_offset  pte_offset_map
     #endif
 #endif
-
+#ifndef VMALLOC_VMADDR
+#define VMALLOC_VMADDR(x)  ((unsigned long)(x))
+#endif
 // ============================================================
 #ifndef TRUE
 #define TRUE 1

------------------------------------------------------------------------------------------




[Index of Archives]     [Current Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Yosemite News]     [Yosemite Photos]     [KDE Users]     [Fedora Tools]     [Fedora Docs]

  Powered by Linux