GTX 260 显卡驱动 For Mac

黑苹果显卡驱动 13/10/9 4.1k 2

本帖最后由 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 代码
  1. Device (PEGP)
  2. {
  3. Name (_ADR, 0x00010000)
  4. Device (GFX0)
  5. {
  6. Name (_ADR, Zero)
  7. Name (_SUN, One)
  8. Method (_DSM, 4, NotSerialized)
  9. {
  10. Store (Package (0x16)
  11. {
  12. "@0,compatible",
  13. Buffer (0x0B)
  14. {
  15. "NVDA,NVMac"
  16. },

  17. "@0,device_type",
  18. Buffer (0x08)
  19. {
  20. "display"
  21. },

  22. "@0,name",
  23. Buffer (0x0F)
  24. {
  25. "NVDA,Display-A"
  26. },

  27. "@1,compatible",
  28. Buffer (0x0B)
  29. {
  30. "NVDA,NVMac"
  31. },

  32. "@1,device_type",
  33. Buffer (0x08)
  34. {
  35. "display"
  36. },

  37. "@1,name",
  38. Buffer (0x0F)
  39. {
  40. "NVDA,Display-B"
  41. },

  42. "NVCAP",
  43. Buffer (0x18)
  44. {
  45. /* 0000 */ 0x05, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00,
  46. /* 0008 */ 0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b,
  47. /* 0010 */ 0x00, 0x00, 0x00, 0x00
  48. },

  49. "VRAM,totalsize",
  50. Buffer (0x04)
  51. {
  52. 0x00, 0x00, 0x00, 0x38
  53. },

  54. "device_type",
  55. Buffer (0x0C)
  56. {
  57. "NVDA,Parent"
  58. },

  59. "model",
  60. Buffer (0x17)
  61. {
  62. "NVIDIA GeForce GTX 260"
  63. },

  64. "rom-revision",
  65. Buffer (0x5)
  66. {
  67. "3434"
  68. }
  69. }, Local0)
  70. DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
  71. Return (Local0)
  72. }
  73. }
  74. }
复制代码
其中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的定义


  • 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应该是这个样子的
相关帖子
admin
0 / 3.0k
admin
0 / 4.0k
admin
0 / 3.1k
admin
0 / 2.8k
admin
新款Intel HD4000 黑苹果macOS驱动 Monterey
admin最后由laojian2020回复于 21/7/18
1 / 2.0k
admin
7 / 7.6k
admin
0 / 1.1k
请勿发布不友善或者负能量的内容。与人为善,比聪明更重要!
您需要登录后才可以回帖 登录 | 注册
本版积分规则
MemacX
13/10/9 15:03:05
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
  3. <plist version="1.0">
  4. <dict>
  5.         <key>Kernel</key>
  6.         <string>mach_kernel</string>
  7.         <key>Kernel Flags</key>
  8.         <string></string>
  9.         <key>device-properties</key>
  10.         <string>6c0200000100000001000000600200000d00000002010c00d041030a010000000101060000010101060000007fff04000e0000004e00560050004d0000002000000001000000000000000000000000000000000000000000000000000000220000005600520041004d002c0074006f00740061006c00730069007a006500000008000000000000381c0000006400650076006900630065005f00740079007000650000000f0000004e5644412c506172656e740e0000006e0061006d00650000000b000000646973706c617922000000400030002c006400650076006900630065005f00740079007000650000000b000000646973706c617922000000400031002c006400650076006900630065005f00740079007000650000000b000000646973706c6179100000006d006f00640065006c0000001a0000004e5649444941204765466f726365204754582032363020000000400031002c0063006f006d00700061007400690062006c00650000000e0000004e5644412c4e564d616314000000400030002c006e0061006d0065000000120000004e5644412c446973706c61792d4114000000400031002c006e0061006d0065000000120000004e5644412c446973706c61792d4220000000400030002c0063006f006d00700061007400690062006c00650000000e0000004e5644412c4e564d6163100000004e00560043004100500000001800000005000000000003000c0000000000000b000000001e00000072006f006d002d007200650076006900730069006f006e0000002e0000004e5649444941204765466f7263652047545820323630204f70656e474c20456e67696e65205b4546495d</string>
  11. </dict>
  12. </plist>
复制代码
鹤发童颜
13/10/11 10:31:15
能邦我弄个gt 240  512m 的dsdt 吗