Mac OS X 雪豹的GA-P55A-UD3R 多显卡顺利搞定,附折腾过程

年初购买的新机器。
配置:
GA-p55A-ud3r f8 .
4G DDR3
HD 5770显卡。

其实这个机器安装倒挺顺利。安装完就让我悲剧的就是这个5770显卡。因为工作原因,我必须使用DX11的显卡。所以只能想别的办法。
经过几天的折腾,顺利搞定显卡(网卡默认就能驱动)
目前的成果:
1. 在第二个PCIE x4 的槽上插了一条 NV 8600GT 256M.
2. 8600GT能顺利驱动,并开启QE/CI。

具体折腾过程如下:
1. 下载最新的 Mac OSX SonwLeopard 10.6.2_10C2234_Retail.dmg。
2. 随便下载一个破解版的ISO。比如iTAKS iso 。并准备好两个分区,一个60G。用于系统,一个8G用于安装镜像。并在WIndows下安装BootTink.
3.安装破解版的 leopard. (此版本仅用来将10C2234写入到一个安装分区用,那个dmg没法用助手安装)。 这个安装方法很多。可以用HFSExplorer写入到安装分区安装(,参见Y450硬盘安装教程),也可以直接刻盘安装。
4. 进入到安装好的Leopard。应该是没有驱动的三无状态。不用理会。用“磁盘工具”将8G分区抹掉,并把Mac OSX SonwLeopard 10.6.2_10C2234_Retail.dmg恢复到8G的分区中。抹分区和恢复问google。
5. 将破解的MBR-OSInstall 里的两个问题覆盖到刚才写入的8G分区中。注意,这里要用 终端 来拷贝,Finder里是看不到这些文件的。 终端在(应用程序->实用工具下)。 拷贝的时候记得 sudo cp ....... 。不然可能会权限不够。 (这一步其实也可以在Windows下安装Mac Driver来实现)。不过我不喜欢在我的Windows折腾一个系统级的驱动。
6. 到这一步,破解版的ISO安装的Leopard的任务就已经完成了。重新启动。
7. 用(Y450硬盘安装雪豹教程)里的方法,将Mac OSX SonwLeopard 10.6.2_10C2234_Retail 安装到那个60G的分区。记得将前一个破解版本抹掉。

8. 这个时候,很多人会告诉你,那个8G的安装分区可以不要了。其实不然,我建议你一直留着。以后重装非常方便。

9. 这时候,进入系统,我看到的是一个没显卡,没声卡的系统。对我来说最重要的是一定要搞定显卡。因为我要用来开发Mac下的OpenGL 程序和iPhone程序。这个时候,我发现,所有的办法对HD 5770都是无效的(很傻很天真哈)。纠结之下想出一个办法。找了一个旧的NV  8600GT插在第二个PCI E槽上。重新启动。更傻更天真的想象系统能自动认得这个显卡。

10.启动后五国。。。。唔,传说中的画面。

11. 想了想,在BIOS里把 Init Display Device 设置成 PEG2 (就是PCI-E 2, 默认是PCI。 还有一个是PEG )。将第二块显卡当做默认显卡。启动,竟然成功了。囧一个。

12. 下载 技嘉P55 DSDT大全,里面刚好有GA-p55A-UD3R F7的aml文件(aml文件的使用查论坛)。用威廉第三的方法加入8600GT显卡和声卡。注意,先在Windows里看看8600GT是挂在那个PCIE槽上的,如果显示是PCI-Express 5。则表示是PEX 5.
工具:DSDTSE for mac : http://www.osx86.es/?p=610

13. 加入后,生成fixeddsdt.aml。 这个还不能直接使用。用iasl.exe将它反编译成 fixeddsdt.asl。 打开。看到显卡这一节是这样的:

            Device (PEX4)
            {
                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 */    0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00,
                                        /* 0008 */    0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07,
                                        /* 0010 */    0x00, 0x00, 0x00, 0x00
                                    },
                                    "VRAM,totalsize",
                                    Buffer (0x04)
                                    {
                                        0x00, 0x00, 0x00, 0x10
                                    },
                                    "device_type",
                                    Buffer (0x0D)
                                    {
                                        "NVDA,GeForce"
                                    },
                                    "model",
                                    Buffer (0x17)
                                    {
                                        "nVidia GeForce 7600 GT"
                                    },
                                    "rom-revision",
                                    Buffer (0x25)
                                    {
                                        "nVidia GeForce 7600 GT OpenGL Engine"
                                    }
                                }, Local0)
                            DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                            Return (Local0)
                        }
                    }
                }
   
     但是我在ioRegExplorer里看到的是这样的。

      PEX04
        -->display@0

     根据紫米的教程(紫米的帖子,自己查论坛,关键字:技嘉DSDT修改)。看上去这个层次跟Adr的值都是不对的。
    将其改成这样:


            Device (PEX4)
            {
                //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 */    0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00,
                                        /* 0008 */    0x0C, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07,
                                        /* 0010 */    0x00, 0x00, 0x00, 0x00
                                    },
                                    "VRAM,totalsize",
                                    Buffer (0x04)
                                    {
                                        0x00, 0x00, 0x00, 0x10
                                    },
                                    "device_type",
                                    Buffer (0x0D)
                                    {
                                        "NVDA,GeForce"
                                    },
                                    "model",
                                    Buffer (0x17)
                                    {
                                        "nVidia GeForce 7600 GT"
                                    },
                                    "rom-revision",
                                    Buffer (0x25)
                                    {
                                        "nVidia GeForce 7600 GT OpenGL Engine"
                                    }
                                }, Local0)
                            DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
                            Return (Local0)
                        }
                    }
               // } ---- 这个括号一定要注释掉。不然不匹配了。


重新将 fixeddsdt.asl编译成dsdt.aml。 将其拷贝到 C:/Darwin/目录下 (变色龙的话,也是一样)。


重新启动机器。。。


11. 没任何效果,用ioReg看,显卡的位置似乎是对的。不过没任何效果。很悲剧,

12. 一气之下,重装!

13. 风火轮过后,奇迹出现了。我竟然看到了2560 x 1600的安装界面啦!!! 也就是说。Mac安装程序已经能认识我的显卡了。安装后,QE/CI自动打开。。。

14. 善后工作:用Windows的时候,ACHI得改成IDE。Init Display Device得是PCI/PEG 。
                    用Mac的时候,ACHI而且Display Divice得是PEG2。
      还好。技嘉的板子有保存BIOS配置的功能。将不同的配置保存成不同的名字。启动的时候按DEL。然后load一下就可以了。

 

 

声卡的驱动:

声卡的驱动就比较操蛋了。我折腾了一天。重装了两次。

1. 下载ALC 889 的驱动,安装。无效。

2. 用LegacyHDA + AppleHDA 无效。

 

 

最后都快放弃了。无聊的时候在远景上看到有人说 10C2234的AppleHDA.kext改了。只支持ALC885了。我当时就打人了。好在那个帖子里好人多,把10C540的AppleHDA.kext放上来了。

1.把10C2234的AppleHDA.kext给灭了。把10C540的AppleHDA.kext给安装上去。用Kext Helper就可以了。

2.然后把LegacyHDA.kext(记得分清楚是ALC888的还是ALC889的,这个在Info.plist里的layout id有区分)放到BootThink的extensions里。

重启,声音出来了。

 

 

 

 

附录二:

HP DV 5514的的驱动。

该本本的声卡和显卡都很好驱动的。 声卡是Conextant HD。显卡用NVInjectorGO.2 installer

主要就是网卡。网卡找一个8255x的驱动扔到BootThink里。把Dev ID改一下。加一个你的网卡的就行了。另外还得放一个IOPCIFamily.kext。雪豹没有PCI总线了。日一个。

 

你可能感兴趣的:(windows,OS,osx,buffer,破解,installer)