• 注意 但是,Catalina 及更早版本中的Safari 13 支持得很好。
  • 注2 以下指南适用于使用基于硬件的DRM 的Safari 和其他应用程序。

因此,对于DRM,我们需要提及以下几点:

  • DRM 需要支持的dGPU
    • 请参阅
  • 仅iGPU 系统的DRM 已损坏
    • 在10.12.2 之前,这可以通过Shiki(现在是WhateverGreen)修复,但在10.12.3 中中断
    • 这是因为我们的iGPU 不支持Apple 的固件以及我们的
  • 工作硬件加速和解码

测试硬件加速和解码

因此,在我们开始修复DRM 之前,我们需要确保您的硬件正常工作。最好的检查方法是运行

《修复DRM 支持和iGPU 性能》

如果此时您失败了,您可以检查以下几点:

  • 确保您的硬件受支持
    • 请参阅
  • 确保您运行的SMBIOS 与您的硬件匹配
    • 例如,不要在台式机上使用Mac Mini SMBIOS,因为Mac Mini 运行移动硬件,因此macOS 会期望相同
  • 确保在BIOS 中启用了iGPU 并且具有适合您的设置的正确属性(AAPL,ig-platform-iddevice-id
    • 您可以查看指南或
  • 避免不必要的ACPI 重命名,所有重要的都在WhateverGreen 中处理
  • 确保加载了Lilu 和WhateverGreen
    • 确保没有任何遗留的图形补丁存在,因为它们已经被吸收到了WhateverGreen 中:
      • IntelGraphicsFixup.kext
      • NvidiaGraphicsFixup.kext
      • 式样

检查Lilu 和WhateverGreen 是否正确加载:

kextstat | grep -E "Lilu|WhateverGreen"

嘿,这些kext 中的一个或多个没有出现

通常,最好的起点是查看您的OpenCore 日志并查看Lilu 和WhateverGreen 是否正确注入:

14:354 00:020 OC: Prelink injection Lilu.kext () - Success
14:367 00:012 OC: Prelink injection WhateverGreen.kext () - Success

如果它说注入失败:

15:448 00:007 OC: Prelink injection WhateverGreen.kext () - Invalid Parameter

您可以查看原因的主要位置:

  • 注入顺序
  • 所有kexts 都是最新版本

注意:要设置文件日志记录,请参阅

注意

defaults write com.apple.AppleGVA enableSyslog -boolean true

并在完成后撤消此操作:

defaults delete com.apple.AppleGVA enableSyslog

测试数位版权管理

所以在我们深入之前,我们需要回顾一些事情,主要是你会在野外看到的DRM 类型:

FairPlay 1.x

  • 最简单的测试方法是播放iTunes 电影:
    • FairPlay 1.x 预告片将适用于任何配置,如果WhateverGreen 设置正确– 包括仅iGPU 的配置。但是,FairPlay 1.x

FairPlay 2.x/3.x

  • 有两种测试方法:
    • 在Netflix 或Amazon Prime 中播放节目
    • 播放亚马逊Prime 预告片:
      • 预告片本身不使用DRM 但亚马逊仍会在播放前进行检查
  • 注意:需要较新的AMD GPU 才能工作(Polaris )

FairPlay 4.x

  • 您可以打开TV.app,选择TV -> Free Apple TV Premieres,然后单击任何剧集进行测试,无需任何试用(您确实需要一个iCloud 帐户)
  • 如果你想使用Apple TV 也有免费试用
  • 注意:需要没有iGPU (Xeon) 或更新的AMD GPU 才能工作(Polaris )
    • 当iGPU 不存在时可以强制FairPlay 1.x

如果这些测试一切正常,您就无需继续!否则,继续。

修复DRM

因此,为了修复DRM,我们主要可以走1 条路线:修补DRM 以使用软件或AMD 解码。Vit 为不同的硬件配置制作了一个很棒的小图表:

那么你如何使用它呢?首先,确定您在图表中的配置(AMD 代表GPU,而不是CPU)。如果您匹配硬件配置,则列出的SMBIOS(IM = iMac、MM = Mac Mini、IMP = iMac Pro、MP = Mac Pro)是您应该使用的。如果您不匹配图表中的任何配置,那么您就不走运了。

接下来,确定您需要使用哪种Shiki 模式。如果您的设置有两种配置,它们将在使用的Shiki 标志上有所不同。通常,您需要硬件解码而不是软件解码。如果模式列是空白的,那么你就完成了。否则,您应该 例如,如果我们需要使用的模式是shikigvashikigva=80

《修复DRM 支持和iGPU 性能》

您还可以使用引导参数– 这在模式列中。

这是一个例子。如果我们有Intel i9-9900K 和RX 560,配置将是“AMD IGPU”,我们应该使用iMac 或Mac Mini SMBIOS(对于此特定配置,iMac19,1)。然后我们看到配置有两个选项:一个是mode 我们希望Netflix 正常工作,因此我们将选择该 然后将shikigva=16shikigva=80shikigva=80shikigva80

这是另一个例子。这一次,我们有一个Ryzen 3700X 和一个RX 480。我们在这种情况下的配置只是“AMD”,我们应该使用iMac Pro 或Mac Pro SMBIOS。同样,有两个选项:没有shiki 参数,和 重新启动和DRM 工作。shikigva=128shikigva=128shikigva128

笔记:

  • 您可以使用
    • path/to/gfxutil -f GFX0GFX0:对于dGPU,如果安装了多个,请检查IORegistryExplorer 以了解您的AMD 卡的名称IGPU
  • 如果您shikigva
  • IQSV 代表英特尔快速同步视频:这仅在iGPU 存在并启用且设置正确时才有效。
  • 特殊配置(如Haswell AMD dGPU 与iMac SMBIOS,但iGPU 已禁用)未包含在图表中。您必须自己对此进行研究。
  • 式源 (打开新窗口)
  • 对于VDADecoderCreate failed. err: -12473defaults write com.apple.AppleGVA gvaForceAMDAVCDecode -boolean yes