Contribute
Register

macOS 12.3 Update Causes Problems for 5700/6800/6900 Graphics Cards

Yes DeviceProperties/Add/PciRoot(0x0)/Pci(0x2,0x0)<--this is where your IGPU is so you add switch-to-external-gpu Data 01000000-->because you can't boot with just EGPU ON Mac Min --> so you boot with both attached then just before.Mac Osx desktop --> switch-to-external-gpu kicks in and your left with just EGPU--> And no IGPU
long time ago i asked about this and a lot of people's was very smart and start that i was need something about correct approach on TB bla bla ... no one but realy no one did not tell me that i was need to disabled iGpu
 
None I only need the switch-to-external-gpu to switch off IGPU
Bro.. why, when reboot/restart or shoutdown nuc my disp. setting do not stay the same.. like position of displ changes, my desktop wallpaper changes like i didn’t do nothing?
 
Bro.. why, when reboot/restart or shoutdown nuc my disp. setting do not stay the same.. like position of displ changes, my desktop wallpaper changes like i didn’t do nothing?
I get the same when I'm just running on IGPU. but not on EGPU also I found out that on my Nuc, when I tick both EFI and Legacy box in the BIOS Boot menu. I can boot into Monterey without IGPU HDMI attached and don't need the switch-to-external-gpu or disable-gpu...
 
I get the same when I'm just running on IGPU. but not on EGPU also I found out that on my Nuc, when I tick both EFI and Legacy box in the BIOS Boot menu. I can boot into Monterey without IGPU HDMI attached and don't need the switch-to-external-gpu or disable-gpu...
this happening to me on eGPU.. and i use on that nuc only mac(hackintosh)
 
I think I found something interesting...

I've been wondering if injecting the framebuffer for the W6900X was resulting in loading of the PowerPlay Table for that card. I've long suspected that Apple underclocks or undervolts their CPUs and GPUs to balance power consumption and thermal properties. That could account for why this framebuffer patch doesn't result in 100% restoration of performance.

I tried injecting the Soft PowerPlay Table for my card and it seemed to have restored performance back to my 12.2.1 level. I would consistently score around 180K-200K in GB Metal before, and now with the W6900X framebuffer patch, I'm getting around 140K-160K. With the SPPT, it is back up to 180K.

Further testing is required.

Over in my Windows boot, I basically dumped the GPU ROM with GPU-Z, and using various utilities, I extracted the PowerPlay Table from the ROM file. This is usually done when overclocking the card, but I just wanted the stock PPT.

More testing is required, and I wanted to know if anyone else could try and confirm with their cards.

Edit: @gandem successfully applied the SPPT to his setup, and noticed improved scores.

Before SPPT:

View attachment 544368


After SPPT:
View attachment 544371
This is the entry in my config.plist

View attachment 544370

This is my SPPT (in hexadecimal format):

Cautionary Notes - Please read before you attempt this!

1. You should only use the BIOS that was extracted from your card's ROM. If you use the wrong PPT, you could damage your card. Note that most cards have 2 BIOS settings, controlled by a physical switch on the card -- one is for overclocking or performance, and the other is for silence or powersaving. To get the optimal performance from your card, you want to dump the BIOS from the overclocking/performance setting.

2. If you don't want to dump your BIOS, you could go to TechPowerUp to find the ROM dumps for many cards. Be mindful that you should try to match your card exactly, but there is a risk that there could be minor differences.

This is only for use with the PowerColor Red Devil RX6900XT Ultimate (XTXH)!! You should use the SPPT from the ROM extracted from your card! You can find the ROM dumps for many cards over in TechPowerUp.


Code:
A6 09 0F 00 02 22 03 EE 09 00 00 9E 42 00 00 80 00 18 00 00 00 1C 00 00 00 00 00 00 76 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 01 00 00 00 0D 00 00 00 9F 0A 00 00 B0 04 00 00 E8 03 00 00 94 07 00 00 C9 04 00 00 78 05 00 00 C9 04 00 00 78 05 00 00 B0 04 00 00 C1 04 00 00 C1 04 00 00 2A 03 00 00 C1 04 00 00 00 00 00 00 00 00 00 00 00 00 00 00 F4 01 00 00 E0 01 00 00 61 00 00 00 26 02 00 00 3D 01 00 00 6B 01 00 00 3D 01 00 00 6B 01 00 00 A2 01 00 00 E7 01 00 00 E7 01 00 00 2C 01 00 00 E7 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 81 00 00 00 10 00 00 00 1E 00 00 00 01 01 01 01 01 01 01 01 01 01 01 01 01 01 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 A0 0F 00 00 A0 0F 00 00 00 00 00 00 00 00 00 00 00 00 00 00 A0 0F 00 00 20 05 00 00 20 05 00 00 0F 00 00 00 E4 0C 00 00 E4 0C 00 00 64 00 00 00 6E 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 01 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 64 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 F4 01 00 00 F4 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 F4 01 00 00 A2 02 00 00 A2 02 00 00 0A 00 00 00 FA 00 00 00 E8 03 00 00 19 00 00 00 32 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 19 00 00 00 0A 00 00 00 19 00 00 00 0A 00 00 00 19 00 00 00 0A 00 00 00 19 00 00 00 0A 00 00 00 19 00 00 00 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 09 00 00 00 00 00 06 00 57 00 5A 00 5F 00 5A 00 DC 05 A4 06 D0 07 D0 07 D0 07 D0 07 D0 07 CA 08 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 06 00 00 00 FF FD 7F A3 63 37 00 00 2F 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 10 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 40 01 37 00 00 00 00 00 64 00 6E 00 64 00 73 00 73 00 73 00 73 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 B8 0B 48 0D D8 0E 68 10 C0 12 00 00 FE 38 00 00 73 0F 00 00 64 00 64 00 E4 0C E4 0C 00 00 00 00 00 00 00 00 10 0E 48 0D C0 12 F8 11 40 00 00 01 32 00 3C 00 80 0C 80 0C 80 0C 80 0C 14 00 14 00 00 00 02 00 00 00 80 3F 00 00 00 00 B5 37 B8 3E EF 1B 67 BF 4F 40 A7 3F 8B 04 00 00 00 00 02 00 EE 7C 8F 3F A6 9B 84 3E 44 34 9A 3E 43 AD 09 BE 3D 0F 36 3F F1 00 00 00 00 01 04 00 CD CC AC 3F E3 A5 9B BD 6F 81 E4 3E CA A6 CC BE 04 21 49 3F C0 01 00 00 00 00 02 00 00 00 80 3F 00 00 00 00 72 C4 7A 3E 4C 89 84 BE DC BA 43 3F 11 02 00 00 00 00 02 00 09 8A AF 3F 29 5C 0F BD 85 CE EB 3E 10 CC C1 BE 47 20 46 3F 9B 01 00 00 00 00 02 00 6A DE 89 3F B8 1E 05 3E 8E 75 91 3E 28 49 57 BE E4 2C 3C 3F 73 01 00 00 00 00 02 00 09 8A AF 3F 29 5C 0F BD 85 CE EB 3E 10 CC C1 BE 47 20 46 3F 9B 01 00 00 00 00 02 00 6A DE 89 3F B8 1E 05 3E 8E 75 91 3E 28 49 57 BE E4 2C 3C 3F 73 01 00 00 00 00 02 00 7D 3F 95 3F DD 24 06 3E 1D 77 AA 3E EE 77 68 BE C9 1F 3C 3F 55 01 00 00 00 00 02 00 6A BC 74 3F AE 47 61 3E 73 2E 65 3E 52 ED 13 BE D7 2F 38 3F 43 01 00 00 00 00 02 00 6A BC 74 3F AE 47 61 3E 73 2E 65 3E 52 ED 13 BE D7 2F 38 3F 43 01 00 00 00 00 02 00 0E 2D 12 3F 9A 99 D9 3E 27 83 A3 3D 8D 28 ED BC E7 E3 32 3F B6 00 00 00 00 00 02 00 6A BC 74 3F AE 47 61 3E 73 2E 65 3E 52 ED 13 BE D7 2F 38 3F 43 01 00 00 F4 01 9F 0A 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 6B 01 C5 05 00 00 00 00 00 00 00 00 00 00 00 00 3D 01 F2 04 00 00 00 00 00 00 00 00 00 00 00 00 E0 01 B0 04 00 00 00 00 00 00 00 00 00 00 00 00 61 00 C9 01 A2 02 E8 03 A2 01 B0 04 00 00 00 00 00 00 00 00 00 00 00 00 E7 01 C1 04 00 00 00 00 00 00 00 00 00 00 00 00 E7 01 C1 04 00 00 00 00 00 00 00 00 00 00 00 00 2C 01 2A 03 00 00 00 00 00 00 00 00 00 00 00 00 E7 01 C1 04 00 00 00 00 00 00 00 00 00 00 00 00 26 02 94 07 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 2A 6F 4F 3F 49 BA E6 3D 9C 33 22 3C 2A 6F 4F 3F 49 BA E6 3D 9C 33 22 3C 2A 6F 4F 3F 49 BA E6 3D 9C 33 22 3C 90 BD B2 3F 7B 31 34 3E 5F 98 2C BF 90 BD B2 3F 7B 31 34 3E 5F 98 2C BF 9F 0A 00 00 B0 04 00 00 E8 03 00 00 94 07 00 00 F2 04 00 00 C5 05 00 00 F2 04 00 00 C5 05 00 00 B0 04 00 00 C1 04 00 00 C1 04 00 00 2A 03 00 00 C1 04 00 00 00 02 03 03 78 05 00 00 4C 01 FA 01 F0 0A 80 0C 8C 0A 80 0C 48 0D 48 0D 88 13 18 15 18 15 18 15 F4 01 20 03 F4 01 01 00 01 02 5D 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 A8 16 52 16 FC 15 A7 15 51 15 FB 14 A5 14 4F 14 F9 13 A4 13 4E 13 F8 12 0C 12 20 11 34 10 48 0F 00 00 00 00 03 02 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 03 01 06 36 01 6B 02 37 00 3C 00 90 01 90 01 90 01 90 01 90 01 90 01 90 01 00 00 00 00 90 01 23 00 08 07 98 08 B8 0B 00 00 59 00 F4 01 00 00 01 00 01 02 00 00 00 00 00 00 00 00 00 00 03 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 0D 54 86 3D BC 05 D2 BD 1F 80 14 3E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 9A 99 99 3E 00 00 C0 3F 33 33 13 40 00 00 20 40 66 66 46 40 0A D7 23 3D DD 24 86 3D A2 45 B6 3D 39 B4 C8 3D C7 4B B7 3E 00 00 00 00 00 00 00 00 00 00 00 00 E5 61 21 BD 04 56 8E 3E C5 72 2B BE E8 00 E8 00 01 01 00 00 00 00 00 00 E8 00 E8 00 19 00 19 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 B8 0B 90 01 00 00 34 80 37 3B 9F AB CD 3E ED 0D 3E 3C 75 93 F8 3E 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 1E 06
Here is an automated flow for testing:

Download and cd to upp
Code:
git clone https://github.com/sibradzic/upp.git && cd upp
Code:
python setup.py build

python setup.py install

upp --pp-file=extracted.pp_table extract -r AMD.RX6900XT.16384.201104.rom

thefile=/Users/mbp114/Downloads/upp-0.1.3/extracted.pp_table \
printf  "\tPP_PhmSoftWTTable,\n\t\tBuffer (0x%X)\n\t\t{\n" $(stat -f %z "$thefile")
xxd -u -g 1 < "$thefile" | \
perl -nE '
    if ( m|^0000([0-9A-Za-z]+): (([0-9A-Z]{2} )+)( +)(.*)| ) {
        $o = $1; $b = $2; $s = $4; $c = $5;
        print "\t\t\t/* " . (uc $o) . " */  " . $b =~ s/(..) /0x$1, /gr . $s =~ s/   /      /gr . "// " . $c . "\n"
    }
'
printf  "\t\t},\n"

The file
Code:
extracted.pp_table
is a hex file with the extracted table, which can be inserted in the device properties. Printf at the end of the code will print the same file for insertion into SSDT. Thanks @joevt for the perl code.
 
It's the same Navi 21 core, so all should be dual link.
Binary data is written little endian in config.plist so it should be the right sequence for a SSDT (same as 0xBF730000 for spoofing RX 6900 XTXH to RX 6900 XT).

Here is a putative SSDT for RX 6800 and RX 6900 cards according to the post by @MysticalOS, but using the Belknap framebuffer since Carswell is supposed to be for a dual MPX module. The ACPI path should be adapted as required, and RX 6900 XTXH users can uncomment a part in the .dsl file to spoof their card.
What is this for?
Code:
 "AAPL00,DualLink",
                Buffer (0x04)
                {
                    0x0A, 0xAA, 0xAA, 0x00
                },
 
Back
Top