Ah, thanks for the correction! At least I still get the USB-C that's all it matters for the top ports hehe.^^^^No, you don't lose the "top USB-C ports". However, they stay as USB-C, you do lose TB.
Lou
I think you just loose USB-C DisplayPort Alt Mode (for USB-C connections you still get USB 3.1 gen 2) and DisplayPort tunnelling (for Thunderbolt connections you still get 22 Gbps PCIe tunnelling).^^^^No, you don't lose the "top USB-C ports". However, they stay as USB-C, you do lose TB.
If it's an AVX issue...
I guess the first thing to try might be to patch the GPU firmware. First, try to just no-op the gop.
Since with a NAVI GPU present the Mac Pro wouldn't past POST...
Btw, I searched all major hackintosh sites when I looked at this issue, at the time no one reported a NAVI GPU working with a Westmere Xeon and the oldest hack that I read about was Xeon E5-V4 from the Broadwell-EP family.
Hi @Petri Krohn , mind if I ask, what other 3rd party manufacturer's 6800 / 6800XT GPU will fit the classic Mac Pro length-wise? (I'm OK with it blocking the Slot 2, but not slot 3)The reference design Radeon RX 6800 is the only RX 6000 series model that will fit inside a classic Mac Pro without blocking Slot 2. If you want one, now is the time to look at marketplaces for used cards.
Thank you for the heads up, @mikas. I guess it's "back to searching high and low for 5000 series GPU" and trying not to have a heart attack.... ?Don't know about third party card thicknesses or dimensions. AMD 6800 and XT will fit in a cMP, but beware it most probably won't work in a cMP, not even with the latest Big Sur with drivers. At least Macschrauber had tried that already:
6800 XT in cMP
6900 XT in cMP won't POST
AMD series 6000 won't boot
Don't know about third party card thicknesses or dimensions. AMD 6800 and XT will fit in a cMP, but beware it most probably won't work in a cMP, not even with the latest Big Sur with drivers. At least Macschrauber had tried that already:
6800 XT in cMP
6900 XT in cMP won't POST
AMD series 6000 won't boot
Thank you! Prices for 5700 xt in Malaysia are bonkers/prohibitive. (that was the reason I was considering of hunting for a 6000 series)Yes, it will not work in a cMP:
AMD Radeon RX 6800 XT / 6900 XT for macOS?
Before. AFAIK, everyone that tested a NAVI GPU also tried with an AppleOEM GPU present to see if it would work, none got it working. Since with a NAVI GPU present the Mac Pro wouldn't past POST, maybe the next test that should be done is with an eGPU. Not much practical or economical sense...forums.macrumors.com
Lou
vpacksswb
is a 256-bit version of the PACKSSWB — Pack with Signed Saturation instruction from the SSE instruction set.If it's an AVX issue, then I wonder if an instruction emulator can be added to UEFI (like AAAMouSSE except for UEFI and AVX)? You would need a way to make that load before the GPU firmware.
I guess the first thing to try might be to patch the GPU firmware. First, try to just no-op the gop.
That explains why no one ever got a NAVI 2x GPU running with anything earlier than Ivy Bridge Xeons.CONFIRMATION: The Radeon RX 6800 / 6900 series EFI uses AVX instructions
I downloaded the VBIOS file for the reference design RX 6800 from the TechPowerUp site. I opened the file in Hex Fiend. It contains two EFI sections, starting at addresses 0xAA00 and 0x14000. Both are labeled "GOP AMD REV: 000.000.000.020.001 2182337 537937" in cleartext.
I then opened the VBIOS file in Hopper Disassembler 4 and searched for "YMM" and "ZMM". There are a total of 21 instances of AVX calls in the two EFI sections. The legacy BIOS section only contains references to the 128-bit XMM registers, so it should execute in older processors with the SSE instruction set.
View attachment 1853669
vpacksswb
is a 256-bit version of the PACKSSWB — Pack with Signed Saturation instruction from the SSE instruction set.
One must somehow prevent the EFI firmware of classic Mac Pros from loading the GOP EFI code. One way could be to flash the card with the EFI code removed and only the legacy BIOS left in the firmware file.
Classic Mac Pros do not need EFI firmware to use a graphics card. Modern versions of macOS can read the Device ID from the VBIOS part of the firmware.
As far as I can tell, all the AVX calls are 256-bit versions of the 128-bit SSE commands. In theory each one of them could be replaced with two or four consecutive calls to corresponding SSE instruction. If only 8 YMM or XMM registers were used, one could map each YMM register to two consecutive XMM registers in the 16-long register file. Unfortunately all registers except YMM15 are used. However, if the YMM usage is local and the registers do not carry global state, one might be able to get away with reusing XMM registers.
This is what I meant by noop the gop. Just change the byte in the PCIe header so the EFI image is no longer marked as an EFI image so it won't get loaded.One way could be to flash the card with the EFI code removed and only the legacy BIOS left in the firmware file.
One might make sure such a change does not instigate checksum recalculation.This is what I meant by noop the gop. Just change the byte in the PCIe header so the EFI image is no longer marked as an EFI image so it won't get loaded.
Is it the LG 27GN950-B? I think it require DSC for 144Hz. macOS does not enable DSC by default since Big Sur for third party displays. Use Catalina or complain to Apple.Just got a AMD reference 6900XT. Easy plug n play, works with both Big Sur and Boot Camp Windows 10 off the box, and super quiet (even quieter than 3090 FE at full load). The only thing missing from Apple’s OEM’s W6900X is the thunderbolt ports, air ventilation tailored for 7,1 and last but not least $5000+ more intangible premium
I did notice something on my 6900XT though, I have a triple monitor setup at 4k 144hz, and usb-c port connected display sometimes do not wake up only on Bug Sur (Boot Camp is fine) unlike display port connected displays. Also I only see 95hz as maximum.
Does anyone have the same issue?
The model is correct. Got it no wonder. But I do recall it worked before. I guess Apple disabled it in the latest update. Just don’t understand why they would only allow 95hz though. It could’ve been like 60hz, 120hz, 144hz, etc. 95hz looks random.Is it the LG 27GN950-B? I think it require DSC for 144Hz. macOS does not enable DSC by default since Big Sur for third party displays. Use Catalina or complain to Apple.
Maybe try setting DisableDSC to 0 (no one has reported trying this yet)
https://forums.macrumors.com/thread...ransfers-recommendation.2278473/post-30189995
https://forums.macrumors.com/threads/diy-5k-monitor-success.2253100/post-30255292
https://forums.macrumors.com/thread...ro-egpu-1-or-2-displays.2307784/post-30183809
95Hz is the max for 4K 10bpc RGB using HBR3 x4 connection without DSC. You could try adding a custom resolution of 4K120 using CVT-RB2 timing in SwitchResX but that will be limited to 8bpc (no HDR).The model is correct. Got it no wonder. But I do recall it worked before. I guess Apple disabled it in the latest update. Just don’t understand why they would only allow 95hz though. It could’ve been like 60hz, 120hz, 144hz, etc. 95hz looks random.
Probably a stupid remark from me, but how about a i7-980X/990X? These are able to handle AVX code right? Or will these get stuck because of the bridge not being able to handle the code or the memory address assignment?That explains why no one ever got a NAVI 2x GPU running with anything earlier than Ivy Bridge Xeons.
Since it is now confirmed that AMD started to require AVX with NAVI 2x GPUs just like the datacenter versions (for example the Instinct accelerator line), perhaps another requirement of the later cards could also trickled down, PCIe v3.0 Atomics/Read-Modify-Write Transactions.
You could get your answer from ARK - no AVX support for any Westmere, i7-980X/990X are Westmere, from the family Gulftown, i7-990X is just a rebadge of a W3690 with the 1333MHz frequency support disabled on the memory controller.Probably a stupid remark from me, but how about a i7-980X/990X? These are able to handle AVX code right? Or will these get stuck because of the bridge not being able to handle the code or the memory address assignment?
cheers
I am probably mixing up things but AVX is part of SSE4.2 right? At least that’s what intel ark says. So what am I missing here?You could get your answer from ARK - no AVX support for any Westmere, i7-980X/990X are Westmere, from the family Gulftown, i7-990X is just a rebadge of a W3690 with the 1333MHz frequency support disabled on the memory controller.
No LGA1366 processor have AVX support.
No, it's not - it's a different instruction set extension.I am probably mixing up things but AVX is part of SSE4.2 right? At least that’s what intel ark says. So what am I missing here?
CONFIRMATION: The Radeon RX 6800 / 6900 series EFI uses AVX instructions
I downloaded the VBIOS file for the reference design RX 6800 from the TechPowerUp site. I opened the file in Hex Fiend. It contains two EFI sections, starting at addresses 0xAA00 and 0x14000. Both are labeled "GOP AMD REV: 000.000.000.020.001 2182337 537937" in cleartext.
I then opened the VBIOS file in Hopper Disassembler 4 and searched for "YMM" and "ZMM". There are a total of 21 instances of AVX calls in the two EFI sections. The legacy BIOS section only contains references to the 128-bit XMM registers, so it should execute in older processors with the SSE instruction set.
View attachment 1853669
vpacksswb
is a 256-bit version of the PACKSSWB — Pack with Signed Saturation instruction from the SSE instruction set.
One must somehow prevent the EFI firmware of classic Mac Pros from loading the GOP EFI code. One way could be to flash the card with the EFI code removed and only the legacy BIOS left in the firmware file.
Classic Mac Pros do not need EFI firmware to use a graphics card. Modern versions of macOS can read the Device ID from the VBIOS part of the firmware.
One would need to allocate space for the first 128 bits of the YMM/XMM registers. One would then need to catch each instance when the floating point and SIMD registers are stored to the stack and insert the additional register parts. This could maybe be done in an operating system kernel. But does EFI even have a kernel?
As far as I can tell, all the AVX instructions used are 256-bit versions of the 128-bit SSE commands. In theory each one of them could be replaced with two or four consecutive calls to corresponding SSE instruction. If only 8 YMM or XMM registers were used, one could map each YMM register to two consecutive XMM registers in the 16-long register file. Unfortunately all registers except YMM15 are used. However, if the YMM usage is local and the registers do not carry global state, one might be able to get away with reusing XMM registers.
Non-EFI header detected at 0x00000000.
Block length 85 (43520 bytes) (0x0000aa00)
Unknown1: 0xe9 (233)
Initialization Entrypoint: 0x244e
PCIR offset: 0x036c
Expansion header offset: 0x0000
PCIR structure at 0x0000036c:
Vendor ID: 0x1002 (AMD/ATI)
Device ID: 0x73bf
Vital Data Offset: 0x0000
PCIR structure length: 0x0018
PCIR structure revision: 0x0000
PCIR class code: 0x000003
PCIR image length: 85 blocks (43520 bytes) (0x0000aa00)
Revision level of code/data: 0x1401 (5121)
Code type: 0x00 (Non-EFI)
Indicator: 0x00 (more records follow)
SAVECODE: offset 0x00000384, len 42620 (0x0000a67c)
EFI header detected at 0x0000aa00.
Initialization Size: 75 blocks (38400 bytes) (0x00009600)
EFI signature: 0x0ef1
EFI subsystem: 0x000b (Boot Service)
EFI machine type: 0x8664 (x86_64)
Compression type: 1 (Compressed)
EFI image offset: 0x0064 (0x0000aa64)
PCIR offset: 0x001c
Code successfully uncompressed into 'AMD.RX6800.16384.201007.rom.x86_64.EFIrom'
PCIR structure at 0x0000aa1c:
Vendor ID: 0x1002 (AMD/ATI)
Device ID: 0x73bf
Vital Data Offset: 0x0000
PCIR structure length: 0x0018
PCIR structure revision: 0x0000
PCIR class code: 0x000003
PCIR image length: 75 blocks (38400 bytes) (0x00009600)
Revision level of code/data: 0x0000 (0)
Code type: 0x03 (EFI)
Indicator: 0x00 (more records follow)
EFI header detected at 0x00014000.
Initialization Size: 78 blocks (39936 bytes) (0x00009c00)
EFI signature: 0x0ef1
EFI subsystem: 0x000b (Boot Service)
EFI machine type: 0xaa64 (ARM64)
Compression type: 1 (Compressed)
EFI image offset: 0x0064 (0x00014064)
PCIR offset: 0x001c
Code successfully uncompressed into 'AMD.RX6800.16384.201007.rom.ARM64.EFIrom'
PCIR structure at 0x0001401c:
Vendor ID: 0x1002 (AMD/ATI)
Device ID: 0x73bf
Vital Data Offset: 0x0000
PCIR structure length: 0x0018
PCIR structure revision: 0x0000
PCIR class code: 0x000000
PCIR image length: 78 blocks (39936 bytes) (0x00009c00)
Revision level of code/data: 0x0000 (0)
Code type: 0x03 (EFI)
Indicator: 0x80 (no more records)