Solving the Tyan 2885 AGP performance issues
The 2P Opteron based Tyan 2885 K8W has some problems with AGP/openGL graphics performance when using nVidia graphics cards under Linux. AMD, Tyan, and nVidia have been working together to develop fixes for the problems. Four problems have been resolved for the Tyan 2885 design. The first issue was the inabilty of the Linux kernel to find the AMD-8151 AGP Tunnel. The AMD-8151 AGP controller is not at the normal PCI address, and the Linux kernel had to be modified to account for the change. SUSE Linux kernels starting with k_smp-2.4.21-139 include the change. The two attached patches (tyan_agp.generic.patch and tyan_agp.RHEL3.patch) fix the problem for most kernels and for the Red Hat 2.4.21-4EL kernels, respectively. The second issue was a misallocation of MTRRs in the Tyan BIOS that prevented the nVidia driver from correctly caching the AGP aperture. Tyan fixed this with the 2885101i.ROM (1.01i) BIOS, available at ftp://ftp.tyan.com/bios_beta/2885101i.zip. The third issue involved the nVidia 10-4499 graphics driver. nVidia has corrected the problems exposed by the updated AGP and BIOS code and released the 10-5332 driver to their website on January 20th. The final issue involved the Linux kernel MTRR code. A patch that fixes the problem is attached to this message (mtrr.patch). It has not been included in any production kernels at this time. These four updates, taken together, allow the 2885 to provide excellent 3D performance under Linux. AMD would like to thank all those who contributed to defining, debugging, and verifying this problem. Mark Langsdorf Team Lead, Linux Device Drivers Advanced Micro Devices mark.langsdorf@amd.com
Great, but what about the same fixes for the 2.6 kernels? On Mon, Jan 19, 2004 at 04:58:04PM -0600, mark.langsdorf@amd.com wrote:
The 2P Opteron based Tyan 2885 K8W has some problems with AGP/openGL graphics performance when using nVidia graphics cards under Linux. AMD, Tyan, and nVidia have been working together to develop fixes for the problems. Four problems have been resolved for the Tyan 2885 design.
The first issue was the inabilty of the Linux kernel to find the AMD-8151 AGP Tunnel. The AMD-8151 AGP controller is not at the normal PCI address, and the Linux kernel had to be modified to account for the change. SUSE Linux kernels starting with k_smp-2.4.21-139 include the change. The two attached patches (tyan_agp.generic.patch and tyan_agp.RHEL3.patch) fix the problem for most kernels and for the Red Hat 2.4.21-4EL kernels, respectively.
The second issue was a misallocation of MTRRs in the Tyan BIOS that prevented the nVidia driver from correctly caching the AGP aperture. Tyan fixed this with the 2885101i.ROM (1.01i) BIOS, available at ftp://ftp.tyan.com/bios_beta/2885101i.zip.
The third issue involved the nVidia 10-4499 graphics driver. nVidia has corrected the problems exposed by the updated AGP and BIOS code and released the 10-5332 driver to their website on January 20th.
The final issue involved the Linux kernel MTRR code. A patch that fixes the problem is attached to this message (mtrr.patch). It has not been included in any production kernels at this time.
These four updates, taken together, allow the 2885 to provide excellent 3D performance under Linux.
AMD would like to thank all those who contributed to defining, debugging, and verifying this problem.
Mark Langsdorf Team Lead, Linux Device Drivers Advanced Micro Devices mark.langsdorf@amd.com
-- Check the List-Unsubscribe header to unsubscribe For additional commands, email: suse-amd64-help@suse.com
-- Steven A. DuChene linux-clusters@mindspring.com sduchene@mindspring.com
And verily, didst Steven A. DuChene announce to the hordes:
Great, but what about the same fixes for the 2.6 kernels?
And even though the patches are mentioned... where can they be downloaded? (I've looked on the nvidia site and couldn't find the newer drivers either)
And verily, didst Andrew Halliwell announce to the hordes:
And verily, didst Steven A. DuChene announce to the hordes:
Great, but what about the same fixes for the 2.6 kernels?
And even though the patches are mentioned... where can they be downloaded? (I've looked on the nvidia site and couldn't find the newer drivers either)
Update: SuSE kernel 2.4.21-102 4499 driver from nvidia... Unresolved symbol error. mem_map in nvidia.o. Updating the kernel isn't likely, as it needs to be able to see the Sil RAID onboard the S2885, and the only module is for 102. Anything in menuconfig I could tweak to resolve this symbol error? Or a quick patch that won't break anything else, like the raid? If the new version of the drivers resolves this, has anyone got a URL? It's not on the nvidia site yet, as far as I can see. Still 4499 there.
On Wed, 2004-01-21 at 15:06, Andrew Halliwell wrote:
And verily, didst Andrew Halliwell announce to the hordes:
And verily, didst Steven A. DuChene announce to the hordes:
Great, but what about the same fixes for the 2.6 kernels?
And even though the patches are mentioned... where can they be downloaded? (I've looked on the nvidia site and couldn't find the newer drivers either)
Update: SuSE kernel 2.4.21-102 4499 driver from nvidia... Unresolved symbol error. mem_map in nvidia.o. Updating the kernel isn't likely, as it needs to be able to see the Sil RAID onboard the S2885, and the only module is for 102.
Anything in menuconfig I could tweak to resolve this symbol error? Or a quick patch that won't break anything else, like the raid? If the new version of the drivers resolves this, has anyone got a URL? It's not on the nvidia site yet, as far as I can see. Still 4499 there.
Apply the Suse patch for the nvidia kernel driver or edit nv.c and replace the following line: at->page_table[index] = (void *) ((page_ptr - mem_map) << PAGE_SHIFT); with at->page_table[index] = (void *) (page_to_pfn(page_ptr) << PAGE_SHIFT); /peter
And verily, didst Peter Rundberg announce to the hordes:
Anything in menuconfig I could tweak to resolve this symbol error? Or a quick patch that won't break anything else, like the raid? If the new version of the drivers resolves this, has anyone got a URL? It's not on the nvidia site yet, as far as I can see. Still 4499 there.
Apply the Suse patch for the nvidia kernel driver or edit nv.c and replace the following line: at->page_table[index] = (void *) ((page_ptr - mem_map) << PAGE_SHIFT); with at->page_table[index] = (void *) (page_to_pfn(page_ptr) << PAGE_SHIFT);
hmmm, that was a partial success... In that the module compiled, switch2nvidia worked, and X started. It then froze the machine solid, apart from the mouse which was moving quite freely. (Even sysrq)
I don't believe this list permits attachments as no mtrr.patch was included with your E-mail. On Mon, Jan 19, 2004 at 04:58:04PM -0600, mark.langsdorf@amd.com wrote:
The final issue involved the Linux kernel MTRR code. A patch that fixes the problem is attached to this message (mtrr.patch). It has not been included in any production kernels at this time.
-- Steven A. DuChene linux-clusters@mindspring.com sduchene@mindspring.com
mark.langsdorf@amd.com may (or may not) have said:
The 2P Opteron based Tyan 2885 K8W has some problems with AGP/openGL graphics performance when using nVidia graphics cards under Linux. AMD, Tyan, and nVidia have been working together to develop fixes for the problems. Four problems have been resolved for the Tyan 2885 design.
Damn, seeing a 3x performance improvement on certain GL apps now, impressive, thanks to all for getting this figured out. Mike
On Mon, Jan 19, 2004 at 04:58:04PM -0600, mark.langsdorf@amd.com wrote:
The first issue was the inabilty of the Linux kernel to find the AMD-8151 AGP Tunnel. The AMD-8151 AGP controller is not at the normal PCI address, and the Linux kernel had to be modified to account for the change. SUSE Linux kernels starting with k_smp-2.4.21-139 include the change. The two attached patches (tyan_agp.generic.patch and tyan_agp.RHEL3.patch) fix the problem for most kernels and for the Red Hat 2.4.21-4EL kernels, respectively.
BTW, I can confirm that this particular problem seems to be fixed in 2.6.1-mm4 at least because the kernel prints the following during boot-up: agpgart: Detected AMD 8151 AGP Bridge rev B2 agpgart: Maximum main memory to use for agp memory: 1919M agpgart: AGP aperture is 128M @ 0xf0000000 running lspci -v gives: 04:00.0 Host bridge: Advanced Micro Devices [AMD] AMD-8151 System Controller (re v 13) Subsystem: Advanced Micro Devices [AMD] AMD-8151 System Controller Flags: bus master, medium devsel, latency 0 Memory at f0000000 (32-bit, prefetchable) [size=128M] Capabilities: [a0] AGP version 3.0 Capabilities: [c0] #08 [0060] 04:01.0 PCI bridge: Advanced Micro Devices [AMD] AMD-8151 AGP Bridge (rev 13) (p rog-if 00 [Normal decode]) Flags: bus master, 66Mhz, medium devsel, latency 64 Bus: primary=04, secondary=05, subordinate=05, sec-latency=64 Memory behind bridge: fca00000-feafffff Prefetchable memory behind bridge: dc300000-ec3fffff and catting /proc/mtrr returns: reg00: base=0x00000000 ( 0MB), size=2048MB: write-back, count=1 reg01: base=0xe0000000 (3584MB), size= 64MB: write-combining, count=1 -- Steven A. DuChene linux-clusters@mindspring.com sduchene@mindspring.com
participants (5)
-
Andrew Halliwell
-
mark.langsdorf@amd.com
-
Mike Phillips
-
Peter Rundberg
-
Steven A. DuChene