Rx 580 Bios Hex Editor

AMD Polaris graphics cards have been a blessing for Mac Pro users since their release last summer. My RX 480 macOS installation how-to detailed progress of driver development as early as Sierra 10.12 beta. There was good news and bad news along the way. Overall Radeon RX GPUs have served Mac users well in both the Mac Pro towers and external graphics enclosures.

With the release of macOS High Sierra 10.13.2 this week, there’s a sleep issue with RX 480/580. macOS can still detect these cards at boot and most features work well, but sleep and wake-up present problems in the Mac Pro tower. The sleep light by the Power button pulsates like expected when the Mac is in sleep mode. However, the GPU itself remains running. Upon waking, you’ll be faced with a black screen and unresponsiveness from the Mac Pro. A force shutdown by holding the Power button is the only way to get it going again.

Once this is done you can flash your RX 480/580 8GB with this modded VBIOS. If all goes well, macOS will detect your RX 480/580 correctly as “Radeon RX 580” in About this Mac and System Information for as long as Apple supports the Sapphire RX 580 Pulse 8GB. Keep in mind there are drawbacks to this modification. Asus RX 580 8 GB BIOS (ROG-STRIX-RX580-O8G-GAMING). The Sapphire RX 580 Pulse 8GB is the only current generation AMD GPU identified correctly in macOS. This is due to it being used in the official exter.

I found a workaround. I’ve done this modification prior to 10.13.2 to make macOS High Sierra recognize all RX 470/480/570/580 as “Radeon RX 580” in About this Mac. This was strictly a cosmetic procedure. With 10.13.2 though, it helps prevent sleep and wake-up issues in the Mac Pro tower by tricking the system into believing a Sapphire RX 580 Pulse 8GB is installed.

Rx 580 bios hex editor key

The Sapphire RX 580 Pulse 8GB is the only current generation AMD GPU identified correctly in macOS. This is due to it being used in the Apple external graphics dev kit. There are two part numbers for this particular RX 580, 113-4E353BU-O4E and 113-4E3531U-O4V. macOS checks for either of these part numbers in order to show “Radeon RX 580” instead of “AMD R9 XXX” in About this Mac. This workaround essentially borrows the identity of the Sapphire RX 580 Pulse 8GB so that all Polaris 10 and 20 cards are treated equally in macOS High Sierra 10.13.2. Here’s the procedure:

1. Save the original VBIOS of your RX 470/480/570/580 with ATIWinFlash in Windows. Make an extra copy of the ROM to restore the original VBIOS to your GPU should things go wrong. I used a reference cooler RX 480 8GB for this guide.

2. Take note of the part number in the original VBIOS. In my case, it’s 113-D0090501-101. Open the VBIOS in a Hex Editor of your choice and search for this part number (I used HxD). Replace it with either part number that macOS identifies as “Radeon RX 580”. You’ll notice I added an extra character “1” to the end of 113-4E353BU-O4E because the original part number has one more character than the part number of the Sapphire RX 580 8GB. If the part number of your RX 480/580 has fewer characters, try matching 113-4E353BU-O4E as closely as possible.

3. The new VBIOS ROM will have an invalid checksum and you won’t be able to flash your card with ATIWinFlash just yet. Open this modified VBIOS in PolarisBIOSEditor. It will tell you to save the VBIOS in order to fix this error.

4. Once this is done you can flash your RX 480/580 8GB with this modded VBIOS. If all goes well, macOS will detect your RX 480/580 correctly as “Radeon RX 580” in About this Mac and System Information for as long as Apple supports the Sapphire RX 580 Pulse 8GB.

Keep in mind there are drawbacks to this modification. The first one is BIOS signature enforcement in Windows that prevents AMD drivers from loading (error 43). If you don’t intend to use it with Windows, this is a non-issue. You can also get a card with dual-VBIOS for dual booting. The second issue is video output from the ports. If your RX 470/480/570/580 does not have the same port arrangement as the Sapphire RX 580 Pulse 8GB, some of the ports may not work. On my reference RX 480, one of the three DisplayPort has no output after the modification.

Rx 580 bios hex editor free

A less involved alternative to fix this issue is to edit the info.plist file inside AMD9500Controller.kext. In macOS 10.13.2, the video output port number for Polaris graphics cards somehow is set to 6. Once you set this port number to a value that matches your RX 480/580, it will resolve the sleep issue in 10.13.2.

1a. Locate AMD9500Controller.kext in /System/Library/Extensions then right click to show package content. Copy Info.plist to the Desktop so that you can edit this file. Keep in mind SIP needs to be disabled.

2a. Find the key CFG_FB_LIMIT in this Info.plist file. Change the value from 0 to a number that matches your GPU’s number of ports. My reference RX 480 has 3 DisplayPort and one HDMI port so that value I used is 4.

Rx 580 Bios Hex Editor Download

3a. Run Kext Utility to repair kext permissions. Restart your Mac Pro when this process is complete.

Download Polaris bios modding tools for all AMD RX 460/470/480/550/560/570/580/590 cards. Polaris Bios Editor free and open source bios editor for Polaris GPU cards. Built-in with performance timing straps to improve your mining hashrate.

Changelog Polaris Bios Editor:

v1.7.5

Rx 580 Bios Switch

  • Added UberMix 3.3
  • Few small changes in code

v1.7.4

  • Fixed bug no supported memory found (K4G80325FC)
  • Old version bump in properties

v1.7.3

  • Added support for memory Samsung K4G80325FC
  • Added new device AMD Radeon RX 580 2048SP – 6FDF

v1.7.2

  • Fixed apply timings for Hynix memory
  • Added support for RX590
  • Added support for New Hynix memory H5GC8H24AJ
  • Added timing for New Hynix H5GC8H24AJ

v1.7.1

  • Updated Elpida Timing

v1.7.0

  • Added New timing for Hynix.
  • Added Clock Stretch Amount.
  • Added option for choosing timings on hynix Between Universal Hynix timing and Good hynix timing.
  • Universal Hynix timing work on: H5GC8H24MJ, H5GQ8H24MJ, H5GQ4H24AJ.

v1.6.9

  • Fixed UI (updated design)
  • Fixed and Updated all Timing’s
  • Added New strap for Micron and Hynix
  • Added option for choosing timings on samsung between uber-mix 3.1 and 3.2, and on Micron between Good Micron timing and S Micron timing.
  • Added Icon
  • Added option for max. Mem. freq. (after one click timing patch button click automatically change max. mem. to 2300 MHz)

v1.6.8

Rx 580 Bios Hex Editor
  • Fixed Samsung Uber-Mix strap
  • Added support for Hynix H5GQ4H24AJ
  • Fixed fan mod option

v1.6.7

  • created solution and project files for ide
  • support for device id 0x67ef
  • better timings for micron memory
  • firmware signature test / firmware signature in ascii
  • editing of bios message (experimental)
  • online check for new versions
  • online display of developer notice

v1.6.6

  • support for rx550 device id 0x699F

v1.6.5

  • support up to 48 entrys in the timings table (more than 2 memory vendors)

v1.6.4

  • elpida timings fixed
  • K4G41325FS memory support

v1.6.3

  • timing modification starts now at 1500 instead of 1750
  • device id 67FF now also supported

v1.6.2

  • experimental: ubermix timings are now also applied to 4g SAMSUNG vram (K4G41325FC, K4G41325FE)
  • timing modification starts now at 1750 instead of 2000

v1.6.1

Rx 580 Bios Update

  • hynix memory H5GC8H24MJ now recognized (same timings as H5GQ8H24MJ)

v1.6

  • window resizes properly now
  • memory vendor detection
  • one click timing patch (samsung, hynix, elpida, micron)

v1.5

Flash Rx 580 Bios

  • added FanControlMode setting
  • implemented some timing editor related code (not usable yet)

v1.4.1

Rx 580 Bios Update

  • replaced WPF components with Windows Forms to archive mono compatibility