GTX 260 显卡驱动 For Mac
本帖最后由 MemacX 于 2013-10-9 15:04 编辑
GeForce_GTX_260_EFI-String.zip
(53.22 KB, 下载次数: 5, 售价: 5 金钱)
附件是gfxutil工具和制作好的EFI_String及DSDT的范例
建立一个其他显卡的dsdt,然后把下面GTX260的代码替换过去,也可以把代码直接增加到PCI0节的下面.
DSDT 代码复制代码其中NVCAP和VRAM值是我的GTX260显卡的参数,你可以根据自己的显卡调整.
更新修改DSDT显卡位置:
DSDT里默认的显卡位置是PciRoot(0x1)/Pci(0x1,0x0)/Pci(0x0,0x0),
但是一些显卡的位置可能不一样,虽然不影响显卡驱动(这个和efi-string不一样),
但是PCI卡那里的信息就没有了,因此可以修改硬件位置来解决这个问题,
假设用gfxutil得到的硬件位置是PciRoot(0x1)/Pci(0x3,0x0)/Pci(0x0,0x0)
PCI Device的第一节是Pci(0x3,0x0),它的另一个形式是PciAdr(0x30000),
我们来看PciAdr的定义
复制代码
因此,这里的_ADR就是0x30000,所以把
复制代码
修改为
即可解决这个问题
把编译好的DSDT放在mac分区的根目录或者Extra文件夹下,删除原来的ATY_init.kext,
重启,使用-v -f 启动,应该就能成功启动了
2009-7-19 19:41 上传
至此GT200系列显卡的EFI-String和DSDT驱动就说完了,这个方法在Snow Leopard一样适用,
现阶段开启Snow Leopard的64位内核的唯一方法就是使用Efi-String或DSDT来驱动显卡了
二楼是制作好的 变色龙配置文件com.apple.boot.plist
用文本编辑打开out.hex,里面就是做好的EFI-String了,
复制String到com.apple.boot.plist的device-properties下面,然后删掉ATY_init.kext,重启 -v -f应该就可以了
制作完成的com.apple.boot.plist应该是这个样子的
13/10/9 14:57 上传
点击文件名下载附件
附件是gfxutil工具和制作好的EFI_String及DSDT的范例
建立一个其他显卡的dsdt,然后把下面GTX260的代码替换过去,也可以把代码直接增加到PCI0节的下面.
DSDT 代码
- Device (PEGP)
- {
- Name (_ADR, 0x00010000)
- Device (GFX0)
- {
- Name (_ADR, Zero)
- Name (_SUN, One)
- Method (_DSM, 4, NotSerialized)
- {
- Store (Package (0x16)
- {
- "@0,compatible",
- Buffer (0x0B)
- {
- "NVDA,NVMac"
- },
- "@0,device_type",
- Buffer (0x08)
- {
- "display"
- },
- "@0,name",
- Buffer (0x0F)
- {
- "NVDA,Display-A"
- },
- "@1,compatible",
- Buffer (0x0B)
- {
- "NVDA,NVMac"
- },
- "@1,device_type",
- Buffer (0x08)
- {
- "display"
- },
- "@1,name",
- Buffer (0x0F)
- {
- "NVDA,Display-B"
- },
- "NVCAP",
- Buffer (0x18)
- {
- /* 0000 */ 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00,
- /* 0008 */ 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b,
- /* 0010 */ 0x00, 0x00, 0x00, 0x00
- },
- "VRAM,totalsize",
- Buffer (0x04)
- {
- 0x00, 0x00, 0x00, 0x38
- },
- "device_type",
- Buffer (0x0C)
- {
- "NVDA,Parent"
- },
- "model",
- Buffer (0x17)
- {
- "NVIDIA GeForce GTX 260"
- },
- "rom-revision",
- Buffer (0x5)
- {
- "3434"
- }
- }, Local0)
- DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
- Return (Local0)
- }
- }
- }
更新修改DSDT显卡位置:
DSDT里默认的显卡位置是PciRoot(0x1)/Pci(0x1,0x0)/Pci(0x0,0x0),
但是一些显卡的位置可能不一样,虽然不影响显卡驱动(这个和efi-string不一样),
但是PCI卡那里的信息就没有了,因此可以修改硬件位置来解决这个问题,
假设用gfxutil得到的硬件位置是PciRoot(0x1)/Pci(0x3,0x0)/Pci(0x0,0x0)
PCI Device的第一节是Pci(0x3,0x0),它的另一个形式是PciAdr(0x30000),
我们来看PciAdr的定义
- PciAdr(uint32 adr) - alias for PCI node with using alternative address value.
- adr is PCI device "_ADR" property value that your may find from pci device properties in IOACPIPlane.
复制代码
因此,这里的_ADR就是0x30000,所以把
- Device (PEGP)
- {
- Name (_ADR, 0x00010000)
- Device (GFX0)
- {
- ...
复制代码
修改为
- Device (PEGP)
- {
- Name (_ADR, 0x00030000)
- Device (GFX0)
- {
- ...
即可解决这个问题
把编译好的DSDT放在mac分区的根目录或者Extra文件夹下,删除原来的ATY_init.kext,
重启,使用-v -f 启动,应该就能成功启动了
2009-7-19 19:41 上传
至此GT200系列显卡的EFI-String和DSDT驱动就说完了,这个方法在Snow Leopard一样适用,
现阶段开启Snow Leopard的64位内核的唯一方法就是使用Efi-String或DSDT来驱动显卡了
二楼是制作好的 变色龙配置文件com.apple.boot.plist
用文本编辑打开out.hex,里面就是做好的EFI-String了,
复制String到com.apple.boot.plist的device-properties下面,然后删掉ATY_init.kext,重启 -v -f应该就可以了
制作完成的com.apple.boot.plist应该是这个样子的