Flashing the GTX680 for Mac compatibility

This is part of my multi-step project to get Big Sur running on a mid-2010 Mac Pro (6 core Xeon, 32GB RAM, SSD storage, beast of a machine).

Picking the GTX680

The GTX680, a Kepler card, is still supported in Big Sur (apparently because Apple’s still supporting some “late 2013 (DG)” and “mid-2014” MacBook Pro models with the GeForce GT 750M).

Already flashed 680s are selling for about $200 on eBay, but non-flashed cards can be had for around $100. I decided to see if I could do it myself.

Make Sure the Card can be Flashed

I found a list of confirmed flashable cards in a MacRumors forum thread, and verified the card I was looking at on eBay, 02G-P4-2682-KR, was flashable.

Confirm Power Requirements

Some cards have an 8-pin power connector and will need an adapter; the card I got plugged directly into the two 6-pin leads already present in the Mac Pro (it was running an ATI Radeon HD 5870, stock).

Booting with Linux

I downloaded the latest Fedora Live image (Fedora-Workstation-Live-x86_64-33-1.2.iso) and wrote it to a 16GB USB flash drive I had handy using dd in a Mac terminal window:

$ diskutil list

...

/dev/disk4 (external, physical):

   #:                       TYPE NAME                    SIZE       IDENTIFIER

   0:     FDisk_partition_scheme                        *15.7 GB    disk4

   1:                       0xEF                         11.4 MB    disk4s2


$ sudo dd if=~/Downloads/Fedora-Workstation-Live-x86_64-33-1.2.iso of=/dev/disk4 bs=8388608


I removed the hard drive that was in the system (in my case, a Crucial SSD mounted on an OWC Accelsior S PCIe Adapter) and booted up with the Linux USB stick inserted in one of the front USB ports. I first booted with the stock ATI card installed, just to make sure everything worked properly. (It did; I’m using a hardwired Ethernet connection and everything I needed to work, worked; I didn’t test the system exhaustively, but with as snappy as it was, I might revisit that. But I digress.)


Rebooting with the GeForce GTX680 card installed in place of the ATI, I was ready to flash the card.


First, I downloaded gtx680mac.bin.zip (from this thread) and unzipped it, copying the extracted file to gtx68mac.rom.


Then, I browsed the “older versions” of the Linux nvflash utility, and downloaded nvflash_5.414.0_linux.zip (5.660 is current as of this writing, but won’t allow overriding the PCI Subsystem ID; the older version works fine):

$ unzip nvflash_5.414.0_linux.zip
$ chmod 755 ./nvflash_linux
$ sudo ./nvflash_linux --save backup.rom
$ sudo ./nvflash_linux --protectoff
$ sudo ./nvflash_linux -6 ./gtx68mac.rom
Please press 'y' to confirm override of PCI Subsystem ID's: y 
Update display adapter firmware? Press 'y' to confirm (any other key to abort): y 

The new ROM file installed, booting (still on High Sierra, for now) confirms I get the boot screen and that macOS recognizes the card as Metal supported:




Success.

Comments

  1. Thank you very much for all these details. I'll try to follow step-by-step. I was hesitating to do this upgrade, but after your post, I will give a shot. Thanks again!!

    ReplyDelete

Post a Comment