Hackintosh 2022 雜談

因為一些私事,最近一年來都沒有更新 IT 方面的東西,然後發現 MacOS 都已經出到 Monterey 也就是所謂的 12 版,我居然還在用前前代的 Catalina。雖說 Hackintosh 末日將近,接下來(應該)還是會利用一些時間來寫點雜談,話題可能會有:

1. 是該將 Clover 改成 OpenCore 了

但是 OpenCore 的設定,地雷非常多,trouble shooting 表面上的難度會比 Clover 高很多。

2. 從 Catalina 到 Big Sur 再到 Monterey

很不幸地,在改版的過程中,至少有兩個狀況會害死人:XHCI Port Limit Patch 失效與 APFS Trim Timeout 問題。

3. 昨是今非的硬體建議指南

隨著 Big Sur 後繼 Monterey 的出現,一些 Catalina 舊時代所推薦的零組件,包括 SSD 及 WiFi 擴充卡,也都慢慢出現新的相容性問題,使用者不得不忍痛更換這些零件。

4. 該不該現在就投資買 Apple M1 晶片的主機呢?

這個是很現實的問題,明明知道 Apple 矢志在未來七年間將完全放棄 Intel 晶片,那還否還要繼續投資時間或金錢在 Hackintosh 上面?

5. 或者說,是否該放棄 Hackintosh 了?

很搞笑的是,我十年前或更早期購買的主機板,範圍包括了 P55, P67, Z77 這三代晶片組及 CPU,到今年 2022 年居然都還能穩定運行(當然,站在安全性角度,是不建議再使用了),甚至去年前年還能順利安裝 Catalina 或 Big Sur 來測試及練習 OpenCore 設定。

不過以上雜談不保證會出版哦,哈哈。

老狗需要新工具【之二】:攜帶型KVM,或稱 USB Crash Cart Adapter

 (雖然我很想接業配啦,可惜我還是小咖⋯⋯所以以下有提到的產品,我現在手上一個都沒有,還請各位看了以後,自行判斷與評估)

上一篇我們提到了,HDMI 螢幕要接 VGA 主機,最難克服的就是這個 VGA to HDMI 轉接器搞不定 text mode 720x400@70Hz 的解析度,畫面也就無法正常顯示了。這種解析度可能會出現在 BIOS setup,Intel RAID Manager,甚至是 Linux installation (text mode);或是如果你有在玩骨灰級 DOS 遊戲加上古董級顯示卡時也可能會遇到。

那先不管接螢幕的問題,我們把需求重新整理一下。如果只是為了維護設備(進BIOS、文字模式下安裝OS)這個用途,那還有另一種方向可以尋找適合的產品:KVM設備。

KVM Switch 雖然字面上定義叫「Keyboard/Video/Mouse」也就是「Console 切換器」,但因應懶人需求,早就有了所謂 KVM over IP 的產品,也就是IT苦命人管理者可以透過網路來操作 KVM 設備。我在窮人公司時期,買不起品牌機設備,自然也不會有 iLO、DRAC 或 IPMI 這種遠端管理工具。如果有個 KVM over IP 的產品,那就可以輕鬆坐在辦公桌前操作「非OS」情況下的設定,而不用真的跑進機房罰站了。不過 KVM 的缺點就是會多出一大堆線,機櫃後面將會非常非常亂⋯⋯如果公司有比較賺錢了的話,長遠來看,最好還是買個品牌機並認真接上IPMI類的管理埠,逐步把這些機房用的KVM趕快淘汰掉。

但如果不得不進機房處理主機,又或者你要幫桌上的設備設定些什麼,不巧手邊又沒有 VGA 螢幕,怎麼辦?同樣的概念,我們可以喊出 KVM over USB 的需求⋯⋯看來我脫離前線太久了,這種產品似乎也早就有了。有了這種東西,我們就可以只帶 notebook,省下另外再帶隨身螢幕及鍵盤的力氣啦!

目前我找得到在台灣還算容易買到是:

  • 在台灣可以直接買到的是 ATEN CV211 大概是賣9000台幣上下吧。看起來支援度比較差些,原廠主要只提供 Windows 應用程式來操作這顆 KVM。規格上雖然有講到「也支援 MacOS 10.15 以下」,但說明書找半天就是沒教你怎麼弄,猜想是自己要想辦法搞定那兩隻 jar 程式?但我手上沒實品也不能和大家分享就是了。IT人雖命苦,但是用 Mac 的人可不少呀⋯⋯
  • 信用卡勇敢拿出來在 Amazon 刷下去就可以買到的是 StarTech USB Crash Cart Adapter 有兩個型號可選。(註:台灣習慣叫 Console 車,在國外則是叫 Crash Cart)。這看起來支援度比較廣,原廠對 Windows/MacOS/Linux 都有提供操作軟體,使用者可到官網下載最新版。這隻要買到的代價會比較高些,要三百多美金,但它有符合 Free Shipping to Taiwan 的條件,運費可以省下來,只要再預付一點關稅(不到20美金)就搞定了。
  • 在 Amazon 上還有 IOGear 及其他台灣比較不熟的牌子也是有出啦,但也都要三百多美金就是了,但因為不是由 Amazon 出貨,想買的話,跨國運費就會有點驚人。
雖然花台幣九千到上萬這代價看似很高,但如果我們回顧一下:隨身螢幕+鍵盤滑鼠+VGA轉HDMI轉接器及線材等等加總起來,似乎也會落在七八千塊吧,而且身上就還得多背這一堆設備進出機房,含保護手提包一起粗估也要2kg以上。那橫竪大家 notebook 都一定會帶的呀,只要再加上 USB Crash Cart Adapter 這種更輕便的工具,就可以做到一樣的事了(按:我的習慣剛好相反就是了,會先推 Crash Cart 接上一台主機,再看需求進行操作,反而打開 notebook 的情況非常少)。相比之下,我覺得買個攜帶型KVM,也是不錯的投資,最好是可以請公款買啦,哈哈。但考量到VGA接頭的插拔損耗(君不見console車中十台有八台的VGA針腳都是歪的或斷的),我建議再多買一小段 VGA 延長線套接上去,好好保護這個有點貴的投資。

老狗需要新工具【之一】:VGA to HDMI 轉接器

【2021/8/27更新】如果覺得下面一堆碎念看起來超麻煩,又捨得花個萬把塊錢解決問題的人⋯⋯那請直接看下一篇哦。

為了看到這個畫面,我花了不少時間做 trouble shooting


現在大多數的電腦應該都是搭配純 HDMI 顯示器了,頂多高檔一點再給你個 DisplayPort,甚至是 Type-C(其實也是走 DisplayPort 協議)。

無奈老狗手上還是有些青銅器時代的 1U server(雖說它當年可厲害了),它完全只有 VGA 輸出⋯⋯好吧,其實現在即使是最新的 server 也都是配 VGA 埠啦。這下可麻煩了,於是在老狗翻出這些古董後,也只能開始尋找新的小物:VGA 轉 HDMI,但是⋯⋯

各位如果也像我有這需求的話,請注意這些轉接器都有一個通病,就是廠商根本忘了有 60Hz 以外的 refresh rate。像是 BIOS 中的 Intel RAID Manager,以及一些 Linux 安裝時的文字模式,都可能會用到 720x400@70Hz,這些轉接器全數出局了;包括一些可攜式 HDMI 螢幕雖然額外提供了 VGA-in 埠,但若仔細看它的規格也會發現:完全沒有 60Hz 以外的解析度模式啦。這應該是關係到 video converter 的設計簡化,或是 firmware 完全忽略了其他VGA模式與頻率了。所以我接了這些轉接器或 VGA-in 還是看不到 720x400 的畫面⋯⋯失敗。

後來找了半天,發現有標註「720x400@70Hz」的簡易轉接器簡直比日本的壓縮機還要稀少。目前我又已經測過一款480元的了,不行啊,這令我感覺它在賣場中的文案只是找別家 ctrl-c & ctrl-v 上去的(真懷疑廠商自己有沒有實測過,而這種東西用貼牌的可能性頗高)。只好再度展開一個一個測試的生涯了,或是打幾通電話問問看那些專做機房用品的廠商有沒有適合的產品。

以下整理一些我測試 720x400@70Hz 訊源的結果,先列出不成功的組合:

  • 使用 1102H 的 VGA 輸入:螢幕會持續出現 Screen Booting 的訊息,無法顯示畫面。若把線拔掉再想辦法看 menu,會發現到解析度資訊 720x400 0Hz 的奇怪結果。
  • 使用 U3014 HDMI 輸入:之前已經測過兩顆不同廠牌,外型也大不相同的轉接器,都失敗,完全無畫面。一顆是「HAGiBiS VHC01」外型很不錯,另一顆則長類似這種:
    但聽網友分析說,即使內部拆開看也長得一模一樣,但可能因不同firmware而產生出現不同結局。他的2019年版就OK,而2016年版就KO⋯⋯
再來是列出成功(但不一定理想)的組合:
  • 2021/8/26更新:問過五角科技了,和業務聊了半小時,覺得希望不大,先別亂花錢試。
  • 2021/8/27更新:接著用了兩顆長得類似的(其中一款是 伽利略 VGATHD,另一款沒牌子也沒型號),都可以在我的U3014上跑出畫面,但是解析度不正確,看到都是640x416@70Hz,畫面除了有雜紋出現,下面也會多出空白(可看到右下方的 n 字離邊界還有一行的空間):
  • 2021/8/27更新:接著用圓剛的 ET110,在我的 U3014 上畫面穩定無雜紋,解析度也正確為 720x400@70Hz,比較上圖的話,文字的最後一行也能準確出現在面板最下方的邊界。很可惜因為這顆轉接器沒有 scaler 功能,不會幫你轉成 HDMI 通用的 720p60 或 1080p60,我改接到 1102H 的 HDMI 埠時還是無畫面。所以如果你的螢幕也只能吃 60Hz 的話,這顆一樣也不能用。在搭配上還是得慎選。

基於目前還沒找到理想的轉接器,我自己測的結果都會陸續補充上去。

也整理一下之前爬文的結果,有網友保證能用的大概是(都蠻貴的,一百美金/歐元起跳):

  • Opensource Scanconverter 大概是最開放(如字面意思)的轉換器,幾乎什麼古董訊源都能轉。
  • Extron RGB-HDMI 300A 雖然預設輸入模式不支援 720x400@70Hz,但是經由手動設定訊源參數後,就可以用了。不過這可是200美金等級的產品呀。
  • 其他類似上面 Video Scaler+Converter 可以讓使用者手動調參數的,應該都有能力處理才對。參數設定可參考這個 VGA Timing 表
  • 註:以上都是參考 某骨灰級遊戲論壇 這個討論串而來的。
有些看起來很厲害的(包括價格看起來也很厲害),例如 startech.com 的產品,很多網友實測也都不成功。也就是說,即使是30美金(1000台幣)以上的產品,也不見得比15塊美金(500台幣)以下的更有機會能用,大家半斤八兩。即使來到100美金以上的,也還是不見得能用。原因可能如下:
  • 10塊美金等級的,有些廠商管它叫「bypass」型的,也就是沒有 scaler,只做類比轉數位,不做解析度提升,也不做升降頻的動作。非 60Hz 的部份在送出(如果會的話)給 HDMI 時就不被螢幕所接受,或是解析度太低也不被 HDMI 螢幕所接受,自然是看不到畫面。【2021/8/27更新】我的螢幕 U3014 雖然沒有 VGA 輸入,規格上卻有支援到 720x400@70Hz 等DOS時代解析度,而在試過例如圓剛的 ET110 轉接後也證實是可用的。可是這 ET110 一顆一千塊台幣,不便宜呀,沒有這種結局會令人很失望的。
  • 30塊美金等級的,可能會有 scaler 處理,有些廠商管它叫「定頻」型的,也就是輸出只做在 720p/60Hz 或 1080p/60Hz。雖然在輸出方面可以得到最理想的支援度,但幾乎確定只會處理標準 60Hz 的 VGA input 訊號,這應該是 scaler 晶片的自宮式限制(或firmware工程師不想努力了),不然無法壓低成本。
  • 或是已在 amazon 賣場上詢問,得到官方確認「不支援720x400」了。如果不死心想在 amazon 上挖寶,請記得善用售前詢問的權利,不然退貨回美國還蠻浪費地球資源的。
  • 切記:即使是兩三百美金級的 scaler,只要不給你自定輸入參數,應該是都沒機會支援 720x400@70Hz。因為這麼貴的轉換器,它的用途通常是播放設備輸出用的,並不是給我們這些苦命IT人進機房救設備用的;而且這些 scaler 都蠻大台的,不適合攜帶。
  • 2021/8/27更新:同一個骨灰級遊戲論壇的另一篇討論 也是不錯看的。開討論串的法國網友雖然已經買了OSSC,但他很有實驗精神地又在阿里巴巴買了不少便宜的 converter 測試(所以說沒事別得罪我們這些骨灰級瘋子玩家)。我想我也會開始做類似的事,只是我會先在台灣的購物網站上亂抓一些來試,不想一開始就往阿里巴巴找,這不是我習慣的事。

所以說⋯⋯錢不是不值得花,但是我需要的是可攜式工具。多年前是方電訊內湖機房火警,我就帶了自己的隨身式 VGA 螢幕(那時還不流行業配,哈哈,在此就不寫廠商名稱了)和小鍵盤,這樣就不用和盛況空前的「災民」人潮搶那一層樓只有三台的公用 console 車,我人一到場馬上就能開始處理自己負責的設備。如今時代變遷,我那台VGA螢幕也老了,想說也該換新的了,誰知前天在24H買了一台新的隨身螢幕,開箱使用後才注意到這個嚴重的眉角。

如果你已知有哪一顆轉接器適合用的,拜託一定要留言分享,感謝!

Work From Home 的一些個人準備:前言

最近因為疫情的關係,很多企業或機關(包括學校等)不得不改變工作型態,開始分配了一定比例的員工輪流在家工作(Work From Home,以下簡稱 WFH)。

可是最大的問題在於,絕大部份的人都沒有這樣的準備,甚至有些人家中是沒電腦的,或是家中的電腦無法應付辦公需求。這可以分為幾個面向來討論(檢查):

  • 沒有足夠的資源來運行辦公軟體:通常是因為家中電腦老舊,硬碟、記憶體不夠大、CPU不夠快等等。但如果只是要透過遠端來執行辦公室的電腦,這個問題就不大。需要汰換電腦的話,通常公司老闆是不會因為WFH就為你買單的,看樣子也只能自掏腰包解決了。幸好現在新電腦都很便宜啦,這個投資算是值得的,你至少沒有因此丟了工作。已經有不少行業因「三級警戒」(行動限制令)太久就倒閉了,例如餐飲業等等。

  • 沒有足夠的頻寬來執行工作:通常會遇到的狀況就是家中同時不只一人也要 WFH,只要家中的 Wi-Fi 沒有最佳化(擺放的位置不理想造成無線收訊不佳,或 Wi-Fi 的規格老舊等等),常常都會覺得慢、網頁載入不順等等。至於寬頻上網的頻寬不足,也蠻容易覺得網路卡卡的。一般人不容易判斷是哪個環節出問題,但有些真的只是因為 Wi-Fi 設備位置不佳,或例如「手機上網吃到飽+熱點」絕非長時間用於辦公的上網方案。要排除這麼多可能性,加上對 Wi-Fi 又不太懂的話,最保險的方法當然就是「不管什麼,都給我走有線的」就對了,不要用 Wi-Fi,更不要用手機熱點上網,還有就是別怕「有線」很醜⋯⋯拜託,公司都快倒閉了你還給我煩惱這個?

  • 辦公室與家中(檔案)資料的同步問題。在此建議「儘量」別用免費的雲端同步服務,例如有些人總以為用 Google Drive 就解決了,但是⋯⋯免費的最貴。別忘了幾年前一堆人喜孜孜地想出「利用 Google 相簿」來節省手機的儲存空間,結果呢?再次提醒,Google 是最會「養套殺」的公司,免費的東西推行一段日子後,要嘛就是收掉服務(再見了 G+,要嘛就是開始收費。天下沒有白吃的午餐,加上你的用途又是為了賺生活費⋯⋯別再捨不得花錢租服務啦。好吧,有些人是打死不碰「雲端服務」,沒問題,就用老方法:隨身碟,也是可以的。當然啦,如果你的公司允許你帶 Notebook 上下班,走到哪都是你的辦公室,那這樣的社畜也就沒有什麼同步的需求啦。

以上問題其實都好解決。真正的考驗是,你準備好面對「勒索軟體」的威脅了嗎?你準備好面對「資料全毀」的緊急狀況了嗎?

MacOS Catalina 與 Big Sur 的重大差異:VMWare Fusion 的 VM 效能差太多

今天開這篇主要是想說,Big Sur 運行 VMWare Fusion 12 真的太慢了。

因為個人有在玩一些小遊戲,會使用 Android 模擬器「多開」,但是這些模擬器在 Mac 上都不能多開,所以很久以前我就用了 VMWare Fusion 跑 Win10 然後再跑 Windows 版的 Android 模擬器(繞口令?其實就「巢狀虛擬化」啦;通常 Android 模擬器都是基於 VirtualBox 運作的)。

總之,在最近試玩 Big Sur 好幾天後,實在是搖頭。我的實驗組設備已經算是不錯的了,Z370 主機板配 i7-8700 六核心配 64GB DDR4-2666 記憶體,以及 NVMe SSD 混搭 SATA SSD。但在 Big Sur 與 Fusion 12 的「加持」下,效能簡直和我之前用 Z77 主機板配 i7-3770 + 32GB DDR3 + SATA SSD 差不多,都會令 Android 模擬器遇到一些意外狀況(遊戲畫面會呆掉、卡在登入、選單消失等問題)。一開始試玩 Big Sur 一直以為是週邊的性能不太夠,但換來換去的結果都差不多慘?我有另外兩台對照組是 i9-9900k 跑 Catalina + Fusion 12 明明都很好啊。

最後火大砍掉重練,Catalina 回歸後,喂,跑得很順啊。

我不知道是不是因為 Big Sur 的安全性又更提高了,還是針對 Hackintosh 有做了什麼手腳,所以導致 VM 的效能再度大打折扣,例如 Big Sur + Fusion 12 預設會開啟一個「side channel mitigations」的選項,這個在 Catalina + Fusion 12 是沒有的。

另一個比較早先的實驗組也很有趣。配置是:Z77 主機板配 i7-3770 跑 Big Sur,但是我用了 Parallels Desktop 16 來弄 Android 模擬器多開。哇塞,好順啊。但是 Parallels 的授權方式是一台機器就要買一個序號,不像 VMWare Fusion 是個人用途允許多台設備只用一個序號(Fusion 12 Pro 有限制三台「Apple Branded」(咦⋯⋯那 Hackintosh 呢⋯⋯)。

結論?口袋深的 Hackintosher 就用 Big Sur 搭配 PD,沒錢的就用 Catalina 搭配 Fusion 來跑 Windows+Android多開模擬器。

CACTI 與 2020/9/13

正確地來說,是 unix timestamp = 1600000000 這件事。

CACTI 在檢查 graph start/end 日期與時間時,把檢查 timestamp 的公式寫死在程式碼中了,1600000000 就這樣變成 timestamp 的上限值。這在 2001 年 CACTI 誕生時是沒問題的,可是沒想到大家一用就是19年過去了,這個 BUG 才在上個月讓大家「同時」遇到。

細節的部份請大家看:

Unix timestamps after Sep 13 2020 are rejected as graph start/end arguments

Timestamp BUG #3798

雖然官方其實早在半年前就更新了⋯⋯但如果你的系統不方便升級 CACTI 版本的話(很多人都是這樣的,所以才會現在一大堆人也遇到),就手動改吧,改法就照上面第二個連結教的:

1. 如果你 CACTI 目錄下有 graph_json.php 這隻檔案,那就是用 vi 修理它,找出 1600000000 這個字串,會有兩個地方有(分別用來檢查 graph_start 與 graph_end 變數),把它們都改成 2600000000 就能將這個 BUG 的發作時間延後到 2052/5/22 了。

2. 如果你 CACTI(通常是 0.8.x 版)目錄下有 graph_image.php 與 graph_xport.php,就抓這兩隻程式來修理,照上面的改法。

至於官方的改法也很妙,就只是把這個常數拉到 include/global_constants.php 定義成 FILTER_VALIDATE_MAX_DATE_AS_INT,但這樣做(目前是定義 2088385563)一樣只是把 BUG 發作時間延到 2036/3/6 呀⋯⋯

總之,不管是哪個改法,請把上面對應的日期加到你的行事曆吧。