dew2 发表于 2012-12-28 08:42

苹果系统的驱动精灵,MultiBeast教程

本帖最后由 dew2 于 2014-3-21 08:54 编辑

各位请注意,本教程原作者写于2012年,到现在已经有很多东西改变了。
第二,黑苹果和白苹果不一样,很多东西都需要自己调,试,照搬别人的根本无法有好效果。我转载这个也是希望给各位提供一个思路,而不是要大家完全照搬


如果嫌麻烦,想什么用现成的。请利用论坛搜索功能,找你那个机型的成功贴,用它的东西。或者是买台白苹果


装苹果的人都有感受,只要机器不差,要进系统是能容易的,但是驱动能难找,装。所以有个叫MULTIBEAST的东西就可以帮助大家了。

文章结束我会附上各个版本的MULTIBEAST的
(文章中涉及DSDT,如果没有现成的,需要自己动手,可以看论坛的新人资源帖

基础篇

原文地址:http://www.enet.com.cn/article/2012/0116/A20120116957033.shtml

黑苹果最难安装的就是驱动,因为操作系统完全针对苹果机定制,不用考虑太多兼容性,所以很多人都是安装完了,但是声卡、显卡、网卡等没办法驱动。MultiBeast软件就针对这种情况提供了解决方案,它能解决Intel平台安装黑苹果的大多数显卡、声卡和主流网卡驱动,而且还通过安装一些引导文件,避免黑苹果非正常死机等。

在IT168的前几篇黑苹果文章中,MultiBeast已经出现多次,但没有做太多介绍。它是英文界面,而且相关选项很多,要做正确的设置并不是一件轻松的事情。但通过EasyBeast Install 和userDSDT Install两种基本设置项,还是可以解决黑苹果的启动引导、主要系统驱动等。

这里我们就以针对最新的苹果Lion系统,最新版的MultiBeast版本为例,针对这两个基本设置项做详细的介绍,希望能解决大家“我应该选哪个”、“为什么这么选”等小疑问。
  
至于其他繁杂的设置项,限于篇幅,我们在下一篇文章《MultiBeast用法进阶篇》里介绍。
  
MultiBeast的使用界面上选项很多,但最重要的是前两项EasyBeast Install 和userDSDT Install,根据字面意思可以理解为,简单类安装和用DSDT文件安装。



无论选择哪一项,MultiBeast都会安装Chimera(变色龙修改版)来引导系统启动,而变色龙最好搭配DSDT文件。DSDT可以视作一个描述文件,作用就是告诉Mac系统,我使用的是某某硬件,你来驱动吧。


现在网上已经有不少编辑好的DSDT文件供下载(地址http://www.tonymacx86.com/dsdt.php,不知道为何,很多人不翻墙是打不开这个网站的),大牌主板基本都有:

EasyBeast安装

EasyBeast 安装使用起来比较简单,它主要是针对使用Intel 酷睿2或者酷睿i系列CPU的电脑,自动安装一些黑苹果必须的启动文件和主流驱动。



▲EasyBeast 安装主要针对使用酷睿2或者酷睿i系列CPU的电脑
  
选择EasyBeast 安装,MultiBeast软件会自动安装以下文件到Mac系统的/System/Library/Extensions/目录:





安装文件作用
Chimera变色龙修改版,引导系统从硬盘启动
FakeSMC.kext黑苹果启动必备
LegacyAppleRTC.kext避免重启时主板CMOS设置重置
EvOreboot.kext让系统正常开机和重启
JMicron36xATA.kextJMicronATA修改版,IDE驱动
AHCI_3rdParty_SATA.kext第三方SATA驱动
NullCPUPowerManagement.kext关闭电源管理
IOUSBFamily.kext USB相关驱动
IOUSBMassStorageClass.kextUSB相关驱动



  
除了驱动之外,EasyBeast安装 还会添加以下默认脚本到/Extra目录下的org.chameleon.Boot.plist,这个后缀为.plist的文件就是起引导作用的变色龙配置文件:




添加脚本作用
64-Bit org.chameleon.Boot.64位变色龙配置文件
GraphicsEnabler=Yes打开显卡侦测
Apple Boot Screen苹果启动界面
UseKernelCache=Yes使用内核缓存
npci=0x2000修正PCI设置
darkwake=0 kernel flags使用单次点击鼠标或电源键唤醒系统,代替默认的两次
MacPro3,1 smbios.plistMac系统将电脑识别为MacPro 3.1
tonymacx86 Remixed theme修改的主题

如果用户熟悉这些或更多定义,也可以打开org.chameleon.Boot.plist文件手动修改。
  
使用EasyBeast安装不会自动安装任何网卡、声卡和显卡驱动(但打开了显卡侦测,大多数显卡都自动识别了),只是装上了黑苹果启动必须的驱动和引导文件。

使用DSDT安装
  
如果有主板对应的DSDT文件可下载,那么用它搭配MultiBeast来安装就更方便。先把下载到的文件改名为DSDT.aml,放在Mac系统桌面上



然后运行MultiBeast软件,勾选第二项“UserDSDT Install”前面的方框,就会开始更精准的安装。


▲勾选UserDSDT Install开始安装  
这种方法同样会安装修改版的变色龙引导等,也会添加EasyBeast安装法添加的那些变色龙脚本,同样不会安装声卡和显卡驱动。也就是说绝大多数步骤两者是相同的。
  
不同的是,使用userDSDT安装法,可以打开Mac系统休眠功能,也能根据安装的DSDT.aml文件打开CPU节能设置

总结:知道确切意义再选择
  
通过前面的两种方式,多数情况下可以正常启动电脑,但网卡、声卡等还没有驱动,我们可以在Drivers&Bootloaders 选项中继续设置。



▲Drivers&Bootloaders 选项中可以继续设置声卡、网卡等驱动



这是一个相对复杂的过程,对于不熟悉英文或者没有仔细看说明的用户来说,很容易出错,而出错的直接后果就是系统崩溃,界面上出现5国语言。
但如果研究透彻,你也能通过MultiBeast驱动一些苹果原装机也没有的功能,比如驱动主流的USB 3.0芯片。


总结:得强调一下,不管选择哪个选项,都需要确保你知道的它的作用,不然设置错误,就可能导致不能进系统等问题。

限于篇幅,MultiBeast用法基础篇就讲到这里,其他选项和我们将在进阶篇中做前所未有的详细说明,注意是前所未有,还没有人发过的中文详细说明,敬请期待。
update:在文章写完的时候,针对Lion系统的MultiBeast已经有了新版,使用上没有什么不同,但加入了新的USB 3.0驱动,开启TRIM支持等,建议去官网(http://www.tonymacx86.com/downloads,需注册)下载新版使用。

dew2 发表于 2012-12-28 08:43

本帖最后由 dew2 于 2012-12-29 12:12 编辑

进阶篇
由于软件一直更新,所以选项什么的多多少少有变动。所以教程更主要是让大家知道如何用,具体的就好好探索把。

原文地址:http://www.enet.com.cn/article/2012/0130/A20120130960339.shtml

今天的进阶篇的目的,首先是让大家解决这些驱动,但终极目的,是看完这篇文章,在没有DSDT文件的情况下,也能用MultiBeast正常驱动所有兼容硬件。

按照顺序,我们先看下MultiBeast的第三个选项,System Utilities也就是“系统工具”项。选中后,软件界面下方的方框内出现说明文字。


▲选中后,软件下方的方框内出现说明文字

根据描述来看,System Utilities选项主要是修复启动盘的权限。但是这个选项在什么时候用呢,事实上前面的EasyBeast安装和用DSDT文件安装法,都会选中“System Utilities”,用来重建启动盘权限和缓存。既然这样,当我们不用前两种方法安装时,最好也选中这一项。

驱动和引导项概览
Drivers & Bootloaders,也就是“驱动和引导”项,是MultiBeast的第4个大选项。这个选项主要用来设置驱动、安装引导、启动时间和利于黑苹果设置的小软件。

▲“驱动和引导”及其子项
这一项可选择的非常多,选择之前要确切的知道它的含义。但如果你是高端用户,你就可以跳过前面说的EasyBeast安装和用DSDT文件安装法,只在这一项里设置。

▲驱动和引导设置项,都是针对没有DSDT文件的黑苹果来说的  “Kexts & Enablers”大概可以译为“kext文件和引导”,简单的说,Kext文件相当于windows系统下的硬件驱动文件,“引导”呢,则说的是引导黑苹果启动的选项。这都是针对没有DSDT文件的黑苹果来说的,再强调一下:选择之前请确保你知道相关选项的意义。
声卡驱动设置
  
Audio自然是声卡驱动设置项,这个选项包括众多板载声卡驱动,选择之前最好仔细阅读描述文件,并选择正确的声卡型号。



Realtek ALC8xx 项(包括ALC8xxHDA和AppleHDA Rollback子项):Realtek ALC888, ALC887/888b,ALC889,ALC885/889a和ALC892等板载高清声卡驱动。
  
ALC8xxHDA:MacMan制作的Realtek ALC888, ALC887/888b, ALC889, ALC885/889a和ALC892等板载声卡驱动. 如果没有使用DSDT文件,必须同时选择HDAEnabler。ALC8xxHDA.kext将会安装到/System/Library/Extensions目录下。
  
AppleHDA Rollback:用未修改的雪豹10.6.2系统的AppleHDA.kext,代替Lion系统下的AppleHDA.kext文件,用来恢复Realtek ALC888, ALC887/888b, ALC889和 ALC892等高清声卡驱动。适用于10.6.3及更新版系统。

磁盘设置项

"Disk"就是磁盘设置项,包含光驱和硬盘驱动。




▲Non-DSDT HDAEnabler和Universal
  
Non-DSDT HDAEnabler(无DSDT时声卡驱动项 ):当安装ALC8xxHDA.kext来驱动Realtek ALC888, ALC887/888b, ALC889, ALC885/889a和ALC892等板载声卡,同时又没有DSDT文件时,必须选择对应声卡的选项项。选择此项将会安装HDAEnabler8xx.kext到系统/System/Library/Extensions目录。
  
Universal(通用):使用开源的 VoodooHDA 来驱动大多数声卡。这类驱动都依据Intel High Definition Audio (HDA) 规格,主要基于 FreeBSD hdac driver代码编写。 它的目的是自然是取代苹果系统的AppleHDA。
  
适用于没有DSDT文件的32/64位系统。将安装VoodooHDA.kext 到系统/System/Library/Extensions目录。
  
VoodooHDA 0.2.1 / 0.2.2——VoodooLabs 分支版本0.2.1.
  
VoodooHDA 0.2.5.6 / 0.2.6.1 / 0.2.7.2 / 0.2.7.3——Project OS X 分支版本 0.2.61。将安装VoodooHDA.prefPane文件到/System/Library/PreferencePanes目录。



▲磁盘设置项



各选项含义如下:
IOAHCIBlockStorageInjector:功能是将硬盘识别为内置盘。 将安装IOAHCIBlockStorageInjector.kext到系统/System/Library/Extensions目录。但安装AHCI_3rdParty_SATA.kext时不用选择此选项。
3rdParty SATA(第三方SATA驱动):ASMedia ASM1061, JMicron 36x (又称GSATA)和Marvell 88SE912 SATA控制器驱动. 连接到这些接口的设备将会识别为内置磁盘显示在桌面上,不能够热插拔。将安装AHCI_3rdParty_SATA.kext 到/System/Library/Extensions目录。
3rdParty eSATA(第三方eSATA驱动):ASMedia ASM1061, JMicron 36x (又称GSATA)和Marvell 88SE912 SATA 控制器。连接到这些接口的设备将识别为移动设备显示在桌面,同样不支持热插拔。将安装AHCI_3rdParty_eSATA.kext 到 /System/Library/Extensions目录。
JMicron36x ATA:MacMan 修改的JMicronATA驱动。打开JMicron 36x (又称GSATA)芯片的IDE支持。支持光驱盒硬盘。将安装JMicron36xATA.kext 到 /System/Library/Extensions目录。

dew2 发表于 2012-12-28 08:44

本帖最后由 dew2 于 2012-12-28 09:25 编辑

显卡设置项
  
Graphics即显卡设置项。这里结合个人经验说明一下:这一项不是很有必要,因为可以通过打开显卡侦测功能来识别大部分显卡,这一项主要针对部分特殊情况。


▲显卡设置项

各选项含义如下:
  
Install to 打开 QE/CI 显卡加速。只有当默认的显卡侦测开(GraphicsEnabler=Yes)不起作用时才使用。
  
ATI 48xx Patch (AMD HD48xx显卡补丁):Netkas.org 发布的开HD 48xx系列显卡 QE/CI 补丁包,支持10.7.0/10.7.1。将安装修改版ATI4800Controller 和 ATIRadeonX2000 到 /System/Library/Extensions目录。
  
ATI 48xx Device Injector:安装 ATI48xxInjector.kext 到 /System/Library/Extensions目录,提供所有 ATI 48xx 显卡识别ID。
  
NVIDIA GF100 Fermi Patches – OpenCL Enabler:netkas.org发布,针对系统文件/System/Library/Extensions/GeForceGLDriver.bundle 的补丁,主要是用来开启GF100 Feimi核心显卡OpenCL支持。

杂项类设置
  
Miscellaneous即杂项设置。主要是针对没有DSDT文件的黑苹果,提供必要的增强硬件支持和一些比较杂的小驱动,比如USB 3.0驱动。如果使用EasyBeast 或用DSDT文件安装,这一项会自动设置。


▲杂项设置

以下为各选项含义:
  
ElliottForceLegacyRTC.kext:可以避免无DSDT系统启动时,主板CMOS设置被重置。将安装ElliottForceLegacyRTC.kext 到/System/Library/Extensions目录。
 
EvOreboot:如果没有DSDT,没有此驱动关机或重启会不正常。将安装EvOreboot.kext 到 /System/Library/Extensions目录。
  
FakeSMC:FakeSMC.kext 是绝对必要安装的驱动, 启动黑苹果必须。原本由netkas编写,新的Project OS X分支。将安装 FakeSMC.kext 到/System/Library/Extensions目录。
  
FakeSMC Plugins:安装ACPIMonitor.kext, IntelCPUMonitor.kext 和 SuperIOFamily.kext等FakeSMC插件到系统 /System/Library/Extensions/目录。这些插件允许软件监控主板的硬件状态。
  
IOUSBFamily Rollback:非DSDT、10.6.3或更新版本时,选择此项可以将IOUSBFamily.kext 和 IOUSBMassStorageClass.kext恢复为10.6.2和10.6.4系统内版本。
  
NullCPUPowerManagement:关闭 AppleIntelCPUPowerManagement.kext 以避免没有编辑好HPET DSDT的CPU核心崩溃。将安装NullCPUPowerManagement.kext 到 /System/Library/Extensions文件夹。
  
PS/2 Keyboard/Mouse/Trackpad :开启 非USB键盘、鼠标和触摸板支持。将安装AppleACPIPS2Nub.kext和ApplePS2Controller.kext 到 /System/Library/Extensions文件夹。
  
USB 3.0 – NEC/Renseas and Etron :开启NEC/Renesas D720200、Etron EJ168控制器的USB 3.0支持, LaCie驱动由modbin提供补丁。将安装 PXHCD.kext 到/System/Library/Extensions文件夹。

网络设置项
  
Network即网络设置项,包含几款主流的板载网卡驱动包,选择一项就行


▲网络设置项

以下为各选项含义:  
Lnx2Mac's RealtekRTL81xx Ethernet:选择此项将打开Lnx2Mac的 Realtek 81xx 以太网控制器驱动安装程序,将安装RealtekRTL81xx.kext 到/System/Library/Extensions文件夹。




▲选择此项将打开Lnx2Mac的 Realtek 81xx 驱动程序
  
Hnak's AppleIntelE1000e Ethernet:开启Intel 825xx 以太网控制器驱动。基于hnak'e1000.sourceforge.net 32/64 位Linux版Intel 有线以太网控制器驱动。将安装AppleIntelE1000e.kext到系统/System/Library/Extensions文件夹。
  
Realtek Gigabit Ethernet 2.0.6:适合10.7版系统的Realtek 官方 81xx以太网控制器驱动 2.0.6 版,将安装AppleRTL8169Ethernet.kext 到苹果系统/System/Library/Extensions/IONetworkingFamily.kext/Contents/PlugIns文件夹。
  
Bootloaders即启动引导,

这一项没什么好说的,如果选择EasyBeast 或用DSDT安装时,软件会自动选择这一项,这也是我们手动安装时的必选。



▲引导项必选
  
选择此项,会安装修改版的变色龙chimera,它的作用是直接从硬盘启动系统。Chimera的v1.6.0 r1394版是MacMan的变色龙(Chameleon 2.0)分支。这个版本添加了ATI GPU的支持并修正了Chameleon 2.1svn r1649版本的 FaceTime 问题。



dew2 发表于 2012-12-28 08:44

本帖最后由 dew2 于 2012-12-28 09:30 编辑

自定义设置(1)
  
Customization是自定义项,点选项前方箭头即可展开做更详细的设置。


 
▲自定义设置项,包含启动和主题设置等
  
Boot Options是启动选项设置,主要是通过预编辑或脚本的方式去编辑 /Extra/org.chameleon.Boot.plist 文件,来开启或关闭特殊的启动引导选项。
  
注意:预编辑的文件,或者通过EasyBeast和DSDT文件安装,都是针对org.chameleon.Boot.plist 文件,但预编辑的选项会少一些。 如果你使用EasyBeast 或 UserDSDT, 只能用脚本来添加“PCI Root ID 修正”或“快捷菜单”选项。
  
启动选项定义如下:
  
32-bit Apple Boot Screen(32位苹果启动界面):预编辑的 32位 org.chameleon.Boot.plist文件。包含GraphicsEnabler=Yes (可开启大多数NVIDIA 和 ATI 显卡),苹果启动界面,32位内核, npci=0x2000 和 darkwake=0 kernel flags(内核标志)。安装到/Extra。
  
32-bit GraphicsEnabler=No(32位,显卡识别关):预编辑的32-bit org.chameleon.Boot.plist文件,包含GraphicsEnabler=No, 苹果启动界面和32位内核, npci=0x2000,darkwake=0 内核标志。安装到/Extra。
  
64-bit Apple Boot Screen(64位苹果启动界面):预编辑的64位 org.chameleon.Boot.plist文件,确保只在使用DSDT时选择。包含 GraphicsEnabler=Yes (开启大多数 NVIDIA 和 ATI显卡), Apple Boot Screen ,npci=0x2000 和 darkwake=0 kernel flags.安装到/Extra。使用EasyBeast和UserDSDT时不用选。
  
64-bit GraphicsEnabler=No(64位显卡识别关):Pre-edited 64位 org.chameleon.Boot.plist文件,包含 Contains GraphicsEnabler=No, 苹果启动界面,npci=0x2000,darkwake=0 kernel flags(内核标志)。安装到 /Extra文件夹。
  
PCI Configuration Fix(PCI设置修正):给/Extra/org.chameleon.Boot.plist添加 npci=0x2000 脚本到 Kernel Flags(特定的核心区域,也就是org.chameleon.Boot.plist 的特定位置)。
  
PCI Root ID Fix(PCI Root ID修正):添加 PCIRootUID=1 到 /Extra/org.chameleon.Boot.plist 文件的特定位置。
  
Instant Menu(快捷菜单):给/Extra/org.chameleon.Boot.plist 文件添加 Instant Menu=Yes脚本,或取代 Timeout=n 脚本。
  
Generate CPU States(生成CPU状态):添加GenerateCStates=Yes 和 GeneratePStates=Yes 脚本到/Extra/org.chameleon.Boot.plist文件。
  
Use KernelCache(使用内核缓存):添加UseKernelCache=Yes 语句到/Extra/org.chameleon.Boot.plist文件。使用EasyBeast 或 UserDSDT时不用选。
  
自定义设置(2)
  
自定义设置中还有System Definitions系统定义项。这个选项默认没有太大作用,主要是通过一些预编辑的smbios.plist文件,来将系统识别为特定的苹果电脑型号。


▲包含iMac等众多型号可选



 ▲默认识别成MacPro3,1
  
MacPro3,1 是使用 EasyBeast和 UserDSDT 时的默认选项,不喜欢可以选择对应的型号:有iMac、Mac Pro、MacBook Pro、Mac mini可选。
  
有一项比较特殊,如果选择Mac mini,会打开板载的HD3000核芯显卡多头输出,当然这是在使用HD3000的情况下。
  
自定义选项中还有一项Themes,主题设置项。只是提供几个开机时的主题界面,喜欢玩的话可以选一下,不改完全没问题。主题都安装在/Extra目录中。

  ▲主题
  
此选项含义如下:
  
Chameleon Default:默认变色龙主题;tonymacx86 Classic :tonymacx86 主题;tonymacx86 Remixed :tonymacx86 网友complx修改的主题。

其他软件设置  OSx86 Software:有用的OSx86工具软件,安装到Applications 目录下。个人经验是全选,这样有备无患,用起来方便。


▲OSx86软件设置
  此选项定义如下:  Kext Utility :cVad编写的kext安装, 权限和缓存修复工具。使用起来很简单,拖动文件或文件夹到程序列表或者Dock中的Kext Utility软件上即可。软件安装在/Applications文件夹,已支持10.7版Lion系统。  ShowAllFiles:在 Finder(类似Windows系统中的资源管理器)中显示隐藏文件。在寻找隐藏、引导、内核等文件时非常有用。  Extension Migration Tool的作用是 /Extra/Extensions 文件夹的内容到/System/Library/Extensions文件夹,删除/Extra/Extensions 和 /Extra/Extension.mkext,重建缓存并添加 ”UseKernelCache=Yes“脚本到 /Extra/org.chameleon.Boot.plist文件。只有从Mac OS X 10.6雪豹系统升级时才需要选择这一项。
应用实例及总结  如果没有实际操作过的话,这篇说明性质的文章理解起来可能会麻烦些,但如果使用MultiBeast给黑苹果安装驱动时,整篇就算是比较好的说明,各位可以用作参考。这里是本人黑苹果的设置实例:
▲黑苹果设置实例  每个人的电脑配置不是完全一样,因为软件版本不同,有些选项也不能照搬,但相信仔细读完MultiBeast系列文章,就可以应对大多数Intel平台黑苹果了。  总结:MultiBeast软件其实相当于一个软件包,通过选择不同选项,软件包会安装不同的驱动文件,有一些是软件所不足的,比如启动设置项是通过一些脚本来更改Extra目录下的 org.chameleon.boot.plist 文件来实现,但可选的脚本并不多,只是做了一些简单的更改。 ▲MultiBeast有的设置项也不算多  仔细看MultiBeast文章,会成为MultiBeast高手,但最后强调一点,MultiBeast也只解决了少部分硬件驱动,有一些太少见的硬件,可能需要更换来解决。
iBoot与Multibeast为超牛式intelPC上安装、启动苹果的利器。经测试,媲美EmpireEFI、超越MyHack Intaller(具以不再升级)。特为推荐。

dew2 发表于 2012-12-28 08:44

本帖最后由 dew2 于 2012-12-28 10:30 编辑

下载地址:
http://www.tonymacx86.com/downloads.php?do=cat&id=3
(可能需要注册)

扩展部分,利用multibeast修改DSDT。

由于每个人的DSDT不同,这里仅为示范,如何修改DSDT而已。。

原文出自台湾的部落格:http://benjenq.pixnet.net/blog/post/30881836

以下只是一个用户的修改例子,通过它,可以了解如何提取,修改DSDT。更多的可以查看论坛内的相关帖子

前一篇提到要完善(希望能夠完美)的解決黑蘋果音效與睡眠的問題,須用到DSDT的修改。DSDT是存在於BIOS中定義設備配置表當中的一種,由於MAC電腦的DSDT定義的方式跟一般電腦的DSDT定義內容有些出入,所以當OSX開機直接存取非MAC機器的DSDT資料時,可能讓OSX系統對設備發生某些誤判,造成OSX在開機的過程中無法成功載入驅動程式(Kext)。所以理想的方式是修改BIOS中的DSDT,儘可能修改到OSX系統可辨識的定義方式。然而這也有風險,BIOS內修改過的DSDT可能導致執行其他作業系統時發生異常,若修改過程有錯誤,還可能導致主機板整個掛點,最後得整張退回原廠修理(重灌BIOS)。

所幸這個問題有解。我們在安裝MultiBeast時勾選了UserDSDT時,會在系統Volumes的根目錄建立一個/Extra的目錄,OSX在開機時,Chimera引導程式會先讀取/Extra目錄底下的設定內容去引導OSX開機。而Chimera引導程式也支援讀取DSDT檔案功能,所以並不用冒險修改BIOS內的DSDT內容,只須事先把BIOS內的DSDT資料取出來,經過我們針對MAC屬性做適當的修改之後存成檔案,放到/Extra目錄下,以後Chimera在引導OSX開機時,只需讀取改好的DSDT檔案,提供給OSX開機程序載入Kext驅動,不用冒險修改BIOS內容,也能達到修改DSDT的目的。

修改DSDT的工具很多,不過只需要以下兩個工具就能達到目的:

DSDTSE:強大好用的DSDT內容編輯器。(论坛有下载,我这里就不发了)
每張主機板取出的DSDT內容都不一樣,不過畢竟它也是規格,所以格式上大多有些共通點。有關修改DSDT音效的方式,英文能力好的可參考toleda發表在Tonymac的文章:
Optimized AppleHDA for Realtek ALC 887/888b on Lion - Update(連結)


修改DSDT:手動編輯修改DSDT.aml檔
執行DSDTSE先將DSDT導出。


導出之後,DSDT內容格式如下:(常寫程式的人,對於這格式應該不會太陌生)


就跟程式語言一樣,括號{ }是一組,中間定義了若干參數,然而括號中又有括號的層級結構,要在適當的位置加上適當的定義,需要有點撰寫程式邏輯的基礎。如果對這個沒有把握,我想DSDT修改的方式就不適合操作了。

以下修改DSDT會使用到的功能如紅框所示:


以上是簡單介紹修改DSDT的操作方式,開始進入正題。
一、技嘉GA-H77-DS3H
黑蘋果二號主機板GA-H77-DS3H所採用的音效晶片為ALC887-VD,之所以選擇DS3H的原因,是因為技嘉其他型號的7系列主機板大多改採VIA的VT2021音效晶片,而VT2021目前沒有對應的驅動程式(Kext),就算DSDT修改正確了,也沒辦法正常驅動,只能用萬用VoodooHDA一版一版的踹。(印象中Apple沒用過VIA音效晶片,所以不太可能無中生有)
以下是針對GA-H77-DS3H主機板的修改方式(注意:其他主機板並不適用):

DSDT音效修改(2012.08.07新增:支援ALC887、內顯HD4000、獨顯AX6870的HDMI音效輸出)
1.音效I/O埠:搜尋Device (HDEF),然後在這個區段內添加以下紅字部分:

Method (_DSM, 4, NotSerialized) {
Store (Package (0x06)
{
"hda-gfx",
Buffer (0x0A)
{
"onboard-1"
},

"layout-id",
Buffer (0x04)
{
0x83, 0x01, 0x00, 0x00
},

"PinConfigurations",
Buffer (Zero) {}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
參考圖(以下的反白部分)


2. 這一段會用到蘋果MAC獨家的DTGP函數,所以需要自行找個地方添加DTGP函數定義。找個區段添加以下這一段:

Method (DTGP, 5, NotSerialized)
{
If (LEqual (Arg0, Buffer (0x10)
{
/* 0000 */ 0xC6, 0xB7, 0xB5, 0xA0, 0x18, 0x13, 0x1C, 0x44,
/* 0008 */ 0xB0, 0xC9, 0xFE, 0x69, 0x5E, 0xAF, 0x94, 0x9B
}))
{
If (LEqual (Arg1, One))
{
If (LEqual (Arg2, Zero))
{
Store (Buffer (One)
{
0x03
}, Arg4)
Return (One)
}

If (LEqual (Arg2, One))
{
Return (One)
}
}
}

Store (Buffer (One)
{
0x00
}, Arg4)
Return (Zero)
}
我把它補在DSDT內容最前面第一段,最保險也最不會出錯(下圖反白部分)。而DTGP有很多地方都用得到。參考圖:


3.接下來是讓AX6870支援HDMI音效輸出:搜尋Device (PCI0),在這個區段添加以下內容:
Device (PEGP)
{
Name (_ADR, 0x00010000)
Name (_STA, 0x0F)
Name (_PRW, Package (0x02)
{
0x09,
0x05
})
Device (GFX0)
{
Name (_ADR, Zero)
Name (_SUN, One)
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x0C)
{
"@0,name",
Buffer (0x0D)
{
"ATY,Duckweed"
},

"@1,name",
Buffer (0x0D)
{
"ATY,Duckweed"
},

"@2,name",
Buffer (0x0D)
{
"ATY,Duckweed"
},

"@3,name",
Buffer (0x0D)
{
"ATY,Duckweed"
},

"model",
Buffer (0x13)
{
"AMD Radeon HD 6870"
},

"hda-gfx",
Buffer (0x0A)
{
"onboard-1"
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}

Device (HDAU)
{
Name (_ADR, One)
Method (_DSM, 4, NotSerialized)
{
Store (Package (0x02)
{
"hda-gfx",
Buffer (0x0A)
{
"onboard-1"
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
}
}
參考圖(底下反白部分):

中间省略。。。
最後編譯成DSDT.aml丟到/Extra目錄下,並搭配MultiBeast 4.6.1的安裝音效設定 (Drivers & Bootloaders ->Kexts & Eablers ->Audio -> Realtek ALC8xx -> Patched AppleHDA -> ALC888b/887 ->v100302 Current 即可)
最后作者什么都能用了。。。。


補充叮嚀:
修改DSDT的確是有些難度,但它是讓黑蘋果運作更接近MAC的重要手段,尤其是HDMI,修改DSDT往往比踹過數十種版本的Kext還有效。有些網站或論壇也提供DSDT檔案下載,不過建議黑蘋果用戶花點精神,了解一下DSDT的修改操作,原因如下:

1.DSDT的內容是有版權的:版權屬於主機板廠商,任意散佈DSDT內容,行為上是不合法的--雖然它跟盜版沒有直接與必然的關係。修改買來自用主機板的DSDT就不會有適法性的問題,最多是主機版廠商可拒絕受理因修改DSDT可能造成的故障,更不可能對「執行OSX作業系統」的問題提供任何支援。

2.BIOS有版本的差異:不同版本的BIOS搭配不同版本的DSDT可能會發生異常。我的經驗是,就連重刷同一版本的BIOS之後,使用原來的DSDT也會出現睡眠異常,需重新產生修改DSDT。

3.不同的系統組態也會有不同的DSDT內容,就算型號與版本相同,錯用之後有時會發生問題(最常見的是休眠不醒)。參考以下內容:



dew2 发表于 2012-12-28 08:45

占楼备用

dew2 发表于 2012-12-28 08:45

占楼备用

a455157528 发表于 2012-12-28 08:48

前排支持了

p.H 发表于 2012-12-28 08:57

排版还可以更好一点~~~
加油

klzsysy 发表于 2012-12-28 09:10

前排支持了!

isaced 发表于 2012-12-28 09:12

支持下!!!!!!!

songbai188 发表于 2012-12-28 09:14

行不行啊

dew2 发表于 2012-12-28 09:38

p.H 发表于 2012-12-28 08:57 static/image/common/back.gif
排版还可以更好一点~~~
加油

重新排了

dew2 发表于 2012-12-28 09:40

songbai188 发表于 2012-12-28 09:14 static/image/common/back.gif
行不行啊

它相当于一个集合包,把你需要的都集中在一起,当然,用的好不好全看你自己.
如果要什么都不管直接用,只有白的可以满足你

songbai188 发表于 2012-12-28 09:43

呵呵谢谢只有漫漫摸索了

songbai188 发表于 2012-12-28 09:44

再问一下集显是不是不能装10.8.2

dew2 发表于 2012-12-28 09:55

songbai188 发表于 2012-12-28 09:44 static/image/common/back.gif
再问一下集显是不是不能装10.8.2

HD4000,好像10.8都可以把...

coolcat108 发表于 2012-12-28 10:24

好文章,赞一下,谢谢分享

happy贞521 发表于 2012-12-28 11:01

就期待这样的技术文多一点,等待MB教程很久了谢谢

516870 发表于 2012-12-28 11:18

学习了。。感谢楼主的热心分享!
页: [1] 2 3 4 5 6 7 8 9 10
查看完整版本: 苹果系统的驱动精灵,MultiBeast教程