Nvidia 系列 Mac显卡驱动讲解
最新情况,新的12C2043版本中N卡无需再添加ID,推荐用10.8.x无法搞定独显的童鞋升级
复制代码
具体修改哪一个取决于你显卡的核心
Mac下查看自己显卡ID的方法:关于本机>更多信息>系统报告>图形卡/显示器>设备ID
现在我们看看NVDANV50Hal.kext、NVDAGF100Hal.kext和NVDAGK100Hal.kext中包含的ID
NVDANV50Hal.kext复制代码NVDAGF100Hal.kext复制代码NVDAGK100Hal.kext复制代码参照VooD的帖子
类似&0xffc0ffff的意思如下
As far as I understand in those docs:
F means = keep the same, and //该处对应数字保持和前面的值相同
0 means = any value. //该处对应数字可以为任意值
If I trust the first post and the mask are tolerency based it would be:
F = no tolerancy, the number has to be the same.
0 = full tolerancy, the number can be any.
E = the value can be +/- 1 //该处对应数字保持和前面的值相同或相差1
D = the value can be+/- 2 //该处对应数字保持和前面的值相同或相差2
C = the value can be +/- 3, etc...//该处对应数字保持和前面的值相同或相差3,以此类推
也就是说
对照着Nvdia核心列表我整理出了一点用于台式机的显卡资料
可能会有疏漏,还请各位自己对照
笔记本显卡或专业卡用户,还请自行搜索
友情提示:页面搜索command+f(PC键盘上Alt+F或是win+F)
费米核心:
开普勒核心:
如果你的显卡ID不在列表中(列表不限于我找到的ID哈),可以直接在原来的ID上修改
我们以GT520为例,ID是0x1040不在上面支持的列表中。
以下操作在mac中完成
我们打开系统/资源库/Extensions
在其中找到NVDAGF100Hal.kext(因为GT520的核心是费米核心),拷贝到桌面上
在NVDAGF100Hal.kext上点击右键>显示包内容 找到相应的参数 修改
其中N卡驱动版本:GeForce 8.6.22 304.10.20f04
比之前的版本要新很多
下载地址:
游客,如果您要查看本帖隐藏内容请回复
在SL10.6和Lion时代,Nvdia的显卡是非常容易驱动的
- 1.<key>GraphicsEnabler</key>
- 2.<string>Yes</string>
但是,在ML时代,众多坛友反应原来的驱动方式失效
为此,我特意查看了论坛中成功的案例,总结了一点心得,写下来和大家分享
本文的kext使用的是10.8.2版本,其它版本可能有所不同不能通用
驱动显卡的两个条件:
- Mac的驱动支持你的显卡
- 显卡能够让Mac识别到
针对第一点,我们的做法是查看Mac的Nvdia驱动里有没有你的显卡ID
针对第二点,则需要借助变色龙/dsdt/Nati.kext/Nvenabler64或是EFIString
GK核心(即开普勒核心)不需要第二点,务必不要加变色龙参数
基础知识
我们打开 系统>资源库>Extensions
会发现以Nv开头的有五个文件
其中NVDANV50Hal.kext、NVDAGF100Hal.kext和NVDAGK100Hal.kext分别对应着不同的显卡
NVDAResman.kext、NVSMU.kext是所有N卡都会加载的
这些文件是负责开启QE/CI的
如果我们显卡不能正常驱动
我们要修改的只有NVDANV50Hal.kext、NVDAGF100Hal.kext和NVDAGK100Hal.kext其中之一
具体修改哪一个取决于你显卡的核心
可以参照
从表中可以看出来的是
Geforce405之前要改的都是在NVDANV50Hal.kext
而核心代号以GF(如GF119)在NVDAGF100Hal.kext中修改
核心代号以GK开头(如GK107)则在NVDAGK100Hal.kext中修改
Mac下查看自己显卡ID的方法:关于本机>更多信息>系统报告>图形卡/显示器>设备ID
现在我们看看NVDANV50Hal.kext、NVDAGF100Hal.kext和NVDAGK100Hal.kext中包含的ID
NVDANV50Hal.kext
- 1.0x019010de&0xfff0ffff
- 2.0x040010de&0xfff0ffff
- 3.0x041010de&0xfff0ffff
- 4.0x041010de&0xfff0ffff
- 5.0x042010de&0xfff0ffff
- 6.0x043010de&0xfff0ffff
- 7.0x046010de&0xfff0ffff
- 8.0x052010de&0xfff0ffff
- 9.0x05c010de&0xffe0ffff
- 10.0x05e010de&0xffe0ffff
- 11.0x060010de&0xffe0ffff
- 12.0x062010de&0xffe0ffff
- 13.0x064010de&0xffe0ffff
- 14.0x086010de&0xffe0ffff
- 15.0x08a010de&0xffe0ffff
- 16.0x0a0010de&0xffe0ffff
- 17.0x0a2010de&0xffe0ffff
- 18.0x0a6010de&0xffe0ffff
- 19.0x0ca010de&0xffe0ffff
- 20.0x0d4010de&0xffe0ffff
- 21.0x10c010de&0xffe0ffff
- 1.0x06c010de&0xffe0ffff
- 2.0x0cc010de&0xffe0ffff
- 3.0x0ce010de&0xffe0ffff
- 4.0x0dc010de&0xffe0ffff
- 5.0x0de010de&0xffe0ffff
- 6.0x0e0d10de&0xffffffff
- 7.0x0e2010de&0xffe0ffff
- 8.0x0e4010de&0xffe0ffff
- 9.0x0e8010de&0xffe0ffff
- 10.0x0ee010de&0xffe0ffff
- 11.0x0f0010de&0xffe0ffff
- 12.0x0f2010de&0xffe0ffff
- 13.0x0fa010de&0xffffffff
- 14.0x0fa210de&0xffffffff
- 15.0x108010de&0xffe0ffff
- 16.0x10a010de&0xffe0ffff
- 17.0x110010de&0xffc0ffff
- 18.0x120010de&0xffc0ffff
- 19.0x124010de&0xffc0ffff
- 1.0x0fc010de&0xffc0ffff
- 2.0x118010de&0xffc0ffff
- 3.0x11c010de&0xffc0ffff
类似&0xffc0ffff的意思如下
As far as I understand in those docs:
F means = keep the same, and //该处对应数字保持和前面的值相同
0 means = any value. //该处对应数字可以为任意值
If I trust the first post and the mask are tolerency based it would be:
F = no tolerancy, the number has to be the same.
0 = full tolerancy, the number can be any.
E = the value can be +/- 1 //该处对应数字保持和前面的值相同或相差1
D = the value can be+/- 2 //该处对应数字保持和前面的值相同或相差2
C = the value can be +/- 3, etc...//该处对应数字保持和前面的值相同或相差3,以此类推
也就是说
对照着Nvdia核心列表我整理出了一点用于台式机的显卡资料
可能会有疏漏,还请各位自己对照
笔记本显卡或专业卡用户,还请自行搜索
友情提示:页面搜索command+f(PC键盘上Alt+F或是win+F)
NVDANV50Hal.kext | ||
文件中的ID | 找到的设备ID | 显卡型号 |
0x019010de&0xfff0ffff | 0193 | GeForce 8800 GTS |
0194 | GeForce 8800 Ultra | |
0191 | GeForce 8800 GTX | |
0x040010de&0xfff0ffff | 0400 | GeForce 8600 GTS |
0401 | GeForce 8600 GT | |
0402 | GeForce 8600 GT | |
0403 | GeForce 8600 GS | |
0404 | GeForce 8400 GS (第二版) | |
0x041010de&0xfff0ffff | 0410 | GeForce GT 330 |
0x042010de&0xfff0ffff | 0420 | GeForce 8400 SE |
0421 | GeForce 8500 GT | |
0422 | GeForce 8400 GS | |
0423 | GeForce 8300 GS | |
0424 | GeForce 8400 GS | |
0x043010de&0xfff0ffff | ||
0x046010de&0xfff0ffff | ||
0x052010de&0xfff0ffff | ||
0x05c010de&0xffe0ffff | ||
0x05e010de&0xffe0ffff | 05e0 | GeForce GTX 295 |
05e1 | GeForce GTX 280 | |
05e2 | GeForce GTX 260 (第二版) | |
05e3 | GeForce GTX 285 | |
05e6 | GeForce GTX 275 | |
05ea | GeForce GTX 260 | |
05eb | GeForce GTX 295 (第二版) | |
0x060010de&0xffe0ffff | 0606 | GeForce 8800 GS |
0602/0611 | GeForce 8800 GT | |
0600 | GeForce 8800 GTS 512 | |
0601/0605 | GeForce 9800 GT | |
0605/0614 | GeForce 9800 GT (第二版) | |
0612 | GeForce 9800 GTX | |
0612/0613 | GeForce 9800 GTX+ | |
0604 | GeForce 9800 GX2 | |
0603 | GeForce GT 230 | |
0607 | GeForce GTS 240 | |
0610 | GeForce 9600 GSO | |
0615 | GeForce GTS 250 | |
0x062010de&0xffe0ffff | 0623 | GeForce 9600 GS |
0625 | GeForce 9600 GSO 512 | |
0622/062E | GeForce 9600 GT | |
0622/062D/0637 | GeForce 9600 GT (第二版) | |
062F | GeForce 9800 S | |
0626 | GeForce GT 130 | |
0627 | GeForce GT 140 | |
0630 | GeForce 9700 S | |
0635 | GeForce 9600 GSO (第二版) | |
0x064010de&0xffe0ffff | 0640 | GeForce 9500 GT |
0641 | GeForce 9400 GT (第二版) | |
0643 | GeForce 9500 GT (第二版) | |
0644/0645 | GeForce 9500 GS | |
0646 | GeForce GT 120 | |
065b | GeForce 9400 GT (第三版) | |
065F/0A60 | GeForce G 210 | |
0655 | GeForce 9600 S | |
0656 | GeForce 9650 S | |
0x086010de&0xffe0ffff | 086D/0871 | GeForce 9200 (第二版) |
0860/0864/0865 | GeForce 9300 | |
086C | GeForce 9300 + nForce 730i | |
0861/0867/086A | GeForce 9400 | |
0x08a010de&0xffe0ffff | ||
0x0a0010de&0xffe0ffff | ||
0x0a2010de&0xffe0ffff | 0A23/0A65 | GeForce 210 |
0A20/0CA5/0CAC | GeForce GT 220 | |
0A26/0A27/10C5 | GeForce 405 | |
0x0a6010de&0xffe0ffff | 0A62 | GeForce 205 |
0A63/0A66 | GeForce 310 | |
0A67 | GeForce 315 | |
0x0ca010de&0xffe0ffff | 0CA3 | GeForce GT 240 |
0CA2 | GeForce GT 320 | |
0CA0/0CA7 | GeForce GT 330 (第二版) | |
0CA4 | GeForce GT 340 | |
0x0d4010de&0xffe0ffff | ||
0x10c010de&0xffe0ffff | 10C3 | GeForce 8400 GS (第四版) |
10C0 | GeForce 9300 GS (第二版) |
费米核心:
NVDAGF100Hal.kext | ||
文件中的ID | 找到的设备ID | 显卡型号 |
0x06c010de&0xffe0ffff | 06C4 | GeForce GTX 465 |
06CD | GeForce GTX 470 | |
06C0 | GeForce GTX 480 | |
0x0cc010de&0xffe0ffff | ||
0x0ce010de&0xffe0ffff | ||
0x0dc010de&0xffe0ffff | 0DC0 | GeForce GT 440 |
0DC4/0DC5/0DC6 | GeForce GTS 450 | |
0x0de010de&0xffe0ffff | 0DE2 | GeForce GT 420 |
0DE1 | GeForce GT 430 | |
0DE0 | GeForce GT 440 (第二版) | |
0DE5 | GeForce GT 530 | |
0x0e0d10de&0xffffffff | ||
0x0e2010de&0xffe0ffff | 0E23 | GeForce GTX 460 SE |
0E22/0E24 | GeForce GTX 460 | |
0x0e4010de&0xffe0ffff | ||
0x0e8010de&0xffe0ffff | ||
0x0ee010de&0xffe0ffff | ||
0x0f0010de&0xffe0ffff | 0F00 | GeForce GT 630 (第二版) |
0F01 | GeForce GT 620 (第二版) | |
0x0f2010de&0xffe0ffff | ||
0x0fa010de&0xffffffff | ||
0x0fa210de&0xffffffff | ||
0x108010de&0xffe0ffff | 1080/108B | GeForce GTX 580 |
1081/1086 | GeForce GTX 570 | |
1082 | GeForce GTX 560 Ti (第二版) | |
1084 | GeForce GTX 560 (第二版) | |
1087 | GeForce GTX 560 Ti (第三版) | |
1088 | GeForce GTX 590 | |
0x10a010de&0xffe0ffff | ||
0x110010de&0xffc0ffff | ||
0x120010de&0xffc0ffff | 1205 | GeForce GTX 460 v2 |
1206 | GeForce GTX 555 | |
1208 | GeForce GTX 560 SE | |
1201 | GeForce GTX 560 | |
1200 | GeForce GTX 560 Ti | |
0x124010de&0xffc0ffff | 1245 | GeForce GTS 450 (第二版) |
1243 | GeForce GT 545 DDR3 | |
1241 | GeForce GT 545 GDDR5 | |
1244 | GeForce GTX 550 Ti |
开普勒核心:
NVDAGK100Hal.kext | ||
文件中的ID | 找到的设备ID | 显卡型号 |
0x0fc010de&0xffc0ffff | 0FC2 | GeForce GT 630 |
0FC0 | GeForce GT 640 (第二版) | |
0FC1 | GeForce GT 640 (第三版) | |
0x118010de&0xffc0ffff | 1180 | GeForce GTX 680 |
1188 | GeForce GTX 690 | |
1189 | GeForce GTX 670 | |
0x11c010de&0xffc0ffff |
如果你的显卡ID不在列表中(列表不限于我找到的ID哈),可以直接在原来的ID上修改
我们以GT520为例,ID是0x1040不在上面支持的列表中。
以下操作在mac中完成
我们打开系统/资源库/Extensions
在其中找到NVDAGF100Hal.kext(因为GT520的核心是费米核心),拷贝到桌面上
在NVDAGF100Hal.kext上点击右键>显示包内容 找到相应的参数 修改