Contribute
Register

[GUIDE] iMac19,1 / iMacPro1,1 i3-9100 RX-580 and DRM

Status
Not open for further replies.
Joined
Dec 10, 2010
Messages
1,378
Motherboard
Gigabyte Z390 Aorus Elite
CPU
i9-9900K
Graphics
RX 6600 XT
Mobile Phone
  1. iOS
The components of my hackintosh (Z390 Aorus Elite + i3 9100 + AMD RX 580) allow to use SMBIOS of 2 different Mac models: iMac19,1 and iMacPro1,1. With both configurations the system can work well, integrating hardware video encoding and decoding. What differentiates them is the ability to play DRM-protected content, specifically iTunes and Apple TV+.

iMac19.1

This iMac model appeared in 2019. There are 3 technical details that make it very similar to my PC:
  • Intel 9th generation Coffee Lake Refresh processor
  • iGPU Intel UHD Graphics 630
  • dGPU AMD Radeon Pro 570X / 575X / 580X.
The main reason for choosing iMac19,1 is because of the micro, from the same family as mine, which also incorporates the same iGPU. Not forgetting that the dGPU is similar. We are facing a Mac with 2 graphics cards.
On this real Mac the dGPU can be used to display the main graphics with good performance while the iGPU can contribute hardware video encoding and decoding tasks, releasing the CPU from these tasks. This is what you are looking for when selecting this SMBIOS: dGPU graphics / iGPU encoding. To achieve this you have to:
  • enable iGPU in BIOS
  • put the dGPU as main card
  • cable to monitor from the dGPU
  • recent versions of Lilu and WhateverGreen
  • SMBIOS from iMac19,1
  • iGPU in headless mode in config.plist, adding these lines in DeviceProperties / Add (OpenCore)
XML:
            <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
            <dict>
                <key>AAPL,ig-platform-id</key>
                <data>AwCRPg==</data>
            </dict>

so that this section would look like this (there may be other keys in your system besides this one, keep them)

XML:
            <key>DeviceProperties</key>
            <dict>
                <key>Add</key>
                <dict>
                    <key>PciRoot(0x0)/Pci(0x2,0x0)</key>
                    <dict>
                        <key>AAPL,ig-platform-id</key>
                        <data>AwCRPg==</data>
                    </dict>
                </dict>
                <key>Delete</key>
                <dict/>
            </dict>

With this configuration the system works very well, has good CPU power management, can encode and decode hardware accelerated video and, in terms of DRM:
  • does not play FairPlay 1.x content (iTunes)
  • plays FairPlay 2.x / 3.x content (Netflix or Prime Video)
  • does not play FairPlay 4.x (Apple TV +) content.
iMacPro1,1

This iMac model appeared in 2017. It has a processor from a different family than my PC, it is Intel Xeon with 8, 10, 14 or 18 cores. But being a Mac without iGPU (it only has a Radeon Pro Vega 56 dGPU), it allows us to disable our iGPU in BIOS to obtain an equivalent system in which the dGPU serves both to bring graphics to the monitor and for video encoding and decoding tasks. This is what you are looking for when selecting this SMBIOS: dGPU graphics and encoding. To achieve this you have to:
  • disable iGPU in BIOS
  • cable to monitor from the dGPU
  • recent versions of Lilu and WhateverGreen
  • SMBIOS from iMacPro1,1.
With this configuration the system works very well, has good CPU power management, can encode and decode hardware accelerated video and, in terms of DRM:
  • plays FairPlay 1.x content (iTunes)
  • plays FairPlay 2.x / 3.x content (Netflix or Prime Video)
  • plays FairPlay 4.x (Apple TV +) content.
Summary

My PC accepts 2 possible SMBIOS, iMac19,1 and iMacPro1,1, the main difference between them is the ability to play DRM content from iTunes and Apple TV +. In everything else they seem equivalent options.

  • Google Chrome (current version 87.0.4280.67) works fine on Netflix and Prime Video regardless of the chosen SMBIOS
  • Safari (current version 14.01) crashes on Netflix and Prime Video with iMac19.1 but works fine with iMacPro1.1
  • Both browsers fail on Apple TV + web
  • Apple TV app works fine with iMacPro1,1 but fails with iMac19.1.
 
Last edited:
Thanks for posting. Can you confirm what macOS you're running? I'm running iMacPro1,1 and disabled iGPU but Apple TV+ app only plays for about 10 seconds before going black.
 
Thanks for posting. Can you confirm what macOS you're running? I'm running iMacPro1,1 and disabled iGPU but Apple TV+ app only plays for about 10 seconds before going black.
I assume you also have recent versions of Lilu and WEG.
I am in Big Sur + iMacPro1,1 + iGPU disabled in BIOS + Lilu and WEG. Apple TV+ works fine, plays the movie to the end.
Do you use agdpmod=pikera as Boot arg? Have you tried any value of shikigva, for example shikigva=80 as Boot arg?
I don't use any shikigva value.
See Fixing DRM support and iGPU performance (Dortania guides).
 
Last edited:
I assume you also have recent versions of Lilu and WEG.
I am in Big Sur + iMacPro1,1 + iGPU disabled in BIOS + Lilu and WEG. Apple TV+ works fine, plays the movie to the end.
Do you use agdpmod=pikera as Boot arg? Have you tried any value of shikigva, for example shikigva=80 as Boot arg?
I don't use any shikigva value.
See Fixing DRM support and iGPU performance (Dortania guides).
yes, latest lilu and weg. I'm not familiar with boot arg agdpmod=pikera. are you using this on yours? I didn't use shikigva since it's not required on iMacPro1,1.

is your monitor(s) connected via DisplayPort or HDMI? My main monitor is DP and could be what's causing the problem.
 
Last edited:
yes, latest lilu and weg. I'm not familiar with boot arg agdpmod=pikera. are you using this on yours? I didn't use shikigva since it's not required on iMacPro1,1.

is your monitor(s) connected via DisplayPort or HDMI? My main monitor is DP and could be what's causing the problem.
I comment about agdpmod since your dGPU is Vega 64 and sometimes it needs this boot argument although other users use it without it, but it is a parameter that is not related to DRM but to black screen when booting or exiting sleep.
I don't use shikigva either, in theory iMaPro1,1 doesn't need it as you say.
My dGPU and monitor are linked by DP to DP cable, I think it is better solution for macOS than HDMI.
 
Thank you for this. I have the following build and I used the iMacPro1,1 SMBIOS and everything seems to be working well right now including Netflix on Safari!

I did a clean install, used Multibeast to install Clover and just selected the Realtek kexts and then used clover to set the SMBIOS along with Lilu, WhateverGreen, and AppleALC. So far the DRM video playback, audio, ethernet, and sleep are working. Do you have any recommendations or tweaks I may have missed?

Only thing left is to get a new WiFi / Bluetooth card as my TP-Link AX3000 isn't compatible :(

Motherboard: ASUS PRIME Z370-P II
CPU: Intel Core i3-9100F
GPU: MSI Radeon RX 580
Memory: Corsair Vengeance LPX 16GBSSD: Crucial MX500 250GB



Screen Shot 2020-12-04 at 10.08.44 PM.png
 
Last edited:
Thank you for this. I have the following build and I used the iMacPro1,1 SMBIOS and everything seems to be working well right now including Netflix on Safari!

I did a clean install, used Multibeast to install Clover and just selected the Realtek kexts and then used clover to set the SMBIOS along with Lilu, WhateverGreen, and AppleALC. So far the DRM video playback, audio, ethernet, and sleep are working. Do you have any recommendations or tweaks I may have missed?

Only thing left is to get a new WiFi / Bluetooth card as my TP-Link AX3000 isn't compatible :(

Motherboard: ASUS PRIME Z370-P II
CPU: Intel Core i3-9100F
GPU: MSI Radeon RX 580
Memory: Corsair Vengeance LPX 16GBSSD: Crucial MX500 250GB
Regarding DRM I have no further comments because it seems that you have everything well configured.
Regarding Wi-Fi and Bluetooth, I use the Fenvi T-919 PCIe card that works OOTB from High Sierra to Big Sur. You need a PCIe slot and a USB connector on the board (for Bluetooth). It works very well.
 
Awesome! I’m using power line Ethernet for now but definitely will look into the wifi card.

Side note; I was trying to create a new USB installer using the OpenCore guide and seems like I did everything right but on the boot after install I get a “unsupported” error. I read that it may be due to SMBIOS. Did you have any issues using the iMacPro1,1 when using OP instead of Clover? The guide did warn me that iMacPro1,1 wasn’t recommend but to use iMac19,1.
 
Awesome! I’m using power line Ethernet for now but definitely will look into the wifi card.

Side note; I was trying to create a new USB installer using the OpenCore guide and seems like I did everything right but on the boot after install I get a “unsupported” error. I read that it may be due to SMBIOS. Did you have any issues using the iMacPro1,1 when using OP instead of Clover? The guide did warn me that iMacPro1,1 wasn’t recommend but to use iMac19,1.
Hello, I have used iMac19,1 and iMacPro1,1 interchangeably on macOS disk and on USB stick, they both worked fine, I had no problems booting from USB with iMacPro1,1.
What error do you get when it stops? In what phase of boot?
IMac19,1 is supposed to be more appropriate for our PC due to the type of CPU but my hackintosh works just as well with one or other SMBIOS except for the DRM issue.
Note: using OpenCore, I don't use Clover since 4 months ago.
 
Awesome! I’m using power line Ethernet for now but definitely will look into the wifi card.

Side note; I was trying to create a new USB installer using the OpenCore guide and seems like I did everything right but on the boot after install I get a “unsupported” error. I read that it may be due to SMBIOS. Did you have any issues using the iMacPro1,1 when using OP instead of Clover? The guide did warn me that iMacPro1,1 wasn’t recommend but to use iMac19,1.
Your mobo is similar to mine although it is not identical. The CPU is also very similar, the main difference is that it does not have an iGPU.
I upload an EFI with SMBIOS of iMacPro1,1 that starts fine from my USB, copy that folder to your USB and try if it works even with some failure, if it starts better than the one you are using, fix it adjusting extensions, SSDT and others things to your liking.
Every time you boot with a different EFI (like for example when you boot from USB with my EFI after booting from macOS disk) you have to do ResetNVRAM, remember it.
Be sure to have a disk or USB that boots well in case my EFI does not boot.
Comment results.
Note: OpenCore 0.6.4.
 

Attachments

  • EFI-0.6.4-usb.zip
    8 MB · Views: 286
Status
Not open for further replies.
Back
Top