黑蘋果

[黑蘋果]替RX 580顯卡開啟eGPU加速和HEVC硬體解碼,支援FCPX

雖然 macOS 10.13.4 是首個支援外接顯卡的版本,官方列出的顯卡清單有 AMD Radeon RX 470,RX 480,RX 570,RX 580和Radeon Pro WX 7100,這也表示只要購買官方支援的 eGPU 顯卡,那就是可在黑蘋果系統上正式嘗試別,不過雖然是能夠讓系統正常識別顯卡驅動,但要讓 macOS 上使用FCPX和轉檔來實現eGPU加速和HEVC(H.265編碼),則是還要另外進行調整才能夠顯示卡能完全發揮功力,本篇教學就要來教大家如何在黑蘋果系統上解放顯卡原有的效能。

[黑蘋果]替RX 580顯卡開啟eGPU加速和HEVC硬體解碼,支援FCPX

 

瘋先生使用黑蘋果的目的就是要為了能夠使用 FCPX 來剪輯,才會特別挑選 ATI 系列顯卡 SAPPHIRE NITRO+ Radeon™ RX 580 8G,不過在 macOS 10.13.4 系統安裝好後,雖然系統本身是可以正常識別顯卡 RX 580 8G 型號,不過實際上會發現 FCPX 再輸出時,相當緩慢或是不夠快,甚至會直接造成分享失敗情況,在多方面尋找答案和測試後發現,發現了底下這原因

SMBIOS 設定 iMacPro1,1 雖然會直接開啟GPU硬解,MacX Video Converter Pro和IINA上都可顯示GPU加速,少數情況下會導致 FCPX 軟體當機。如果不用 FCPX ,一般用於上網、文書、看影片等非影像轉檔工作,基本上都是沒問題,可直接設定 iMacPro 直接實現享有硬解。目前已經不會出現當機狀況,僅剩下 Safari 播放 Netflix 會當機,主要是 WhateverGreen 問題,改由 Chrome 解決或透過另一篇解決

更新:

  • 2020-10-04 Safari 14 建議不要升級,會造成 Netflix 跳出 S7706 錯誤代碼,如已經升級解決方法就是改用 Chrome 安裝「Netflix 1080p」外掛。

 

解決 FCPX 轉檔錯誤與硬解

為了能夠解決 FCPX 分享失敗和轉檔當機問題,先是找到了國外一篇能修復 macOS High Sierra 下執行FCPX(解決顯示卡硬體加速和HEVC支援)文章,不過全部設定好後發現GPU硬解也會直接造成失效,雖然導出5K母版都沒問題,但很少人會使用導出母版,大多都是直接轉出 1080p或4K居多。繼續歷經幾個小時刪除測試中發現,刪除了某個kext後,才又再次將GPU開啟,不過依舊是會導致 FCPX 當機,所以這方法是不可行。

歷經了三天測試和不斷嘗試各種方法調整下,最後找到了另一種解法,成功完美開啟 Radeon RX 580 顯卡的eGPU硬體加速和HEVC解碼,透過MacX Video Converter Pro確認GPU已經開啟,IINA播放 H265影片也可支援硬解,甚至連同 FCPX 也不在當機,轉檔輸出速度也有不少的提升,可確定Radeon RX 580 顯卡驅動和硬解已經真正發揮效用,下面來分享本次教學修正調整方法

  • 硬體支援:RX 580 所有廠牌顯示卡,連同RX 570、RX 480、RX 470 應該也沒問題
  • 測試系統:macOS 10.13.4、macOS 10.13.5、macOS 10.14.x、macOS 10.15

 

核顯對於 FCPX 作用

順便讓大家了解 CPU 核顯也能夠幫助 FCPX 替 H264和 H265 (HEVC)解碼運算,連同也可以提升時間軸預覽畫面順暢度。

想驅動核顯需要底下幾個方法

  • 確認 CPU 是否有核顯
  • BIOS設定內開啟核顯共享,內存要設定為128M
  • 設備要注入ig-platform-id(如果是UHD630可使用980003機型19,1)
  • 顯卡設定勾選ATI(5700/xt不用勾 OC也會忽略)
  • 必須使用 WhateverGreen v1.3.7魔改版(後面文章會提供)

如何確認是否核顯有正常啟動,在 FCPX 輸出時,Frequency 內的 AVG 可達到 1.2Ghz 就代表核顯已經正常運作。不過我在 macOS 15.4 測試中發現,Clover 沒將 Intel 8700K 核顯開啟,只有注入 ig-platform-id 值同樣是可以啟動核顯。

[黑蘋果]替RX 580顯卡開啟eGPU加速和HEVC硬體解碼,支援FCPX

另外還在官網上發現,這次蘋果替 Apple T2安全晶片功能提升,除了可以當成安全保護功能外,也能夠幫忙 HEVC 影片轉碼運算,才會讓 iMac Pro 和 iMac mini 就算沒有核顯,但是還是可以轉由 T2 晶片來加速解碼,但是黑蘋果就沒有這顆晶片,所以必須靠 CPU 核顯來解決。

 

開啟硬解教學選單

 

macOS 10.15 版本開啟硬解方法

已經升級 macOS 10.15已經有好幾個月時間,自從升級 macOS 10.15 後一直嘗試要讓 CPU 核顯和Radeon RX 580 GPU 同時啟動,最後失敗收場,主要比較難地方還是在於會造成 FCPX 開啟出現錯誤訊息(無解),最後發現白蘋果真機也都是採用顯卡再跑,導致花了不少時間測試,最後關閉 CPU 核顯注入才正常。

直接分享 Geekbench 5 跑分,目前在 RX 580 顯卡優化下已經趨近於真實白蘋果電腦數據,主要是我在顯卡內加入不少識別碼(ROM、VBIOS、EFI),讓 macOS 系統會判讀為真的蘋果原廠顯卡,為了防止有人拿去販售這部分就暫時保密。(點我看詳細跑分內容[黑蘋果]替RX 580顯卡開啟eGPU加速和HEVC硬體解碼,支援FCPX

 

不過一些基本設定還是會教大家,同樣先打開 Clover Configurator ,透過底下操作

步驟 1

  • Boot :在 Boot Arguments 內加入「ecardprops=clover」
  • Graphics:在 FB Name 內輸入「Orinoco」(顯示卡識別),ig-platform-id內輸入「0x3E9B0007」(Intel 8700K CPU核顯識別),並且將 Inject ATI和RadeonDlnit 勾選,如果不用 FCPX 可以將 Inject Intel 打開,就能讓 CPU核顯和GPU同時啟動。
  • SMBIOS:改為自己的 iMac 型號,可以去查看看真實白蘋果 CPU ,對應一下,像是當前我所用的 Intel 8700K 處理器,就曾在 iMac 18,3 使用過,所以我選擇這款型號肯定會是最完美。

[黑蘋果]替RX 580顯卡開啟eGPU加速和HEVC硬體解碼,支援FCPX

步驟 2

最後將 WhateverGreen v1.3.9 魔改版(需配合Lilu v1.4.4)放入「EFI/CLOVER/kexts/Other/」資料夾內即可,最後重開機就能完美啟動 Radeon RX 580 顯卡硬解。

以上設定完成後,就可透過VideoProc 測試,基本除了 RX580 可正常外,也可正常開啟核顯,並且能硬解 4K 編碼。

[黑蘋果]替RX 580顯卡開啟eGPU加速和HEVC硬體解碼,支援FCPX

 

macOS 10.14.5 版本開啟硬解方法

macOS 10.14.5 beta 帶給黑蘋果一大希望,蘋果加入 AMDRadeonX4000 訊息,代表可以支援 H264 和 HEVC 編碼和硬解,前幾個測試版本會不穩定,後續正式版本估計不需要依賴 dummy144.kext 就可在 macOS 10.14.5 上實現完美硬解。

瘋先生在測試 macOS 10.14.5 Beta2 版本(18F108f)後,已經確認不需要依賴 dummy144.kext 即可開啟 Radeon RX 580 硬解,執行底下軟體測試結果

  • Final Cut Pro X 正常硬解和輸出無綠色塊
  • Netflix 正常可播放輸出 DRM
  • MacX Video Converter Pro 顯示硬解
  • NII 支援影片硬解

Geekbench 跑分明顯優於 macOS 10.13.4 採用手動修改方式。(點我看詳細跑分內容

[黑蘋果]替RX 580顯卡開啟eGPU加速和HEVC硬體解碼,支援FCPX

 

步驟 1

搶先升級 macOS 10.14.x beta 技巧:點我了解

透過 Clover Configurator 將 EFI 分區開啟,並且載入當前所用的 config.plist 檔案。 將 SMBIOS 改為 iMacPro1,1 ,不是手動輸入,要點擊右側從選單中選擇 iMacPro,這是啟動硬解關鍵機型。

[黑蘋果]替RX 580顯卡開啟eGPU加速和HEVC硬體解碼,支援FCPX

 

步驟 2

點選左側「Boot」選單,並且在 Arguments 方塊內點擊右下角「+」加入底下兩個項目,最後儲存,並重開機一次即可啟用。

  • -disablegfxfirmware
  • shikigva=1
  • dart=0
  • shiki-id=Mac-7BA5B2D9E42DDD94

[黑蘋果]替RX 580顯卡開啟eGPU加速和HEVC硬體解碼,支援FCPX

 

步驟 3

點選左側「Graphics」選單,如果跟我的型號是相同 CPU “intel i7-8700k” ,可以在 ig-platform-id 內選擇「0x3E920003」,這是用來開啟 Intel HD Graphics 630 內顯,並且將 Inject Intel 和 inject ATI 都勾選起來。

[黑蘋果]替RX 580顯卡開啟eGPU加速和HEVC硬體解碼,支援FCPX

 

步驟 4

將 kext 資料夾內的 dummy144.kext 移除,並且重開機一次即可。

 

 


 

macOS 10.14~10.14.4 版本開啟硬解方法

macOS 10.14.x 無需設定任何調整,內建原生驅動就可支援,需另外放入底下三個kext至 kext 資料夾內才能真正啟用硬解,正在測試調整到最完美狀態,後續會公布。

另外透過Clover Configurator 左側選單選擇「Boot」 ,並且在 Arguments 方塊內點擊右下角「+」加入底下兩個項目,最後儲存,並重開機一次即可啟用。

  • shikigva=32
  • shiki-id=Mac-7BA5B2D9E42DDD94

不過目前發現 macOS 10.14.5 之前,都需要依賴 dummy144.kext 才能啟用 RX 580 硬解,甚至會導致 FCPX 在剪接過程並無問題,也可以支援硬體加入,只有在輸出會出現綠色方塊,測試出來是與 dummy144.kext 有很大關係,被迫要關閉後只靠 CPU 來轉檔案輸出。如同時要讓 Netflix 可以正常播放 DRM,skikigva 就沒辦法設定 32 ,只能用 1 才可以。所以我目前卡在 FCPX 和 Netflix 沒辦法同時完美,必須要放棄其中一個設定。

 


 

macOS 10.13.x 版本開啟硬解方法

步驟 1

SMBIOS 不需要改成 iMacPro ,可以直接選擇 iMac18,3機型,建議選2017年以後,畢竟2017年前還沒有支援硬解。

步驟 2

透過 Clover Configurator 將 EFI 分區開啟,並且載入當前所用的 config.plist 檔案。

步驟 3

點選左側「Acpi」選項,在DSDT內點擊右下角「+」,新增

  • Comment:change GFX0 to IGPU
  • Find*[HEX]:47465830
  • Replace[HEX]:49475055

Generate Options 底下將「Generate PStates」和「Generate CStates」勾選起來。

步驟 4

點選左側「Devices」選項,增加 Add Properties (點選表格下方”+”新增)

  • Device : IntelGFX
  • Key : AAPL,GfxYTile
  • Value : 0AAAAA00
  • Type : DATA

步驟 5

點選左側「Graphics」選項,勾選「Inject Intel」和替ig-platform-id內輸入「0x59120003」

步驟 6

點選左側「Boot」選項,勾選「-disablegfxfirmware」,最後按下「存檔」,就可關閉 Clover Configurator

步驟 7

下載底下三個檔案至 kext 資料夾內

步驟 8

重開機,並先進入 BIOS 內調整,這功能沒調整就無法真正實現硬體加速和解碼,要讓 Final Cut Pro 真正可啟用 IGPU,可以根據底下設定

技嘉 Gigabyte 用戶設定方法

  • Chipset →Integrated Graphics : Enabled
  • Chipset → DVMTPre-Allocated :128M

使用A卡或N卡

  • Peripherals →Initial Display Output : PCIe 1 Slot
  • 僅使用核顯
  • Peripherals →Initial Display Output : IGFX

華碩 ASUS 用戶設定方法

  • Advanced \System Agent(SA) Configuration → IGPU Multi-Monitor : Enabled
  • Advanced \System Agent(SA) Configuration → DVMT pre-Allocated : 128M

使用A卡或者N卡

  • Advanced \System Agent(SA) Configuration → Primary Display : PCIE
  • 僅使用核顯
  • Advanced \System Agent(SA) Configuration → Primary Display : CPU Graphics

微星 MSI 用戶設定方法

  • Advanced \Integrated Graphics Configuration → IGD Multi-Monitor : [Enabled]
  • Advanced \Integrated Graphics Configuration → DVMT Pre-Allocated : [128M]

使用A卡或者N卡

  • Advanced \Integrated Graphics Configuration → Initiate Graphic Adapter : [PEG]
  • 僅使用核顯
  • Advanced \ Integrated GraphicsConfiguration → InitiateGraphic Adapter : [IGD]

華擎ASRock 用戶設定方法

  • Advanced \Chipset Configuration → IGPU Multi-Monitor : Enabled
  • Advanced \Chipset Configuration → Share Memory : 128MB

使用A卡或者N卡

  • Advanced \Chipset Configuration → Primary Graphics Adapter : PCI Express
  • 僅使用核顯
  • Advanced \Chipset Configuration → Primary Graphics Adapter : Onboard

 


 

開啟硬解後跑分測試結果

  • FCPX 輸出硬解完全正常
  • MacX Video Converter Pro :顯示已經啟動GPU加速

[黑蘋果]替RX 580顯卡開啟eGPU加速和HEVC硬體解碼,支援FCPX

  • IINA:顯示加速硬體解碼

[黑蘋果]替RX 580顯卡開啟eGPU加速和HEVC硬體解碼,支援FCPX

Geekbench GPU 獲得 142421,真iMac 2017年 Rx 580款僅獲得 103603

[黑蘋果]替RX 580顯卡開啟eGPU加速和HEVC硬體解碼,支援FCPX

CINEBENCH CPU 分數 1408 cb

[黑蘋果]替RX 580顯卡開啟eGPU加速和HEVC硬體解碼,支援FCPX

CINEBENCH OpenGL 分數 141.09 fps

[黑蘋果]替RX 580顯卡開啟eGPU加速和HEVC硬體解碼,支援FCPX

Unigine Heaven Benchmark Basic

[黑蘋果]替RX 580顯卡開啟eGPU加速和HEVC硬體解碼,支援FCPX

Unigine Heaven Benchmark Extreme

[黑蘋果]替RX 580顯卡開啟eGPU加速和HEVC硬體解碼,支援FCPX

 

參考資料

蘋果官方支援eGPU清單頁面

HOW TO FIX VIDEO RENDERING ISSUES IN FCPX HIGH SIERRA (HARDWARE ENCODING & HEVC SUPPORT)

[黑蘋果]替RX 580顯卡開啟eGPU加速和HEVC硬體解碼,支援FCPX 如果覺得本篇教學不錯,歡迎『點我加入瘋先生粉絲團』追最新教學技巧

發表評論