• Become a Premium Member for $25/year with no ads to improve your community experience.

EliteMacx86

Administrator
Staff member
Joined
Jul 22, 2018
Messages
7,534
Motherboard
Supermicro X11SPA-T
CPU
Intel Xeon W-3275 28 Core
Graphics
2xAMD RX 580 8GB
OS X/macOS
13.x
Bootloader
  1. OpenCore (UEFI)
Mac
  1. Mac mini
  2. MacBook Pro
Mobile Phone
  1. Android
  2. iOS
Spoofing Graphics on macOS [Intel/AMD/NVIDIA]

This guide covers spoofing Intel/AMD/NVIDIA Graphics on macOS, supported by Clover and OpenCore. By following this guide, you'll be able to spoof an unsupported Graphics on macOS.

Overview

What is spoofing?


Spoofing basically refers to faking. Here it simply means faking model X into model Y.

When spoofing is required?


Not every Graphics is supported under macOS/OS X. Spoofing is required when the GPU is not natively not supported (OOTB) due to their names or architecture. For example, R9 390X is supported, whereas R9 390 isn't. Such GPUs must be spoofed to a model which closely match to the original GPU model in terms of hardware specs and technology. See GPU Compatibility for more information.

Spoofing Compatibility


When spoofing, you must take care of the compatibility. The spoof must be to the same family or sometimes to an older or higher family considering the factor that the older or higher family is supported under macOS/OS X. You cannot spoof any and every unsupported GPU. For example, you cannot spoof HD510 (GT1) to HD530 (GT2) or Rocket Lake (IGPU) to Comet Lake (IGPU). It will simply not work. This is because the Graphics architecture changes completely and for a successful spoof, the spoof should be as close as possible in terms of architecture. For example, SKL and KBL Graphics are nearly same, with very slight difference and as a result, you can spoof a KBL Graphics to SKL Graphics (was required at the time of initial macOS Sierra release) and SKL Graphics to KBL Graphics (required since macOS Ventura).

In addition, you can only spoof to the model whose drivers are present in the newer macOS/OS X version. For example, AMD HD 5450 and HD 6450 are natively supported on High Sierra (). However, this kext is absent on higher version of macOS. In such a case, you'll need to patch the system and install the old kexts. See Patching Legacy Graphics for more information.

Requirements


Following are the requirements for spoofing Graphics on macOS. Please ensure you meet the requirements before proceeding with this guide.

CPU
GPU
  • macOS/OS X Compatible Intel/AMD/NVIDIA GPU. See Compatibility for more information
Display
  • Monitor/TV with DP/HDMI/DVI display connection. DVI users can use DVI to HDMI adapter/cable.
macOS
  • OS X Panther 10.3 and later
SMBIOS
  • Suitable SMBIOS as per the hardware. See Setting up SMBIOS for more information
Kexts
  • Vanilla Graphics Kexts in S/L/E
  • Lilu
  • WhateverGreen
Tools
  • MaciASL
  • IOReg
  • Mac X Video Converter
  • Video Proc

Spoofing Graphics


Following are the steps for spoofing Graphics on macOS.

STEP 1: Finding ACPI Path of the GPU

The very first step is to find the ACPI path of the GPU. Without the correct path, the spoof will never work.

STEP 2: Finding a compatible Device ID

The next step is to find a compatible device-id for spoofing the GPU. This device-id must be compatible and should be as close as possible to the original device-id in terms of hardware specs and technology.

STEP 3: Modifying the SSDT

Once you have obtained the ACPI path and the compatible device-id, you're ready to spoof the GPU device-id by modifying the sample SSDT. Typically, the modification consists of changing the ACPI path, Slot info, device-id, and the Model. To spoof the device-id, you can use either use DeviceProperties method or the SSDT method. However, this guide will only focus on the SSDT method as the same can be achieved using the DeviceProperties method but still, you need to define the GFX0 to your GPU path. With the SSDT method, everything can be done in a single place, therefore a more cleaner approach. To modify the SSDT, follow the steps below.

1. Based on WhaterGreen's sample.dsl SSDT, download SSDT-GPU-SPOOF.aml.
2. Download the MaciASL of your choice.
3. Extract the MaciASL and move it to the Applications folder.
4. Open the downloaded SSDT-GPU-SPOOF.aml using MaciASL.
5. Now you need to change a couple of things in the SSDT to match yours. You can either manually replace these values or you can also use Find and Replace option in MaciASL using Command+F or using the menu Edit>Find and Replace option.

To ReplaceOriginal ValueNotes
ACPI PathPCXX
PCXX.XXXX
Depending on your ACPI path, change the ACPI Path with the value obtained in the STEP #1. In our case, the ACPI path would be PCI0.PEG0.
SlotSlot-XDepending on the PCIe slot in which the GPU has been installed, change the slot name. Usually, it's PCIe Slot 1. In our case, the Slot name would be Slot 1.
device-id0x34, 0x12Depending on the compatible device-id, change the device-id with the value obtained in the STEP #2 to match yours. In our case, the device-id for Radeon Pro WX2100 would be 67E3 as per the Common GPU Spoof Table.
ModelGPU ModelDepending on the GPU model (actual), change the model. In our case, the model would be AMD Radeon Pro WX 2100.

Before changing:
Screen Shot 2022-12-23 at 5.35.13 PM-min.png

After changing:
Screen Shot 2022-12-23 at 5.42.42 PM-min.png

6. Click on compile and look for errors in the Compiler Summary. If there's an error, fix it and again click on Compile.

Screen Shot 2022-12-04 at 9.50.24 PM-min.png

7. Save the changes to the SSDT using File>Save option.

Screen Shot 2022-12-04 at 10.06.59 PM-min.png

STEP 4: Installing the SSDT

The next step is to install the SSDT for spoofing the Graphics. Follow the steps below to install the SSDT.

1. Mount your ESP.
2. Depending on your bootloader,

For Clover:
If you're using Clover, copy the SSDT-GPU-SPOOF.aml and SSDT-DTGP.aml to EFI/Clover/ACPI/patched directory.

For OpenCore:
If you're using OpenCore, copy SSDT-GPU-SPOOF.aml and SSDT-DTGP.aml to EFI/OC/ACPI directory. You'll also need to add the ACPI entries in ACPI>Add section of your config.plist.

3. Save your config.plist

STEP 5: Restarting your System

After performing all the above steps, restart your system for the applied changes to take effect. It is recommended to reset NVRAM twice at least.

Verifying the Spoof


The next step is to verify whether the spoof is working or not. Follow the steps below to verify the Graphics soof.

Hackintool
  • Verify the spoofed Device ID for GPU under Hackintool>PCIe section. The GPU is listed as a Display Controller class under the Device column. The Device ID should match with the value present in your SSDT. If the value is same as your SSDT, this means the card device-id has been spoofed and you should verify the Graphics acceleration.

About This Mac
  • Verify the GPU Model Name and VRAM in About This Mac
Screen Shot 2022-11-27 at 7.28.29 PM-min.png
  • Verify the monitor size and resolution in About This Mac>Displays
Screen Shot 2022-11-27 at 7.28.36 PM-min.png
System Report
  • Verify the GPU information in About This Mac>System Report>Graphics/Displays
Screen Shot 2022-11-27 at 7.28.51 PM-min.png
System
  • Verify the transparency in Dock

VideoProc
  • Verify whether H.265/H.265 is enabled in VideoProc Converter.
Screen Shot 2022-11-27 at 7.29.46 PM-min.png
Geekbench
  • Verify the GPU information and Compute API (OpenCL and Metal)
Screen Shot 2022-11-27 at 7.34.16 PM-min.png
Screen Shot 2022-11-27 at 7.34.28 PM-min.png
  • Verify the OpenCL benchmark scores
Screen Shot 2022-11-27 at 7.42.00 PM-min.png
  • Verify the Metal benchmark scores
Screen Shot 2022-11-27 at 7.43.46 PM-min.png


Common GPU Spoofs


Following are the common GPU spoofs followed by Intel, AMD and NVIDIA.

I. Intel



II. AMD

CodenameModelOriginal Device IDSpoofed Device IDNotes
R5 360665C
R7 24066136798Spoofs as AMD Radeon R9 280X
PolarisRX580 2048sp6FDF67DFSpoofs as AMD Radeon RX570/580
LexaWX 2100699567E3Spoofs as AMD Radeon Pro WX 4100 (Baffin)
LexaWX 3100698567E3Spoofs as AMD Radeon Pro WX 4100 (Baffin)
BonaireFirePro W51006649665CSpoofs as AMD (Bonaire)
Navi 23RX 6650 XT73EF73FFSpoofs as AMD Radeon RX 6600 XT
Navi 21RX 6950 XT73A573BFSpoofs as AMD Radeon RX 6900 XT

III. NVIDIA
 
Last edited:
  • Like
Reactions: grow82
After building the SSDT and importing it in the bootloader, I get a kernel panic!
And as it looks like it has to do with APFS. (keep in mind I don't get the issue without the SSDT)
 
After building the SSDT and importing it in the bootloader, I get a kernel panic!
And as it looks like it has to do with APFS. (keep in mind I don't get the issue without the SSDT)
No PR files attached.

Provide the PR files as described in the FAQ:
 
No PR files attached.

Provide the PR files as described in the FAQ:
Yes my bad, i've recompiled the SSDT and fixed all the issues.
 
  • Like
Reactions: axon
Hello, Im using a Mac Pro 7,1 and I have been trying for weeks but I cant get the 6950xt recognized as a 6900xt

Installed open core legacy on my mac
looked up for the PCI address
Edited the plis and AML files
placed them on the EFI drive

No luck so far? Maybe Im missing something?
 
if the build is on Sonoma, and GPU is 6800XT, is WhateverGreen.kext and gdpmod=pikera boot-arg still needed. or should it be natively supported now?
i9-12900k, Asus 790
 
if the build is on Sonoma, and GPU is 6800XT, is WhateverGreen.kext and gdpmod=pikera boot-arg still needed. or should it be natively supported now?
i9-12900k, Asus 790
Yes, those are still a requirement.
 
Can I get rx6950xt to work on OSX Mojave?
 

Latest posts

Forum statistics

Threads
1,710
Messages
16,055
Members
24,881
Latest member
splays