[教學][TB3][eGPU] macOS 全版本 eGPU 外接式顯卡 NVIDIA / AMD 顯卡安裝教學

#Thunderbolt3 擴充計畫

2018 年 3 月, Apple 釋出 macOS 10.13.4 更新,正式支援 eGPU ,正式進入 Thunderbolt 3 大 eGPU 時代。只要你多課金買了 Thunderbolt 3 的 eGPU Box,加上不錯的顯卡,你就可以大大改善 macOS 裝置顯卡都很低規的問題
來源:https://support.apple.com/zh-tw/HT208544

macOS High Sierra 10.13.4 和以上版本中的 eGPU 支援,是要藉由強大的 eGPU 效能來提升 Metal、OpenGL 和 OpenCL app 的速度。並非所有 app 都支援 eGPU 加速
– 新增外接繪圖處理器(eGPU)支援。

此篇有對 AMD 5×00 世代更新,歡迎參考:https://garynil.tw/2020/06/10442/macos-egpu-2020-how-to-choose

任何執行 macOS High Sierra 10.13.4 或以上版本並配備 Thunderbolt 3 的 Mac1,皆支援 eGPU。eGPU Box 都採用 Thunderbolt 3,因為 Thunderbolt 3 的 40 Gbps 傳輸速度與支援直接與 CPU 溝通的 PCIe 通道,所以才能成功擴展外接 eGPU 的強大功能,目前 Apple 推出的裝置支援 Thunderbolt 3 的包括:
來源:https://support.apple.com/zh-tw/HT207443

– MacBook Pro (2016 ~)
– iMac (2017 ~)
– iMac Pro
– Mac mini (2018)
– MacBook Air (2018)

對於旗下裝置,Apple 也有針對 eGPU 列出官方推薦的相容顯示卡產品。不過目前的推薦的產品全部為 AMD 的顯示卡:

AMD Radeon RX 470、RX 480、RX 570、RX 580 和 Radeon Pro WX 7100
AMD Radeon RX Vega 56
AMD Radeon RX Vega 64、Vega Frontier Edition Air 和 Radeon Pro WX 9100

講了那麼多, 其實在 10.13.4 之前,Apple 就在 10.12.6 偷偷實作了 eGPU 的功能(但是給予軟體限制),但是到 10.13.4 才對 AMD 的 eGPU 正式開放。所以我們今天 macOS 篇的教學主要分三類,主要是對應版本記錄教學,以及一些解除 Thunderbolt 限制的方法

  1. AMD eGPU @ macOS ≥ 10.13.4
  2. NVIDIA 10×0 系列前 eGPU @ macOS 10.12.6
  3. NVIDIA 10×0 系列前 eGPU @ macOS 10.13.6

當然這三類少了一些情況:

  1. NVIDIA 20×0 系列顯示卡

    Apple 目前的 eGPU 方案是與 AMD 一起推出 blackmagic 的外接盒;所以陰謀論就是為了顧及市場銷售,Apple 目前以禁止開放 N 家驅動的方式來防止 NVIDIA 家的顯卡來搶奪市場(畢竟比較有競爭力..?)

  2. NVIDIA 10×0 系列前顯示卡 @ macOS 10.14

    同上原因,Apple 目前禁止 NVIDIA 推出新系統版本的驅動,因此 macOS 10.14 mojave 目前是沒有推出對應的驅動的(只推出到 10.13.6,可以經此查詢:http://www.macvidcards.com)

因此目前如果你使用 20 系列 NVIDIA 顯卡,或者在 macOS 10.14 mojave 的使用者,目前是無解的。但如果不是這兩種,其他狀況建議你直接升級 macOS 系統至 10.13.6(穩定),或者換 GPU 廠牌會比較快

本系列的文章主要有四篇,從 eGPU 周邊裝置的開箱說明,雙平台的詳細教學到多平台下同張顯卡的效能比較(究竟平台或者外接的方式會不會降低顯示卡的效能呢?)
如果對於這種土砲實測的實驗有興趣,歡迎訂閱我的知識型網站:garynil.tw

  1. Mac eGPU Box – AKiTiO Node Pro 開箱
  2. Bootcamp Windows 10 eGPU 外接式顯卡安裝教學
  3. macOS 全版本 eGPU 外接式顯卡 NVIDIA / AMD 顯卡安裝教學
  4. 跨平台(macOS / Win / Linux)內接、外擴顯卡大亂鬥,究竟 eGPU 是不是噱頭?(即將發佈)

文章段落:
AMD** eGPU @ macOS ≥ 10.13.4
NVIDIA 10×0 系列前 eGPU @ macOS 10.12.6
NVIDIA 10×0 系列前 eGPU @ macOS 10.13.6
情況 2&3. NVIDIA eGPU 使用上的一些小錯誤

情況 1. AMD eGPU @ macOS ≥ 10.13.4 (~10.14)

簡單來說,你完全不需要做什麼,只需要將系統升級至 10.13.4 之後就可以使用,甚至最新的 macOS 10.14.2 都正常相容

M_A_001

▼ 直接將 AMD 顯卡裝入 eGPU Box 接上 Mac 裝置,便會在選單列出現晶片的圖案代表著你成功連接,並可以透過這個晶片圖示來退出(也是三種狀況中唯一具有這功能的)

M_A_001

▼ 在裝置中也可以成功看到我外接的 RX 580 顯示卡,並成功啟用 Mojave 必備的 Metal
所以對於外接相容性比較要求的使用者,目前狀況下還是推薦使用 AMD 的顯卡來外接

M_A_002

接下來兩種情況相比 Boot Camp 簡單很多,都是透過 scripts 就會自動完成

情況 2. NVIDIA 10×0 系列前 eGPU @ macOS 10.12.6 (~10.9.5?)

準備

  1. eGPU Box – AKiTiO Node Pro + NVIDIA 顯示卡

  2. automate-eGPU(https://github.com/goalque/automate-eGPU)

適用:Thunderbolt 1~3、macOS 10.9.5 ~ 10.12.x(注意:不支援 10.13.x !!! 請跳到情況3
版本:Thunderbolt 1~3 代

  1. NVIDIA 驅動(scripts 自動會下載)

可以參考:

▼ 首先,一定是先關閉 SIP,在 Recovery Mode 中以 csrutil disable 關閉

001

再來,接上你的 eGPU 並開啟 macOS 系統

我們要解鎖 macOS 10.12.x 原生 Thunderbolt 限制以及安裝 NVIDIA 驅動的話要下載執行一個國外開發者寫的 script:Automate-eGPU.sh

s_126_001

▼ 但其實這整個下載並執行的步驟可以透過以下的 bash 指令來簡化成一個超簡單的指令
這指令會自動把 scripts 下載到桌面,並以最高權限設定好 script 權限並執行

s_126_001

▼ 開始執行後,scripts 貼心到會幫你自動偵測並下載好 macOS 對應版本正確 NVIDIA 驅動(macOS 不如 Windows 版本驅動均通用,每一版本的 macOS 有對應的 NVIDIA 驅動)

s_126_004

▼ 並且因為 NVIDIA 顯卡驅動在初始會檢查一些環境 + 硬體設定,一般是無法沒有偵測到顯卡直接安裝。所以這時 scripts 也幫你打好補丁繞過這個檢查機制

s_126_005

▼ 接下來就是自動安裝顯卡驅動並安裝 Thunderbolt 相關的補丁,完成之後,連接著 eGPU 並重新啟動你的 macOS 裝置

s_126_006

▼ 選單列會出現 NVIDIA Web Driver 的圖示,你可以透過這邊打開面板,成功找到你的 eGPU 顯卡資訊(預設都請使用 NVIDIA Web Driver 才是我們自己額外裝的驅動喔!)

s_126_101

而仔細看說明會發現這個 scripts 號稱從 10.9.5 支援至 10.12.6, Thunderbolt 1 是從 10.9.5 後就支援了沒錯(真實性有待驗證)

情況 3. NVIDIA 10×0 系列前 eGPU @ macOS 10.13.x

###準備

  1. purge-wrangler.sh(https://github.com/mayankk2308/purge-wrangler)
  2. eGPU Box – AKiTiO Node Pro + NVIDIA 顯示卡
  3. 適用:Thunderbolt 1~3、macOS 10.9.5 ~ 10.12.x(注意:不支援 10.13.x !!! 請看情況3.)
    顯卡:AMD / NVIDIA 通用
    版本:Thunderbolt 1~3 代
  4. NVIDIA 驅動(scripts 自動會下載)

可參考:egpu.io 教學

▼ 首先,一定也是先進入 Recovery Mode 以 csrutil disable 關閉 SIP
001

▼ 接下來一樣可以透過一行指令來下載、更動 script 權限並以 sudo 執行

s_136_001

▼ 程式開始時會問你這次要執行什麼?這程式超強大包含 Ti82 Thunderbolt 3 晶片解除限制、AMD、NVIDIA 雙廠顯卡支援等等,在這理我們選擇 2. NVIDIA eGPUs

並且透過 scripts 自動安裝 NVIDIA 驅動

註:如果你是 AMD 顯卡又在 10.13.4 前也同樣可以用這 script 解除封印,不過直接升級 10.13.4 後系統相容會更簡單啦

s_136_003

▼ scripts 下載你系統對應的 NVIDIA 驅動後,可以提供幫你打補丁來繞過 NVIDIA 驅動一開始沒辦法抓到 eGPU 顯卡卻又不讓你安裝的錯誤
s_136_004

▼ 最後一步則是透過 scripts 內建的另一個補丁來繞過 macOS 不全面支援所有 Thunderbolt 裝置的 Ti82 晶片限制。完成後一樣連著 eGPU 並重新啟動 macOS 系統(同 KhaosT/tb3-enabler 用途)
s_136_005
s_136_006

▼ 這樣就大功告成了!選單列會出現 NVIDIA 的圖示(一樣選擇使用 NVIDIA Web Driver 是我們後來安裝的 NVIDIA 驅動)
s_136_007

▼ 進入系統偏好設定後,在欄位中可以看到偵測到我們安裝的 eGPU 顯卡:GTX 1080 Ti

s_136_008

▼ NVIDIA 顯卡也支援 Metal 呢!
s_136_010

情況 2&3. NVIDIA eGPU 使用上的常見錯誤集

1. 為何 macOS 成功偵測到 eGPU,外接螢幕卻黑畫面沒有反應?

▼ 這很簡單,你只需要登出現在的使用者,讓系統重置相關的設置,登入後就會有畫面了s_136_010

2. 支援熱插拔嗎?

不支援,甚至其他 Thunderbolt 3 孔的周邊裝置(USB Type-C)在重開機前不能任意插拔;eGPU 需要等關機再拔除,這點非常需要注意

3. 遇到不明錯誤

因為 macOS 裝置百百種,甚至同一年份同一系列的裝置 Thunderbolt 3 規格及配置都不一樣。本篇教學不是萬用的,但是是推薦的方式去 egpu.io 的 build guide 找尋國外網友與你相同的配置,看網友的經驗是怎麼操作的(不過建議要多看幾篇,有些人都亂寫…)

Posted in Dev