Attempts to get both monitor outputs on a PC-based NVIDIA GeForce2 MX twinview card working on a Mac
This project started when our lab at my University purchased a bunch of GeForce2 MX cards for our virtual reality setup.These are cards manufactured by a Taiwanese outfit called PowerColor, part number CMX2DV. These cards are GeForce2 MX 32MB twinview cards, with two VGA outputs, and an S-video output that can take the place of the second VGA.
I had heard stories that Apple was selling twinview cards that enabled both displays on the new QuickSilver G4 macs so I decided to see whether these cards would work with my Mac, a G4/350 AGP graphics (i.e. pre-gigabit ethernet sawtooth motherboard), with a Rage128 Pro/AGP in the AGP slot and a Rage Orion (a Rage128 board) in the PCI slot. So as you can see, I already have a dual-monitor setup, but in terms of running speedy OpenGL across two displays (such as I want to do to drive our lab's VR headset) two displays driven from the same card would be an improvement.
1. Testing out of the box
Testing out of the box with MacOS 9.2.1
I ran the MacOS 9.2.1 installer first, and installed the NVIDIA extensions from a custom install. These appear to be the version 2.3 extensions Then I shut down, swapped out the Rage128 Pro for the GeForce and rebooted. The first surprise was that the machine booted in MacOS 9.2.1 with the card right out of the box. I am unsure as to whether this is because the card has a Mac ROM on it, or because G4 firmware 4.1.8 apparently includes version a GeForce2 ROM version 1027F. However I was disappointed to see that the second display connected to the GeForce remained inactive. Apple System Profile reported, card name "NVDA, NVMac", card model "NVIDIA GeForce2 MX", ROM version 1028F, card revision 161, VRAM size 32MB, card vendor ID 106E. I ran the "renderer info" tool from the OpenGL 1.2 SDK, and it reported a hardware accelerated renderer for the NVIDIA card, with renderer ID 0x280000. Note that the NVIDIA drivers happily coexist with the ATI drivers for the Rage Orion.
Testing out of the box with MacOS X 10.0.4
I also tested the card at this stage with MacOS X 10.0.4, and it ran fine. However, the OpenGL info from the Developer Tools reported no hardware accelerated OpenGL. What a shitter eh. (Just to recap, this is with the original 1028F ROM on the GeForce2 MX.)
2. Flashing the card with 1075 firmware
Attempts to flash the card on the Mac
Nevermind, in MacOS 9.2.1 so far so good! Next I read the xlr8 bbs and reports seemd to indicate that the Apple twinview card had ROM version 1075. So I obtained a hacked Apple NVIDIA ROM flasher with the 1075 ROM embedded and tried to run it using an Applescript included with the ROM image. No dice, the Apple flasher just hung and had to be force quitted. So I rewrote the Applescript to improve the error handling. Still no dice, the Applescript reports a generic error (4200) from the flasher. Damn. At this stage I accept I am going to have to use NVIDIA's flasher utility on a PC. This is probably a good idea anyway since I could then save the original ROM on the card in case it all went belly-up (although would be less of a problem for me than some other people, since we have 5 of these cards in our lab.)
Success flashing the card on a PC
Flashing the card on a PC proved a little complicated. With a bit of stuffing around I obtained a Win98 boot disk image with the NVIDIA flasher on it, and managed to get access to a PC with an AGP slot, and a PCI graphics card. I slipped the GeForce card into the PC too. I set the PC BIOS to use the PCI graphics board (although this was actually unnecessary, since the BIOS already preferred the PCI card. (Apparently you can do the update with only the GeForce in the PC's AGP slot, but you have to know what to type blind only for the brave.) Then I booted off the floppy, and ran the updater. v3.16 of the NVIDIA util did not work. It would only write part of the ROM image. So I used version 3.12 of the util with the -m command line switch for Mac compatible (Fcode) mode and this worked. Hooray!
3. Testing with the new 1075 ROM
Testing with Mac OS 9.2.1
So I now have a 1075 ROM image card. I reassmble the PC, reassemble the Mac
with the GeForce board in there, and reboot in MacOS 9.2.1. Boot goes fine,
only the second display still remains dark. Damn! The Apple System Profiler
Testing with Mac OS X 10.0.4, 10.1
I never got a chance to test with Mac OS X 10.0.4, but reports from other people are that GeForce2 MX cards with ROM version 1075 do not boot in MacOS X 10.0.4. I did however test with Mac OS X 10.1. One output on the card works fine (still no twinview though). OpenGL Info reports a hardware accelerated driver for the card, coolio. I suppose there is an updated driver in Mac OS X 10.1.
4. Still no twinview, where to from here?
Given that other people supposedly have both outputs from PC twinview cards working in a Mac, what is required? Well, initially I and thers speculated that we needed an updated G4 firmware, since the QuickSilver G4s (the first model that Apple offered the Twinview card in) have newer firmware, version 4.2.3 or greater.
However, with the general release of firmware v4.2.8, I upgraded and tried the card again. Still no dice. So, perhaps there is some other issue with the G4 (AGP graphics) motherboard, or perhaps OF v4.2.8 doesn't allow use of the twinview on pre-QuickSilver G4s, or perhaps it is an issue specifically with this card.
So if you have any relevant information, please pass it on to me.
8. Important files and links:These are files and bits and pieces I used, in order of appearance