• Hello MLAers! We've re-enabled auto-approval for accounts. If you are still waiting on account approval, please check this thread for more information.

Liberating Quadro4 XGL AGP video cards, or wasting time on e-waste

obsolete

6502
Based on the asking prices for them on eBay and elsewhere, everyone apparently loves the NVIDIA Geforce4 Ti 4600. Asking prices are not necessarily selling prices, but if you want a working one of those cards, you'll likely still end up paying a few hundred dollars. I get it, it's the fastest video card with full OS 9 support, and it was briefly the fastest card on the market for a PC or Mac, until ATI's R300 (9700 Pro) came along and took its crown (but those don't have OS 9 driver acceleration). They're also unreliable due to bad cooling, and good ones have gotten scarce.

There's a whole series of less-famous cards based on the same NV25 GPU as the Ti 4600, and since I'm a "champagne taste, beer budget" type who likes fixing broken hardware, I went looking for an NV25-based thrill at a price I was willing to pay. I found it in a couple of broken Quadro4 700 XGL cards. These were used in Dell and HP workstations during the same era as the Power Mac G4, and can sometimes be found for <$50 from e-waste recyclers at the time of writing. This post will probably send their value skyrocketing though, right? :)

For perspective, here's a rough, non-exhaustive overview of the NV25 series (and NV28, the 8x AGP version, in the 980 XGL and Ti 4800):
Professional CardConsumer CardMemoryGPU/RAM ClocksDevice ID (Quadro)Device ID (Geforce)
no direct equivalentGeforce4 Ti 4200varies, 64-128 MB250/250 MHz, but variesnot applicable0x253
Quadro4 700 XGLno direct equivalent64 MB277/277 MHz0x25Bnot applicable
Quadro4 750 XGLGeforce4 Ti 4400128 MB277/277 MHz0x2590x251
Quadro4 900 XGLGeforce4 Ti 4600128 MB297/324 MHz0x2580x250 (OS X supported)
Quadro4 980 XGLGeforce4 Ti 4800128 MB297/324 MHz0x2880x280 (OS X supported)

I think the Quadro4 XGL 700 was probably NVIDIA's reference design for the Ti 4200 to start with, but the vast majority of actual 4200s that hit the market were third-party cost-reduced designs with cheaper power supply circuits and slower, cheaper RAM on very different board layouts. The Quadro4 700 XGL looks just like a Ti 4400, but with only 4 of the 8 possible RAM chips populated, so it's down from 128 MB to 64 MB and the memory bandwidth is cut in half as a result of only having one bank of 4 chips. The RAM is 3.6 ns, significantly slower than the 2.8 ns RAM found on a Ti 4600.

Here's one of the cards I ended up buying. This is just the picture from the eBay listing because I didn't take any of my own beforehand:
q700xgl.png

Any veteran of the capacitor plague will notice that the green through-hole cap, 5th down from the top right, is trouble. It hasn't started leaking yet, but it's bulging, so its days are numbered. That's C1267, and it was either bulging like this, or had started to leak, on every card I got. It's a Sanyo WX series, so not total junk, but this circuit design clearly works it hard.

Here's what ended up being wrong with the cards I bought:
  • Noisy, dying fan bearings (some cards)
  • Bulging and/or leaking C1267 (all cards)
  • Broken BGA solder joints on memory, causing artifacts (only one chip on one card)
  • A laundry list of parts knocked clean off the board from being chucked as e-waste (I call this scrap bin rash)
I started out with just one card, and it had bad scrap bin rash. Honestly, I love a card with visible damage, because once that's fixed, there often isn't anything else wrong with it. It's the ones that look perfectly fine that you have to watch out for. I struggled to figure out replacements for all the missing parts on this one, though. I was able to make some good educated guesses by removing and measuring parts from elsewhere on the card where the same circuits were repeated (like around the RAM chips) but there were some I just couldn't get. I'm one to throw good money after bad, so I bought two more e-waste Quadro4 700 XGL cards. Between three cards, they couldn't all be missing the same parts, right? Indeed, with the help of donor parts from the new cards, I was able to get the first card working in a PC, and document the parts I needed to buy to replace the ones I robbed from the donor cards (but not all the ones that they were missing).

Once I had the card working in a PC, I flashed the Mac ROM created for this card years ago by the great Arti Itra. There's a catch, though. Because the Quadro4 700 XGL has a different device ID than a Geforce4 Ti 4600, when you try booting OS X, the kernel extension won't load, and the machine hangs. The Quadro4 700 XGL's device ID, 0x25B, isn't on its whitelist. You can fix this by editing the plist files inside the necessary kexts to add device ID 0x25B to the whitelist: http://themacelite.wikidot.com/kext-mod.

I don't like having to rely on a modified kext in order for the video card to work. What if I want to reinstall OS X, or move the card to a different computer? What if I want to sell or give the card to someone else? I don't want to have to mess around with that, and I don't want to have to explain to someone else that they have to mess around with that. In a conversation about another video card along time ago, Arti asked me "why would you hardmod a card when you can softmod it?" If I had read any Bob Pease at that point in my life, I could have given him a better answer: "because my favorite programming language is...solder."

I spent a lot of time looking at differences in strap resistors populated between different card models, and through trial and error, I came up with the following steps to convert a Quadro4 700 XGL from device ID 0x25B to 0x250, the ID of a Ti 4600, which is already in the whitelist for OS X kernel extensions:
  1. Modify the device ID in Arti's ROM and flash it to the card. I've already done this and attached the modified version to this post.
  2. Move R963 to R962. These are on the back of the card, upper right quadrant.
  3. Move R959 to R958. R959 is on the back of the card below 963 and 962, and R958 is on the front of the card, to the right of the ROM chip.
  4. Move R957 to R956. These are both on the front of the card, to the right of the ROM chip.
The heatsink blocks R958, R957, and R956, and you must remove it to reach them. This isn't easy because NVIDIA used this horrible yellow "phase change" thermal interface material between the GPU and heatsink. At room temperature, it's like rock hard glue. It should be warmed up until it softens; you can then gently pry under the heatsink to free it from the GPU. I scrape the residue off the heatsink with a razor blade scraper and from the GPU with a soft plastic or wooden tool, then clean both with alcohol and apply new thermal paste.

Here's the effect that moving each resistor has on the device ID, in case you are working on a different card, or want to make a different device ID for some reason:
R963 -> R962 = -8
R961 -> R960 = -4
R959 -> R958 = -2
R957 -> R956 = -1

After the modifications, the card works great in unmodified OS X (and 9, of course):
Q700_XGL_Mac.png

After doing all this by trial and error, I learned I'd been wasting my time, because the schematic is available. Having this made it a lot easier to find replacements on Digi-Key for all the missing and damaged parts on my remaining cards. Here's a list of what I ended up buying to repair all of the scrap bin rash and replace all the through-hole electrolytic caps:

Damaged parts (often used in many more places than the one listed, see schematic):
C1411: https://www.digikey.com/en/products/detail/panasonic-electronic-components/EEE-0JA331XAP/1717728
D613: https://www.digikey.com/en/products/detail/onsemi/BAT54ALT1G/918314
L726: https://www.digikey.com/en/products/detail/inpaq-technology-co-ltd/MHC1608S221NBPDG/20486619
C1169: https://www.digikey.com/en/products/detail/samsung-electro-mechanics/CL10C101JB8NNNC/3886666
C1016: https://www.digikey.com/en/products/detail/murata-electronics/GRM1555C2A221GE01D/17855495
C1544: https://www.digikey.com/en/products/detail/kyocera-avx/KGM05CR71H104KH/6564238
C1030: https://www.digikey.com/en/products/detail/walsin-technology-corporation/0805B475K160CT/15988452
U300: https://www.digikey.com/en/products/detail/onsemi/NC7SZ08P5X/673364
C469, C990: https://www.digikey.com/en/products/detail/murata-electronics/GRM155R71H222KA01D/587234
L718: https://www.digikey.com/en/products/detail/würth-elektronik/7447860168/12726429

Replacement electrolytic caps:
C1267 (must be done, always bad): https://www.digikey.com/en/products/detail/rubycon/6-3ZLG1000MEFCCR10X12-5/5430262
C1293, C1295, C1297, C1299 (preventative): https://www.digikey.com/en/products/detail/rubycon/16ZLG470MEFC10X12-5/3563609
Recapping these is a chore because the card has massive ground and power planes that sink a lot of heat, so be ready with a decently high-wattage iron and suitable tip if you plan to attempt this.

In addition, Q200, which is near C1267, gets really hot. I bought these heatsinks and epoxied them to Q200 on my cards to hopefully extend the life of both Q200 and C1267: https://www.digikey.com/en/products/detail/assmann-wsw-components/V2016B/8826901

For the fan, you can get new old stock Geforce4 TI heatsink and fan assemblies from Surplus Sales of Nebraska: https://www.surplussales.com/items/103313/nvidia-graphics-card-cooling-fan/. Isn't that wild? Keep the Quadro4 decorative plate or swap it for the Geforce4 one, it's up to you.

To diagnose bad RAM chips on cards with video artifacts, MATS 3.41 is available. This is an old NVIDIA internal tool that runs in DOS and will test the memory and identify which channel and bank, if any, has errors. A poster named tehsiggi at VOGONS put together a nice chart of the memory channel/bank ID to chip relationship for all reference design NV25/NV28 cards here:
1762675113533.png
Usually the RAM chip itself isn't bad, but one or more solder joints between the BGA package and the card are damaged, so reflowing the chip with flux usually fixes it.

Now that I have a couple of working Mac-flashed Quadro4 700 XGLs, I plan to run them through their paces and try to get some benchmarks. Is one of these cards still faster than a Radeon 8500? How much slower are they than a Ti 4600? If anyone who's read this whole thing has any benchmark suggestions, please let me know.
 

Attachments

Last edited:
Great post, thanks for detailing everything. I own a Quadro4 980GXL and it came from a house fire, but that didn't stop it it's been going strong in a Pentium-III based system for years. Yet to recap it. Love the card, and confirm every single Radeon 9700, 9800 I've come across has never worked.
 
Thank you!

When I say they're unreliable due to bad cooling, I am unfortunately lumping the 9700, 9800 and Geforce4 Ti cards together. I agree the 9700 and 9800 are the worst because ATI chose to put the RAM chips directly back-to-back, and the Samsung DDR used on the majority of them runs hot. The heat cycles appear to break solder joints over time, which I believe is why so many of these cards develop artifacts. The design of the Geforce4 Ti cards appears to be slightly better; NVIDIA chose to offset the RAM chips on opposite sides of the board by roughly the width of the chip, so the heat isn't quite as concentrated, but they still develop similar problems. The Quadro4 700 XGL should be the best, since it has RAM on only one side of the board (and it's slow!), but one of my cards still needed one of its chips reflowed, so they're not immune either.

The GPU coolers on all of the cards are dinky. They're just barely adequate when they're in good shape, but as soon as the fan starts to clog with dust and/or the bearing starts to fail, the GPU won't last long. I see this especially on the Geforce4 Ti cards: the PCB will turn brown underneath the GPU from the heat. Here's an OEM Apple Ti 4600 currently listed on eBay for $900 Buy It Now, untested, as-is, no returns, and the seller notes the fan seems stuck:
1762801763305.png
I wouldn't be willing to bet $100 on that card working, let alone $900!

Among Geforce4 Ti series cards, though, I agree that the Quadro4 XGL 980 is the one to have; relative to most of the others, it's a tank. They revised the power supply on those, and all the ones I've seen are built with high quality components. I've never seen one with a blown cap. I wouldn't even bother recapping one that was still working fine; the large ground and power planes make them annoying to work on. Take care of the GPU cooler and it should last a good long time.

The other interesting thing about the cards with the NV28, the Ti 4800 and XGL 980, is that device ID 0x280 is natively supported by OS X kernel extensions, since at least 10.4 Tiger. Seems like Apple and/or NVIDIA planned for the possibility of selling a Geforce4 Ti 4800 Mac Edition, but never did. I don't know whether the NV28 is similar enough to the NV25 that the ROM from the Ti 4600 could be modified to work on a PC Ti 4800 or XGL 980, but it might be fun to try :)
 
Yeah toasty GPUs were made for a good time, not a long time in that era :) I've a slew of 9700/9800 GPUs that show life and hope to get at least one good working one day. Another was the Voodoo 3, which makes the cards discussed look like icy poles, everyone I came across the PCB was visibly brown/yellow scorched on the back - but most still worked even though were basically running full pelt all the time without a heatsink.

Thanks for your extra info about the device IDs, a Ti4800 Mac Edition would have been amazing!
 
I finished working on a Quadro4 900 XGL last night. After repairing damage to the board and replacing capacitors, it worked great in a PC. The device ID change for this one to Ti 4600 is easy; just one resistor needs to be moved on the back of the card, R963 to R962, to change device id 0x258 to 0x250.

Because this card has 128MB of RAM and is capable of the same clock speeds as a Ti 4600, it can run the unmodified Apple Geforce4 Ti 4600 ROM. The Mac firmware is booby-trapped, though; it checks a strap bit for Mac vs. PC, and if it's not set correctly, it halts. You can see all of the strap bits and which resistors set them in the schematic linked from my first post. The resistor that needs to be moved is R966 to R967. These are just a bit down and to the right of R963 and R962. With that done, the device ID changed, and the ROM flashed, the card works great in my G4.

The "Mac switch" resistor doesn't need to be moved on the Quadro4 700 XGLs using Arti's modified ROM because he masked it out. I don't think it would be too difficult to modify the ROM in the same way for the Quadro4 900 XGL, but since I'm already nearby with a soldering iron changing the device ID, just moving one more resistor isn't a big deal.
 
Here's a comparison of OpenMark scores between the Quadro4 900 XGL (equivalent to Ti 4600) and the Quadro4 700 XGL, posted from the actual machine using AquaFox :)
Picture 1.png
 
I have a Ti 4200 with a massive copper heatsink on the GPU, and the memory chips back to back. But at the lower speed maybe that's fine. I've never located a Mac ROM for it, and never undertook the challenge of editing one myself.
 
None of the OEM cooling fans of that era were any good and easily clogged up over time. Even if the caps were decently made the cards tend to cook them because of bad airflow.

PC gamers are buying up both the Geforce Ti 4xxx series and the Quadro 4 equivalent for Windows 98 gaming ages ago because the ATI 9700/9800 models were dying and were expensive to begin with (plus they want DVI).
 
I have a Ti 4200 with a massive copper heatsink on the GPU, and the memory chips back to back. But at the lower speed maybe that's fine. I've never located a Mac ROM for it, and never undertook the challenge of editing one myself.
Is the RAM on that in TSOP or BGA packages? The TSOPs are generally robust.

Someone leaked Arti's old ROM Maker apps on MacRumors a few years back, so you can have a go at making a Mac ROM for your card if you want to.
 
Coming back to Q200, which I mentioned epoxying a heatsink to on the Quadro4 700 XGL in my first post--my thermal epoxy seems to be past its use-by date. It's taking forever to cure; days, when it should be hours. I touched that heatsink and it just fell off, luckily not while the card was running. Frustrated, I decided to take a closer look at the chip.

Q200 is a SOIC-8 IRF9410. It's the high-side switching FET of the buck regulator for the GPU core voltage. It's rated for 5.8A at 70C, and seems a little marginal for this application. I measured it with my thermal camera at 82C after running OpenMark for a while. How hard could it be to just replace it with a better FET? Right in the IRF9410 datasheet, IR recommends the IRF7413 as an upgrade. It's an obsolete part, but Digi-Key has some IRF7413Zs in stock for $0.559 each for 10. Looks like a nice upgrade--rated for 10A at 70C, has 10mOhm RDS(on) vs. 30mOhm, and lower gate charge than the old IRF9410.

I threw some of the IRF7413Zs on my most recent Digi-Key order and swapped out both Q200 and the low-side FET, Q201. I figured it would be safest to do both of them in case the 7413Zs have slightly different switching characteristics than the 9410s; mixing and matching could increase ripple or even result in shoot-through. So far, the swap appears to have been a great success! In the same rather unscientific "start OpenMark, go do something else, then come back and measure temperature" test where I saw 82C on the IRF9410, I am only seeing 52C on the IRF7413Z with no heatsink. I think this is a better fix than just sticking a heatsink onto a hot-running part; with lower RDS(on), less energy is being wasted as heat, so the part just doesn't get especially hot in the first place.
 
Last edited:
None of the OEM cooling fans of that era were any good and easily clogged up over time. Even if the caps were decently made the cards tend to cook them because of bad airflow.
Yeah, I agree it wasn't until the next generation of cards that manufacturers seemed to realize that they needed to get serious about keeping these things cool. That reminds me, for anyone who buys the NOS coolers from Surplus Sales of Nebraska--they're awesome, totally brand new, but that pre-applied TIM is dead after over 20 years. It doesn't melt and bond to the GPU like it's supposed to at all. It needs to be scraped off and replaced with a generous blob of thermal paste.

PC gamers are buying up both the Geforce Ti 4xxx series and the Quadro 4 equivalent for Windows 98 gaming ages ago because the ATI 9700/9800 models were dying and were expensive to begin with (plus they want DVI).
The market for these cards definitely seems to be alive and well, so it can't just be people buying them to flash for old Macs!
 
Board revisions, as far as I know:

P80 - This is the Quadro4 700 XGL, 750 XGL, and Geforce4 Ti 4400. There is a schematic available. It uses a parallel flash ROM and has one DVI port, and BOM options for an S-Video or VESA Stereo port (the latter not much use to Mac users) and a VGA or second DVI port. I have never seen one of these boards with both DVI ports populated. The GPU core voltage is driven by an SC1175 buck controller with IRF9410 FETs on 3.3V and an IRF7311 dual FET on 5V. The DRAM core voltage is driven by an SC1102 buck controller with another IRF7311 dual FET on 12V.
Example photo: https://www.vgamuseum.info/images/vlask/nvidia/quadro4700f.jpg

P83 - This is the Quadro4 900 XGL and Geforce4 Ti 4600. Some websites promise to have the schematic, but not without either paying or downloading a sketchy Chinese app, neither of which I am willing to do. Very similar to the P80, so the P80 schematic can be used to figure out most issues. Same parallel flash ROM, same port options as P80. The Quadro4 900 XGL always has both DVI ports. Same buck controllers, SC1175 and SC1102, but the IRF9410s have been upgraded to much more powerful IRF7811Ws, and the IRF7311s have been updated to IRF7313s.
Example photo: https://www.vgamuseum.info/images/vlask/nvidia/quadro4900f.jpg

P84 - This is the Mac Geforce4 Ti 4600. Almost identical to P83, but with ADC. I have never seen mention of a schematic. Same regulators as P80 and P83, but the IRF7811Ws have been upgraded again to even more powerful IRF7809AVs.
Example photo: https://ateliershiori.moe/files/2021/04/IMG_1839.jpg

P152 - This is the Quadro4 980 XGL and Geforce4 Ti 4800. I have never seen mention of a schematic. No more parallel flash ROM, SPI flash is the only option. Same port options as P80 and P83; the Quadro4 980 XGL always has both DVI ports. Buck controllers have been swapped out for ISL6225 and ISL6525, but FETs stay the same as P84.
Example photo: https://www.vgamuseum.info/images/vlask/nvidia/quadro4980fb.jpg
 
Is the RAM on that in TSOP or BGA packages? The TSOPs are generally robust.

Someone leaked Arti's old ROM Maker apps on MacRumors a few years back, so you can have a go at making a Mac ROM for your card if you want to.
They’re TSOP.

Maybe I will try that, if I can track it down.
 
Back
Top