Ryzen 5 3600, Gigabyte B450i Aorus Pro WiFi, AMD R7 240, Mac OS Big Sur 11.6.1

tdctrang

New member
Joined
Sep 6, 2020
Messages
3
Screenshot 2021-11-29 at 18.25.22.png
  • Installed Operating Systems: Catalina 11.6.1
  • CPU: Ryzen 5 3600
  • Motherboard: Gigabyte B450I Aorus Pro WiFi
  • RAM: 16GB DDR4 3200MHz
  • Graphics: Asus Radeon R7 240
  • HDD: KINGSTON SA400S37240G 240GB - CT500P1SSD8 500GB
  • LAN: Intel I211
  • Wireless: Intel(R) Dual Band Wireless-AC 9260
  • Sound: Onboard
  • Other: USB Wireless Mouse and Keyboard
  • Bootloader: OpenCore 0.7.5
  • BIOS Version: F51D
The OpenCore could not boot with "Above4GDecoding" enabled with or without additional boot arg "npci=0x2000"; I had to disable "Above4GDecoding" and add "npci=0x2000" to boot-args

The GPU R7 240 is not natively supported by Big Sur, I followed the guide at here to fake id the GPU, but the original guide did not work for this GPU, I found another solution to change the ID of the GPU. The steps are similar to the mentioned guide on Opencore, I am going to explain what have been change to make it work.

  • Finding a suitable PCI ID:
    • I found the list of natively supported AMD GPU on this page. The list is for Mac OS Catalina but you have a general idea what is looking for. According to the list, my GPU "R7 240" is not supported, but the "R7 250X" is. >
      * pci device: 683d - Cape Verde XT [Radeon HD 7770/8760 / R7 250X]

    • My GPU "R7 240" has the device-id 0x6613 and I had to change the device-id into 0x683d.
  • Finding the ACPI Path of the GPU:
    • Follow the steps in the guide, I found the ACPI Path for my GPU is "\SB.PCI0.GPP8". I triple checked this value in Windows, Linux and Mac OS.
  • Making the SSDT:
    • I compiled the SSDT, put it into EFI/OC/ACPI/ and changed the config.plist, but it did not work, I attached the file SSDT-GPU-SPOOF.dsl.txt

In MacOS, by using the application Hackintool, I saw that my there are two devices that have the same ACPI path:

Screenshot 2021-11-29 at 18.49.24.png

The differences are the suffixes: GFX0 and HDAU. I have tried to use the ACPI Path "\SB.PCI0.GPP8.GFX0" in SSDT but it also did not work.

I found another topic here. @rich4653 suggested to create an GFX0 using SSDT and change the device-id through DeviceProperties, I followed his approach and did two steps:

  • I used the following SSDT, compiled and put it into EFI/OC/ACPI and update the config.plist.

Code:
DefinitionBlock ("", "SSDT", 2, "DRTNIA", "AMDGPU", 0x00001000)
{
    External (_SB_.PCI0.GPP8, DeviceObj)
    Scope (\_SB.PCI0.GPP8)
    {
        Device (GFX0)
        {
            Name (_ADR, Zero)  // _ADR: Address
        }
    }
}


  • The following entry has been added into DeviceProperties of config.plist:
Screenshot 2021-11-29 at 19.36.17.png

And it works, the device id has been changed and Mac OS Big Sur can recognise the GPU, but hardware acceleration does not work.

Screenshot 2021-11-29 at 19.43.57.png
 

Attachments

  • SSDT-GPU-SPOOF.dsl.txt
    2 KB · Views: 9
  • DeviceProperties.plist
    482 bytes · Views: 6
  • config.plist
    33.8 KB · Views: 5

kouchangyin

New member
Joined
Dec 11, 2021
Messages
8
could u plz share your EFI?
  • CPU: Ryzen 5 3600X
  • Motherboard: Asus ROG CROSSHAIR VII HERO (WI-FI)X470 platform
  • RAM: 16GB DDR4 3200MHz
  • Graphics: SAPPHIRE Radeon R7 240
  • HDD: SAMSUNG 970EVO 500GB
 
Last edited:
Top Bottom