1. 程式人生 > >MAC OS X10.9.5下成功驅動獨立顯示卡"影馳Nvidia GeForce GTX 760大將(4GB)--非公版"

MAC OS X10.9.5下成功驅動獨立顯示卡"影馳Nvidia GeForce GTX 760大將(4GB)--非公版"

我的機器是桌上型電腦(自己組裝的),硬體引數如下:

作業系統        Windows 7 旗艦版 64位 SP1 ( DirectX 11 )
        
處理器        英特爾 Core i7-4770K @ 3.50GHz 四核
主機板        華碩 Z87-PRO (英特爾 Haswell)
記憶體        8 GB ( 金士頓 DDR3 1778MHz )
主硬碟(混合硬碟:帶8G SSD的機械式硬碟)        希捷 ST1000DX001-1CM162 ( 1 TB / 10000 轉/分 )
顯示卡        Nvidia GeForce GTX 760 ( 4 GB / Nvidia )
顯示器        通用非即插即用監視器
音效卡        瑞昱 Realtek @ 英特爾 Lynx Point 高保真音訊
網絡卡        英特爾 Ethernet Connection I217-V / 華碩

製造商        華碩
        
無線網絡卡        Atheros AR9462 Wireless Network Adapter
製造商        華碩

我的獨顯相關引數可以百度下,簡單介紹如下圖(功能比公版要強大,所以設計上有區別):


在初次安裝黑蘋果時,我遇到了很多困難,其他的都還好搞,最頭疼的就是顯示卡了。想想當初爬帖2月,最後還是放棄了,真可怕,每晚上都搞到2點左右,有時更晚,實在是太累了。放棄也是無奈之舉。

昨晚趁著週末,把Mac10.9.5給裝上了,隨便在論壇裡問了句有沒有人能驅動我的這塊獨顯,遇到一個熱心人,看著他超級自信的樣子,我就嘗試再來一次好了(雖然我並不看好他)。

他給了我兩個工具包,一個是WebDeriver,另一個是Hackintosh Vietnam Tool 1.7.6.pkg,不過他教我的方法我以前都嘗試過的,唯一的不同的是這次安裝了webDeriver。

按他的指導,我試了一直都不行,不是卡在"IOBluetoothHCIController...."就是卡在"vm swap subsystem is on", 事實證明,這個與藍芽驅動沒有半毛關係,否則為什麼用核顯時能進入系統,而用獨顯卻不行呢?他們用的藍芽驅動總是同一個吧!

最後把能試的方法都試了下,還是跟折騰2個月的時候一樣的情況,沒有一點進展。

最後我到nVidia的官網上去看了下,發現有個驅動下載的地方,但是在選擇作業系統時,根本沒有mac系統一項,所以自然不能用了。幸好在http://www.nvidia.cn/Download/index.aspx?lang=cn看到了下圖:


但是這個是針對CUDA的,我一時也不明白什麼是CUDA,但是百度了下,大概明白了一點,而正好前天晚上跟一個群友在討論各自的顯示卡時正好看到過“cuda”這個詞,我的顯示卡正好是支援cuda,於是立馬下載並安裝,然後重啟。My godness, my spring is coming, 輕輕鬆鬆地進了系統,於是立刻開啟“關於本機”檢視顯示卡資訊,但是顯示的是"0 MB",奇怪了。

在獨顯沒驅動時是無法進入系統的,但是我現在卻進來了,那豈不是應該驅動了嗎,但為什麼還是“0 MB”呢。回想自己第一次想驅動獨顯時曾經修改過DSDT,當時計算過,我的顯示卡是4GB, 用十六進位制表示正好是" 0x01,00,00,00,00"(整數表示,加逗號只是為了方便閱讀),  而取後面4個位元組的話,豈不正好是0(這正如程式設計開發中的資料截斷一樣,一個uint最大隻能表示0xFFFFFFFF)?!!==》於是我先試了下播放視訊的效果,沒有問題,一點都不卡。於是開啟Clover Configuration工具,載入config.plist檔案,再修改VRAM,寫上4096(我相信單位是MB),儲存再重啟,還是顯示0 MB。沒關係,4096MB取末4位元組的話,本來就是0,那我如果寫上4095, 那4個位元組不就能表示了嗎,所以這回總不會再被“截斷”了吧,哈哈,修改->重啟,再看關於本機,真的OK了,成功顯示4095MB, 與預料的完全一樣。

到此,可以確定獨顯是驅動成功了,於是在網上找了2個顯示卡測試軟體,一個是gpuTest for mac,但是跑起來後提示“無法初始化gpuTest”,讓我去看日誌,因為找不到日誌就沒看。果斷使用另一工具測試,試了各種測試demo,一切正常,沒有出現卡的情況,還看到了一些測試3D的demo,效果非常好。我的4GB獨立顯示卡終於驅動了,太開心了。

現在回頭想想,我這次的成功,關鍵原因在哪裡呢?我原以為是因為同時裝了webDerive和cuda驅動,可是事實證明可能不一定是吧,這個反正我不確定。請聽我慢慢說來。

目前進的這個系統是Mac10.9.5, 確實是同時裝了webDerive和cuda驅動的,但是我另二個mac10.9.3是沒有安裝這兩個驅動的,後來也都輕鬆地通過獨顯進入系統了,這又怎麼解釋呢?其中一個mac10.9.3與mac10.9.5是在同一塊硬碟上的,另一個卻是在另一塊硬碟上的!

這樣的事實,我認為唯一合理的解釋就在於config.plist了,因為只有這個檔案是進任何一個mac系統都會被clover載入的。而這個config.plist與我最初的相比,只是多加了一個<key>FBName</key><string>NVDA</string>和VRAM, 其他的引數並沒有作更改。

如果非要證明驅動這個獨顯與什麼有關的話,只有另找一塊乾淨的硬碟來測試了,可是我已經沒有這個心情了,等下次買了SSD再說吧,哈哈。經驗分享就到這裡吧,我目前完整的config.plist內容如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
	<key>ACPI</key>
	<dict>
		<key>DSDT</key>
		<dict>
			<key>Debug</key>
			<false/>
			<key>DropOEM_DSM</key>
			<false/>
			<key>Fixes</key>
			<dict>
				<key>AddDTGP_0001</key>
				<true/>
				<key>AddHDMI_8000000</key>
				<true/>
				<key>AddIMEI_80000</key>
				<true/>
				<key>AddPNLF_1000000</key>
				<true/>
				<key>DeleteUnused_400000</key>
				<true/>
				<key>FIX_ACST_4000000</key>
				<true/>
				<key>FIX_ADP1_800000</key>
				<true/>
				<key>FIX_RTC_20000</key>
				<true/>
				<key>FIX_S3D_2000000</key>
				<true/>
				<key>FixAirport_4000</key>
				<true/>
				<key>FixDisplay_0100</key>
				<true/>
				<key>FixFirewire_0800</key>
				<true/>
				<key>FixHDA_8000</key>
				<true/>
				<key>FixHPET_0010</key>
				<true/>
				<key>FixIPIC_0040</key>
				<true/>
				<key>FixLAN_2000</key>
				<true/>
				<key>FixRegions_10000000</key>
				<true/>
				<key>FixShutdown_0004</key>
				<true/>
				<key>NewWay_80000000</key>
				<true/>
			</dict>
			<key>Name</key>
			<string>DSDT.aml</string>
			<key>ReuseFFFF</key>
			<false/>
		</dict>
		<key>DropTables</key>
		<array>
			<dict>
				<key>Signature</key>
				<string>SSDT</string>
				<key>TableId</key>
				<string>Cpu0Ist</string>
			</dict>
			<dict>
				<key>Signature</key>
				<string>SSDT</string>
				<key>TableId</key>
				<string>CpuPm</string>
			</dict>
			<dict>
				<key>Signature</key>
				<string>DMAR</string>
			</dict>
		</array>
		<key>HaltEnabler</key>
		<true/>
		<key>SSDT</key>
		<dict>
			<key>DropOem</key>
			<false/>
			<key>EnableC6</key>
			<true/>
			<key>Generate</key>
			<dict>
				<key>CStates</key>
				<true/>
				<key>PStates</key>
				<true/>
			</dict>
		</dict>
	</dict>
	<key>Boot</key>
	<dict>
		<key>Arguments</key>
		<string>dart=0 nvda_drv=1</string>
		<key>DefaultVolume</key>
		<string>MacHDD</string>
		<key>Legacy</key>
		<string>PBR</string>
		<key>Log</key>
		<false/>
		<key>Secure</key>
		<false/>
		<key>Timeout</key>
		<integer>5</integer>
		<key>XMPDetection</key>
		<false/>
	</dict>
	<key>Devices</key>
	<dict>
		<key>Audio</key>
		<dict>
			<key>Inject</key>
			<string>No</string>
		</dict>
		<key>FakeID</key>
		<dict>
			<key>ATI</key>
			<string>0x0</string>
			<key>IMEI</key>
			<string>0x0</string>
			<key>IntelGFX</key>
			<string>0x0</string>
			<key>LAN</key>
			<string>0x0</string>
			<key>NVidia</key>
			<string>0x0</string>
			<key>SATA</key>
			<string>0x0</string>
			<key>WIFI</key>
			<string>0x0</string>
			<key>XHCI</key>
			<string>0x0</string>
		</dict>
		<key>USB</key>
		<dict>
			<key>AddClockID</key>
			<true/>
			<key>FixOwnership</key>
			<true/>
			<key>Inject</key>
			<true/>
		</dict>
	</dict>
	<key>DisableDrivers</key>
	<array>
		<string>Nothing</string>
	</array>
	<key>GUI</key>
	<dict>
		<key>Hide</key>
		<array>
			<string>Windows</string>
			<string>BOOTX64.EFI</string>
		</array>
		<key>Language</key>
		<string>zh_CN:0</string>
		<key>Mouse</key>
		<dict>
			<key>Enabled</key>
			<true/>
			<key>Mirror</key>
			<false/>
			<key>Speed</key>
			<integer>8</integer>
		</dict>
		<key>Scan</key>
		<dict>
			<key>Entries</key>
			<true/>
			<key>Legacy</key>
			<false/>
			<key>Tool</key>
			<true/>
		</dict>
		<key>Theme</key>
		<string>black_green</string>
	</dict>
	<key>Graphics</key>
	<dict>
		<key>FBName</key>
		<string>NVDA</string>
		<key>Inject</key>
		<dict>
			<key>ATI</key>
			<false/>
			<key>Intel</key>
			<false/>
			<key>NVidia</key>
			<true/>
		</dict>
		<key>InjectEDID</key>
		<true/>
		<key>VRAM</key>
		<integer>4095</integer>
	</dict>
	<key>KernelAndKextPatches</key>
	<dict>
		<key>AppleRTC</key>
		<true/>
		<key>AsusAICPUPM</key>
		<true/>
		<key>KernelPm</key>
		<true/>
		<key>KextsToPatch</key>
		<array>
			<dict>
				<key>Comment</key>
				<string>External icons patch</string>
				<key>Find</key>
				<data>
				RXh0ZXJuYWw=
				</data>
				<key>Name</key>
				<string>AppleAHCIPort</string>
				<key>Replace</key>
				<data>
				SW50ZXJuYWw=
				</data>
			</dict>
		</array>
	</dict>
	<key>RtVariables</key>
	<dict>
		<key>LogEveryBoot</key>
		<string>10</string>
		<key>LogLineCount</key>
		<integer>3000</integer>
		<key>MountEFI</key>
		<string>YES</string>
	</dict>
	<key>SMBIOS</key>
	<dict>
		<key>Trust</key>
		<false/>
	</dict>
	<key>SystemParameters</key>
	<dict>
		<key>InjectKexts</key>
		<string>Detect</string>
		<key>InjectSystemID</key>
		<true/>
	</dict>
</dict>
</plist>

希望能給與我擁有同樣型號顯示卡的朋友一點啟示吧。總結起來,如果只與config.plist有關的話,那麼可以不用安裝web deriver和cuda驅動!可以先用與我同樣的配置試下,至於我那個FBName的值是從哪裡來的呢,我是通過前面那個工具裡的“DPCIManager.app”看到的,如圖:


還真得好好感謝那位熱心人,雖然最終是靠我自己解決的,但是如果沒有他的自信,我可能不會再一次折騰這個獨顯,呵呵。God bless you!

略微總結下安裝步驟好了,雖然不一定完全要遵從這個:

1. 安裝WebDriver驅動

2. 安裝“針對Mac的NVdia CUDA驅動”(確保你的顯示卡支援CUDA)

3. 通過clover configuration作適當配置,填上FBName和VRAM

4. 重啟,驗證下是否成功驅動了!

Hackintosh Vietnam Tool 下載地址: