敘述
Apple 對 macOS Monterey 12.3 的更新給少數 Mac 用戶帶來了問題,一些 PCI-E GPU 卡不僅在 eGPU 機箱中提供了過去的速度,在 Mac Pro 中也是如此。當 macOS 更新到 12.3 版之後,有多數人抱怨操作系統已經停止與顯卡一起工作。
另一消息稱,系統更新後,他們的 Mac 處理器的集成顯卡運行速度比 W6800X 顯卡更快。另外用戶發現他們身份不明的 AMD RDNA 卡在更新後的基準測試中性能下降了 94%。這個問題似乎在 macOS Monterey 12.3 的整個測試過程中都存在,我發現國外的黑果論壇或是蘋果論壇論壇,看到許多用戶提出類似的問題。然而這些問題似乎在 eGPU 機箱和某些 Mac Pro 設置中的 PCI-e 卡上更加明顯。
然而,無論使用 AMD 顯卡的白果用戶,或是使用hackintosh 的用戶,早在更新 maCOS 12.3 Beta 1時,測試 AMD 顯卡的性能確實下降許多,但並非在所有情況下都發生。在 GPU 和 eGPU 機箱的各種組合中進行的測試發現,在某些情況下性能會下降,但在其他情況下則不會。
根據一則內部消息說,Apple 自己的 W6900X MPX 模塊在他們的 Mac Pro 中運行良好,然而,藍寶石 AMD Radeon RX 6900 XT 在同一系統中以大約一半的速度運行。由於Apple Silicon Mac目前不支持 eGPU,因此該問題目前僅影響支持機箱的基於 Intel 的 Mac。Apple 提供 AMD 顯卡的驅動程序,而不是供應商。測試和結果強烈表明最新更新存在某種形式的驅動程序問題。
如何判別
- 圖形介面損壞
- 視窗拖拉放大縮小嚴重卡頓
- GeekBench 5 中的普通 GPU 計算基準跑分被閹割
受影響的顯卡
因升級 macOS 12.3 而受到影嚮的有 AMD RX50000/6000 型號之 Graphics Cards ,若是使用早期的顯卡,例如 RX 400/500、VEGA56/64 等系列,則不受影響。
解決方法:
以下程式碼,這是在 hackintosh 主機運行 Mojave、Catalina 系統時,利用引導文件的 config.plist 引導文件當中,在 DeviceProperties 欄位上,加入了顯示卡正確的幀緩衝區,以提高顯卡的性能表現,所做的硬體優化。在硬件加速上,使用影像編輯的用戶都可以體驗到顯示卡充分發揮的強大效能。
注意:您必須使用 Hackintool、gfxutil、opencore configurator 或類似實用程序確認 PciRoot 路徑,以便為您的卡正確注入幀緩衝區。如果您的路徑不匹配,則幀緩衝區將不起作用。
教學示範:
利用 Hackintoo; 工具,找出顯卡的PCIe 的位置。按下滑鼠右鍵,選擇 Copy Device Path 選項,就可以把顯卡的位置路徑給複製下來。
GUI 作法:
社長採用的藍寶石 RX5700XT 顯示卡,先開啟 EFI/OC/config.plist 文件,使用編輯器開啟,在選擇左邊選項 DeviceProperties ,
以下我是採用 opencore configurator 編輯工具做示範教學,比較快速簡單!
選擇下拉式選單中 VGA 的部分。就會帶出顯示卡的位置以及相關資訊。請移到右邊欄位將所有的數據刪除,並新增全新的欄位!
請依照右邊所提供的代碼,依序 key in 相關參數!例如我用的是RX5700 的顯卡。如果你有高度的強迫症患者,想要像白果那樣顯卡的型號,例如 RX5700 顯卡,則變為 AMD Radeon Pro W5700X ,請在 monel 條目,填入相對的位置。
程式碼個方式:
這裡用的是 opencore configurator 工具,請按照以下方式製作。
命令列–> 工具 –> 文字編輯模式。按下『同步』。拉動滑桿找到這個代碼
DeviceProperties,再將以下代碼複製過去。千萬要記得存擋!否則會開不了機!
Radeon 5500 Code:
<key>DeviceProperties</key>
<dict>
<key>Add</key>
<dict> <key>PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)</key>
<dict>
<key>@0,name</key>
<string>ATY,Python</string>
<key>@1,name</key>
<string>ATY,Python</string>
<key>@2,name</key>
<string>ATY,Python</string>
<key>@3,name</key>
<string>ATY,Python</string>
</dict>
</dict>
<key>Delete</key>
<dict/>
</dict>
Radeon 5700 Code:
<key>DeviceProperties</key>
<dict>
<key>Add</key>
<dict> <key>PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)</key>
<dict>
<key>@0,name</key>
<string>ATY,Adder</string>
<key>@1,name</key>
<string>ATY,Adder</string>
<key>@2,name</key>
<string>ATY,Adder</string>
<key>@3,name</key>
<string>ATY,Adder</string>
</dict>
</dict>
<key>Delete</key>
<dict/>
</dict>
Radeon 6600 (Edit: This was changed from Deepbay to Henbury) Code:
<key>DeviceProperties</key>
<dict>
<key>Add</key>
<dict>
<key>PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)</key>
<dict>
<key>@0,name</key>
<string>ATY,Henbury</string>
<key>@1,name</key>
<string>ATY,Henbury</string>
<key>@2,name</key>
<string>ATY,Henbury</string>
<key>@3,name</key>
<string>ATY,Henbury</string>
</dict>
</dict>
<key>Delete</key>
<dict/>
</dict>
Radeon 6800 Code:
<key>DeviceProperties</key>
<dict>
<key>Add</key>
<dict> <key>PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)</key>
<dict>
<key>@0,name</key>
<string>ATY,Belknap</string>
<key>@1,name</key>
<string>ATY,Belknap</string>
<key>@2,name</key>
<string>ATY,Belknap</string>
<key>@3,name</key>
<string>ATY,Belknap</string>
</dict>
</dict>
<key>Delete</key>
<dict/>
</dict>
Radeon 6900 (設備屬性 Belknap,但使用 Carswell 更好) Code:
<key>DeviceProperties</key>
<dict>
<key>Add</key>
<dict> <key>PciRoot(0x0)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)/Pci(0x0,0x0)</key>
<dict>
<key>@0,name</key>
<string>ATY,Carswell</string>
<key>@1,name</key>
<string>ATY,Carswell</string>
<key>@2,name</key>
<string>ATY,Carswell</string>
<key>@3,name</key>
<string>ATY,Carswell</string>
</dict>
</dict>
<key>Delete</key>
<dict/>
</dict>
測試結果
- 圖形介面正常
- 視窗拖拉放大縮小正常
- GeekBench 5 中的普通 GPU 計算基準跑分正常
刪除 Graphics glitches on desktop
這可能只是緩存的剩餘部分,請依照以下的步驟來做:
- 在 Finder 上按下快捷鍵:SHIFT-CMD-G 出現『前往檔案夾』的視窗。
- 輸入:/private/var/folders 執行,如下圖。
- 尋找一個名為 C 的目錄和一個名為 com.apple.desktoppicture 的資料夾,直接刪除。
- 建立緩存。在終端機下指令:kextcache -i /
使用終端機指令:
sudo rm -rf /private/var/folders/vt/4p4tj3t57nxglwrss3lskxq40000gn/C/com.apple.desktoppicture/
kextcache -i /
結語:
作為以上修正以後,大致上都可恢復之前 macOS 12,1 的標準。