# GeForce FX series

The GeForce FX or "GeForce 5" series (codenamed NV30) is a line of graphics processing units from the manufacturer Nvidia.

## Overview

Nvidia's GeForce FX series is the fifth generation of the GeForce line. With GeForce 3, the company introduced programmable shader functionality into their 3D architecture, in line with the release of Microsoft's DirectX 8.0. The GeForce 4 Ti was an enhancement of the GeForce 3 technology. With real-time 3D graphics technology continually advancing, the release of DirectX 9.0 brought further refinement of programmable pipeline technology with the arrival of Shader Model 2.0. The GeForce FX series is Nvidia's first generation Direct3D 9-compliant hardware.
The series was manufactured on TSMC's 130 nm fabrication process. It is compliant with Shader Model 2.0/2.0A, allowing more flexibility in complex shader/fragment programs and much higher arithmetic precision. It supports a number of new memory technologies, including DDR2, GDDR2 and GDDR3 and saw Nvidia's first implementation of a memory data bus wider than 128 bits. The anisotropic filtering implementation has potentially higher quality than previous Nvidia designs. Anti-aliasing methods have been enhanced and additional modes are available compared to GeForce 4. Memory bandwidth and fill-rate optimization mechanisms have been improved. Some members of the series offer double fill-rate in z-buffer/stencil-only passes.
The series also brought improvements to the company's video processing hardware, in the form of the Video Processing Engine (VPE), which was first deployed in the GeForce 4 MX. The primary addition, compared to previous Nvidia GPUs, was per-pixel video-deinterlacing.
The initial version of the GeForce FX (the 5800) was one of the first cards to come equipped with a large dual-slot cooler. Called "Flow FX", the cooler was very large in comparison to ATI's small, single-slot cooler on the 9700 series. It was jokingly referred to as the "Dustbuster", due to a high level of fan noise.
The advertising campaign for the GeForce FX featured the Dawn, which was the work of several veterans from the computer animation Final Fantasy: The Spirits Within. Nvidia touted it as "The Dawn of Cinematic Computing".
Nvidia debuted a new campaign to motivate developers to optimize their titles for Nvidia hardware at the Game Developers Conference (GDC) in 2002. In exchange for prominently displaying the Nvidia logo on the outside of the game packaging, the company offered free access to a state-of-the-art test lab in Eastern Europe, that tested against 500 different PC configurations for compatibility. Developers also had extensive access to Nvidia engineers, who helped produce code optimized for the company's products.
Hardware based on the NV30 project didn't launch until near the end of 2002, several months after ATI had released their competing DirectX 9 architecture.

## Overall performance

GeForce FX is an architecture designed with DirectX 7, 8 and 9 software in mind. Its performance for DirectX 7 and 8 was generally equal to ATI's competing products with the mainstream versions of the chips, and somewhat faster in the case of the 5900 and 5950 models, but it is much less competitive across the entire range for software that primarily uses DirectX 9 features.
Its weak performance in processing Shader Model 2 programs is caused by several factors. The NV3x design has less overall parallelism and calculation throughput than its competitors. It is more difficult, compared to GeForce 6 and ATI Radeon R300 series, to achieve high efficiency with the architecture due to architectural weaknesses and a resulting heavy reliance on optimized pixel shader code. While the architecture was compliant overall with the DirectX 9 specification, it was optimized for performance with 16-bit shader code, which is less than the 24-bit minimum that the standard requires. When 32-bit shader code is used, the architecture's performance is severely hampered. Proper instruction ordering and instruction composition of shader code is critical for making most of the available computational resources.

## Hardware refreshes and diversification

Nvidia's initial release, the GeForce FX 5800, was intended as a high-end part. At the time, there were no GeForce FX products for the other segments of the market. The GeForce 4 MX continued in its role as the budget video card and the older GeForce 4 Ti cards filled in the mid-range.
In April 2003, the company introduced the GeForce FX 5600 and the GeForce FX 5200 to address the other market segments. Each had an "Ultra" variant and a slower, budget-oriented variant and all used conventional single-slot cooling solutions. The 5600 Ultra had respectable performance overall but it was slower than the Radeon 9600 Pro and sometimes slower than the GeForce 4 Ti series. The FX 5200 did not perform as well as the DirectX 7.0 generation GeForce 4 MX440 or Radeon 9000 Pro in some benchmarks.
In May 2003, Nvidia launched the GeForce FX 5900 Ultra, a new high-end product to replace the low-volume and disappointing FX 5800. Based upon a revised GPU called NV35, which fixed some of the DirectX 9 shortcomings of the discontinued NV30, this product was more competitive with the Radeon 9700 and 9800. In addition to redesigning parts of the GPU, the company moved to a 256-bit memory data bus, allowing for significantly higher memory bandwidth than the 5800 even when utilizing more common DDR SDRAM instead of DDR2. The 5900 Ultra performed somewhat better than the Radeon 9800 Pro in games not heavily using shader model 2, and had a quieter cooling system than the 5800.
In October 2003, Nvidia released the GeForce FX 5700 and GeForce FX 5950. The 5700 was a mid-range card using the NV36 GPU with technology from NV35 while the 5950 was a high-end card again using the NV35 GPU but with additional clock speed. The 5950 also featured a redesigned version of the 5800's FlowFX cooler, this time using a larger, slower fan and running much quieter as a result. The 5700 provided strong competition for the Radeon 9600 XT in games limited to light use of shader model 2. The 5950 was competitive with the Radeon 9800 XT, again as long as pixel shaders were lightly used.
In December 2003, the company launched the GeForce FX 5900XT, a graphics card intended for the mid-range segment. It was similar to the 5900 Ultra, but clocked slower and used slower memory. It more thoroughly competed with Radeon 9600 XT, but was still behind in a few shader-intense scenarios.
The GeForce FX line moved to PCI Express in early 2004 with a number of models, including the PCX 5300, PCX 5750, PCX 5900, and PCX 5950. These cards were largely the same as their AGP predecessors with similar model numbers. To operate on the PCIe bus, an AGP-to-PCIe "HSI bridge" chip on the video card converted the PCIe signals into AGP signals for the GPU.
Also in 2004, the GeForce FX 5200 / 5300 series that utilized the NV34 GPU received a new member with the FX 5500.

## GeForce FX model information

* All models support OpenGL 1.5 (2.1 (software) with latest drivers)
* The GeForce FX series runs vertex shaders in an array
| Model | Launch | Code name | Fab (nm) | Transistors (million) | Die size (mm$^2$) | Bus interface | Core clock (MHz) | Memory clock (MHz) | Core config | Fillrate | Fillrate | Fillrate | Fillrate | Memory | Memory | Memory | Memory | Performance (GFLOPS FP32) | TDP (Watts) |
| Model | Launch | Code name | Fab (nm) | Transistors (million) | Die size (mm$^2$) | Bus interface | Core clock (MHz) | Memory clock (MHz) | Core config | MOperations/s | MPixels/s | MTexels/s | MVertices/s | Size (MB) | Bandwidth (GB/s) | Bus type | Bus width (bit) | Performance (GFLOPS FP32) | TDP (Watts) |
| GeForce FX 5100 | March 2003 | NV34 | TSMC 150 nm | 45 | 124 | AGP 8x | 200 | 166 | 4:2:4:4 | 800 | 800 | 800 | 100.0 | 64 128 | 2.6 | DDR | 64 | 12.0 | ? |
| GeForce FX 5200 LE | March 2003 | NV34 | TSMC 150 nm | 45 | 124 | AGP 8x | 250 | 166 | 4:2:4:4 | 1,000 | 1,000 | 1,000 | 125.0 | 64 128 256 | 2.6 5.3 | DDR | 64 128 | 15.0 | ? |
| GeForce FX 5200 | March 2003 | NV34 | TSMC 150 nm | 45 | 124 | AGP 8x PCI | 250 | 200 | 4:2:4:4 | 1,000 | 1,000 | 1,000 | 125.0 | 64 128 256 | 3.2 6.4 | DDR | 64 128 | 15.0 | 21 |
| GeForce FX 5200 Ultra | 6 March 2003 | NV34 | TSMC 150 nm | 45 | 124 | AGP 8x | 325 | 325 | 4:2:4:4 | 1,300 | 1,300 | 1,300 | 162.5 | 64 128 256 | 10.4 | DDR | 128 | 19.5 | 32 |
| GeForce PCX 5300 | 17 March 2004 | NV34 | TSMC 150 nm | 45 | 124 | PCIe x16 | 250 | 166 | 4:2:4:4 | 1,000 | 1,000 | 1,000 | 125.0 | 128 256 | 2.6 | DDR | 64 | 15.0 | 21 |
| GeForce FX 5500 | March 2004 | NV34B | TSMC 150 nm | 45 | 91 | AGP 8x AGP 4x PCI | 270 | 166 200 | 4:2:4:4 | 1,080 | 1,080 | 1,080 | 135.0 | 64 128 256 | 5.3 6.4 | DDR | 128 | 16.2 | ? |
| GeForce FX 5600 XT | October 2003 | NV31 | TSMC 130 nm | 80 | 121 | AGP 8x | 235 | 200 | 4:2:4:4 | 940 | 940 | 940 | 117.5 | 64 128 | 3.2 6.4 | DDR | 64 128 | 14.1 | ? |
| GeForce FX 5600 | March 2003 | NV31 | TSMC 130 nm | 80 | 121 | AGP 8x PCI | 325 | 275 | 4:2:4:4 | 1,300 | 1,300 | 1,300 | 162.5 | 64 128 256 | 8.8 | DDR | 128 | 19.5 | 25 |
| GeForce FX 5600 Ultra | 6 March 2003 | NV31 | TSMC 130 nm | 80 | 121 | AGP 8x | 350 | 350 | 4:2:4:4 | 1,400 | 1,400 | 1,400 | 175.0 | 64 128 | 11.2 | DDR | 128 | 21.0 | 27 |
| GeForce FX 5600 Ultra Rev.2 | 6 March 2003 | NV31 | TSMC 130 nm | 80 | 121 | AGP 8x | 400 | 400 | 4:2:4:4 | 1,600 | 1,600 | 1,600 | 200.0 | 64 128 | 12.8 | DDR | 128 | 24.0 | 31 |
| GeForce FX 5700 VE | September 2004 | NV36 | TSMC 130 nm | 82 | 133 | AGP 8x | 250 | 200 | 4:3:4:4 | 1000 | 1000 | 1000 | 187.5 | 128 256 | 3.2 6.4 | DDR | 64 128 | 17.5 | 20 |
| GeForce FX 5700 LE | March 2004 | NV36 | TSMC 130 nm | 82 | 133 | AGP 8x PCI | 250 | 200 | 4:3:4:4 | 1000 | 1000 | 1000 | 187.5 | 128 256 | 3.2 6.4 | DDR | 64 128 | 17.5 | 21 |
| GeForce FX 5700 | 2003 | NV36 | TSMC 130 nm | 82 | 133 | AGP 8x | 425 | 250 | 4:3:4:4 | 1,700 | 1,700 | 1,700 | 318.7 | 128 256 | 8.0 | DDR | 128 | 29.7 | 20 |
| GeForce PCX 5750 | 17 March 2004 | NV36 | TSMC 130 nm | 82 | 133 | PCIe x16 | 425 | 250 | 4:3:4:4 | 1,700 | 1,700 | 1,700 | 318.7 | 128 | 8.0 | DDR | 128 | 29.7 | 25 |
| GeForce FX 5700 Ultra | 23 October 2003 | NV36 | TSMC 130 nm | 82 | 133 | AGP 8x | 475 | 453 | 4:3:4:4 | 1,900 | 1,900 | 1,900 | 356.2 | 128 256 | 14.4 | GDDR2 | 128 | 33.2 | 43 |
| GeForce FX 5700 Ultra GDDR3 | 15 March 2004 | NV36 | TSMC 130 nm | 82 | 133 | AGP 8x | 475 | 475 | 4:3:4:4 | 1,900 | 1,900 | 1,900 | 356.2 | 128 256 | 15.2 | GDDR3 | 128 | 33.2 | 38 |
| GeForce FX 5800 | 27 January 2003 | NV30 | TSMC 130 nm | 125 | 199 | AGP 8x | 400 | 400 | 4:2:8:4 | 1,600 | 1,600 | 3,200 | 300.0 | 128 | 12.8 | GDDR2 | 128 | 24.0 | 55 |
| GeForce FX 5800 Ultra | 27 January 2003 | NV30 | TSMC 130 nm | 125 | 199 | AGP 8x | 500 | 500 | 4:2:8:4 | 2,000 | 2,000 | 4,000 | 375.0 | 128 | 16.0 | GDDR2 | 128 | 30.0 | 66 |
| GeForce FX 5900 ZT | 15 December 2003 | NV35 | TSMC 130 nm | 135 | 207 | AGP 8x | 325 | 350 | 4:3:8:4 | 1,300 | 1,300 | 2,600 | 243.7 | 128 | 22.4 | DDR | 256 | 22.7 | ? |
| GeForce FX 5900 XT | 15 December 2003 | NV35 | TSMC 130 nm | 135 | 207 | AGP 8x | 390 | 350 | 4:3:8:4 | 1,600 | 1,600 | 3,200 | 300.0 | 128 | 22.4 | DDR | 256 | 27.3 | 48 |
| GeForce FX 5900 | May 2003 | NV35 | TSMC 130 nm | 135 | 207 | AGP 8x | 400 | 425 | 4:3:8:4 | 1,600 | 1,600 | 3,200 | 300.0 | 128 | 27.2 | DDR | 256 | 28.0 | 55 |
| GeForce FX 5900 Ultra | 12 May 2003 | NV35 | TSMC 130 nm | 135 | 207 | AGP 8x | 450 | 425 | 4:3:8:4 | 1,800 | 1,800 | 3,600 | 337.5 | 128 256 | 27.2 | DDR | 256 | 31.5 | 65 |
| GeForce PCX 5900 | 17 March 2004 | NV35 | TSMC 130 nm | 135 | 207 | PCIe x16 | 350 | 275 | 4:3:8:4 | 1,400 | 1,400 | 2,800 | 262.5 | 128 256 | 17.6 | DDR | 256 | 24.5 | 49 |
| GeForce FX 5950 Ultra | 23 October 2003 | NV38 | TSMC 130 nm | 135 | 207 | AGP 8x | 475 | 475 | 4:3:8:4 | 1,900 | 1,900 | 3,800 | 356.2 | 256 | 30.4 | DDR | 256 | 33.2 | 83 |
| GeForce PCX 5950 | 17 February 2004 | NV38 | TSMC 130 nm | 135 | 207 | PCIe x16 | 475 | 425 | 4:3:8:4 | 1,900 | 1,900 | 3,800 | 356.2 | 256 | 27.2 | GDDR3 | 256 | 33.2 | 83 |
| Model | Launch | Code name | Fab (nm) | Transistors (million) | Die size (mm$^2$) | Bus interface | Core clock (MHz) | Memory clock (MHz) | Core config | Fillrate | Fillrate | Fillrate | Fillrate | Memory | Memory | Memory | Memory | Performance (GFLOPS FP32) | TDP (Watts) |
| Model | Launch | Code name | Fab (nm) | Transistors (million) | Die size (mm$^2$) | Bus interface | Core clock (MHz) | Memory clock (MHz) | Core config | MOperations/s | MPixels/s | MTexels/s | MVertices/s | Size (MB) | Bandwidth (GB/s) | Bus type | Bus width (bit) | Performance (GFLOPS FP32) | TDP (Watts) |
* 1 2 Pixel shaders: vertex shaders: texture mapping units: render output units

### GeForce FX Go 5 (Go 5xxx) series

The GeForce FX Go 5 series for notebooks architecture.
* $^1$ Vertex shaders: pixel shaders: texture mapping units: render output units
* $^*$ The GeForce FX series runs vertex shaders in an array
* $^{**}$ GeForce FX series has limited OpenGL 2.1 support(with the last Windows XP driver released for it, 175.19).
| Model | Launch | Code name | Fab (nm) | Bus interface | Core clock (MHz) | Memory clock (MHz) | Core config$^1$ | Fillrate | Fillrate | Memory | Memory | Memory | Memory | Supported API version | Supported API version | Supported API version | TDP (Watts) |
| Model | Launch | Code name | Fab (nm) | Bus interface | Core clock (MHz) | Memory clock (MHz) | Core config$^1$ | Pixel (GP/s) | Texture (GT/s) | Size (MB) | Bandwidth (GB/s) | Bus type | Bus width (bit) | Direct3D | OpenGL | OpenGL | | TDP (Watts) |
| Model | Launch | Code name | Fab (nm) | Bus interface | Core clock (MHz) | Memory clock (MHz) | Core config$^1$ | Pixel (GP/s) | Texture (GT/s) | Size (MB) | Bandwidth (GB/s) | Bus type | Bus width (bit) | Direct3D | Hardware | Drivers (Software) | TDP (Watts) |
| GeForce FX Go 5100$^*$ | March 2003 | NV34M | 150 | AGP 8x | 200 | 400 | 4:2:4:4 | 0.8 | 0.8 | 64 | 3.2 | DDR | 64 | 9.0 | 1.5 | 2.1** | Un­known |
| GeForce FX Go 5500$^*$ | March 2003 | NV34M | 150 | AGP 8x | 300 | 600 | 4:2:4:4 | 1.2 | 1.2 | 32 64 | 9.6 | DDR | 128 | 9.0 | 1.5 | 2.1** | Un­known |
| GeForce FX Go 5600$^*$ | March 2003 | NV31M | 130 | AGP 8x | 350 | 600 | 4:2:4:4 | 1.4 | 1.4 | 32 | 9.6 | DDR | 128 | 9.0 | 1.5 | 2.1** | Un­known |
| GeForce FX Go 5650$^*$ | March 2003 | NV31M | 130 | AGP 8x | 350 | 600 | 4:2:4:4 | 1.4 | 1.4 | 32 | 9.6 | DDR | 128 | 9.0 | 1.5 | 2.1** | Un­known |
| GeForce FX Go 5700$^*$ | 1 February 2005 | NV36M | 130 | AGP 8x | 450 | 550 | 4:3:4:4 | 1.8 | 1.8 | 32 | 8.8 | DDR | 128 | 9.0 | 1.5 | 2.1** | Un­known |

## Discontinued support

NVIDIA has ceased driver support for GeForce FX series.

### Final drivers

* Windows 9x & Windows Me: 81.98 released on December 21, 2005; Download;
    Product Support List Windows 95/98/Me – 81.98.
   * Driver version 81.98 for Windows 9x/Me was the last driver version ever released by Nvidia for these systems; no new official releases were later made for these systems.
* Windows 2000, 32-bit Windows XP & Media Center Edition: 175.19 released on June 23, 2008; Download.
** Note that the 175.19 driver is known to break Windows Remote Desktop (RDP). The last version before the problem is 174.74. This was apparently fixed in 177.83, however this version is not available for the GeForce FX series of graphic cards. Also worthwhile to note is that 163.75 is the last known good driver that correctly handles the adjustment of the video overlay color properties for the GeForce FX series. Subsequent WHQL drivers do not handle the whole range of possible video overlay adjustments (169.21) or have no effect on those (175.xx).
* Windows XP (32-bit): 175.40 released on August 1, 2008; Download.
* Windows Vista (32-bit): 96.85 released on October 17, 2006; Download;
* Windows Vista (64-bit): 97.34 released on November 21, 2006; Download.
The drivers for Windows 2000/XP can also be installed on Windows Vista (and later versions), however there will be no support for desktop compositing or the Aero effects of the operating system.
    (Products supported list also on this page)
Windows 95/98/Me Driver Archive Windows XP/2000 Driver Archive
* Linux/BSD/Solaris: 169.12 released on February 26, 2008; Download.
** Also available: 177.67 (beta) released on August 19, 2008; Download.
Unix Driver Archive