整合intel各代核显驱动以及笔记本亮度调节方法
本帖最后由 13469977015002 于 2016-6-7 14:28 编辑----------------------------------------------------------------------------------
教程所需的软件
AIDA64: http://pan.baidu.com/s/1cDPOmU 密码: xkv8
----------------------------------------------------------------------------------
提取DSDT教程
关于DSDT和SSDT的介绍
小白可以理解DSDT和SSDT是bios中的一些文件,当我们启动windows系统时,系统会读取这些文件从而知道我们的电脑有什么样的硬件,系统知道了硬件才能驱动他。因为我们的电脑和苹果电脑的bios不一样所以当启动苹果系统时,mac不会加载DSDT,提取DSDT的目的是让四叶草强制加载他,用DSDT来告诉mac我们电脑有什么样的硬件。打开AIDA64
DSDT最好保存的时候就把名字改为DSDT.aml
SSDT不同的机子个数不同,保存的时候名字按照
SSDT-1.aml
SSDT-2.aml
一直往下排
------------------------------------------------------------------------------------------------------
关于修改DSDT的一些常识
再改DSDT打补丁之前,需要改DSDT改错,如果遇到实在不会改的错误可以留意
。打开maciasl
这里有4.0和5.0编译器
如果你的bios不支持UEFI或EFI引导那么使用4.0编译器并且DSDT可以直接打开修改
反之使用5.0编译器,而且在修改前需要进行联合反编译
下面教大家如何联合反编译DSDT和SSDT
在桌面新建文件夹命名为DSDT
将提取的DSDT和SSDT全放进去
下载文件iasl,解压它
打开应用程序/实用工具里面的终端
输入
cd desktop/DSDT
iasl -da *.aml
成功后DSDT文件夹会生产很多dsl文件
修改dsl文件到无错,然后保存成aml格式,方法如下
保存后的aml如果打开就又会有错误,
保存后不用打开就可以使用,这样就必须备份dsl文件,当需要修改dsdt时还需要它。
下文中有方法解决此问题。
下面教大家在不连网的情况下给DSDT打补丁
下载文件dxxs-DSDT-Patch-master和Laptop-DSDT-Patch-master放在桌面
左边的Name可以随便填写
右边分别填写
file:///Users/明芯/desktop/dxxs-DSDT-Patch-master
file:///Users/明芯/desktop/Laptop-DSDT-Patch-master
其中明芯要改成你mac的用户名
这样就可以给DSDT打上合适的补丁
-----------------------------------------------------------------------------------------------
关于intel酷睿系列核显驱动亮度调节方法介绍
①二代CPU
这里分6系列主板和7系列主板
6系列主板设置机型为pro8.1即可免驱
7系列主板需要仿冒显卡ID,并设置机型pro8.1
四叶草设置机型8.1代码如下
<key>SMBIOS</key>
<dict>
<key>BiosReleaseDate</key>
<string>04/22/11</string>
<key>BiosVendor</key>
<string>Apple Inc.</string>
<key>BiosVersion</key>
<string>MBP81.88Z.0047.B0E.1104221557</string>
<key>Board-ID</key>
<string>Mac-94245B3640C91C81</string>
<key>BoardManufacturer</key>
<string>Apple Inc.</string>
<key>BoardType</key>
<integer>10</integer>
<key>ChassisAssetTag</key>
<string>MacBook-Aluminum</string>
<key>ChassisManufacturer</key>
<string>Apple Inc.</string>
<key>ChassisType</key>
<string>08</string>
<key>Family</key>
<string>MacBook Pro</string>
<key>Manufacturer</key>
<string>Apple Inc.</string>
<key>Mobile</key>
<true/>
<key>ProductName</key>
<string>MacBookPro8,1</string>
<key>SerialNumber</key>
<string>C02F95DPDH2G</string>
<key>Trust</key>
<false/>
<key>Version</key>
<string>1.0</string>
</dict>7系列主板仿冒显卡ID只需要给DSDT打上补丁
对于亮度调节,只需要给DSDT打上亮度补丁(HD3000和HD4000亮度补丁一样)
添加_DSM函数如下Method (_DSM, 4, NotSerialized)// _DSM: Device-Specific Method
{
Store (Package (0x08)
{
"built-in",
Buffer (One)
{
0x00
},
"device_type",
Buffer (0x08)
{
"display"
},
"model",
Buffer (0x17)
{
"Intel HD Graphics 3000"
},
"hda-gfx",
Buffer (0x0A)
{
"onboard-2"
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
②3代CPU
如果你的主板支持UEFI或者EFI那么你的显卡函数是定义在SSDT中
可参考4代CPU教程,把显卡函数从SSDT复制到DSDT
注入AAPL,ig-platform-id=0x01660003即可驱动显卡四叶草注入方法如下
DSDT驱动方法为复制以下(_DSM)函数到Device (GFX0)
Method (_DSM, 4, NotSerialized)// _DSM: Device-Specific Method
{
Store (Package (0x14)
{
"AAPL,slot-name",
Buffer (0x08)
{
"Slot -1"
},
"built-in",
Buffer (One)
{
0x01
},
"AAPL,HasPanel",
Unicode ("\x01"),
"AAPL,Haslid",
Unicode ("\x01"),
"AAPL,backlight-control",
Unicode ("\x01"),
"@0,backlight-control",
Unicode ("\x01"),
"@0,AAPL,boot-display",
Unicode ("\x01"),
"device-id",
Buffer (0x04)
{
0x66, 0x01, 0x00, 0x00
},
"AAPL,ig-platform-id",
Buffer (0x04)
{
0x03, 0x00, 0x66, 0x01
},
"hda-gfx",
Buffer (0x0A)
{
"onboard-1"
}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}如果报错,添加以下补丁
亮度补丁同HD3000
③4代CPU(HD4400和HD4600)
首先介绍使用四叶草驱动HD4400/HD4600的方法
IntelGFX=0x04128086(仿冒显卡ID)
ig-platform-id=0x0a260006(注入ig-platform-id)
四叶草里面需要放入FakePCIID_HD4600_HD4400和FakePCIID
对于①和②使用DSDT一样可以做到
并且DSDT可以让你调节亮度
首先将DSDT和SSDT联合反编译
并修改错误,先给DSDT打补丁
这个补丁的作用是将GFX0改名成IGPU,不能打此补丁的可手动修改GFX0为IGPU
这个补丁的作用是仿冒显卡ID等效于
IntelGFX=0x04128086(仿冒显卡ID)
这是HD3000用的ID,所以要手动修改
搜索Device (IMEI)
"device-id", Buffer() { 0x3A, 0x1C, 0x00, 0x00 },
"name", "pci8086,1c3a",修改为
"device-id", Buffer() { 0x12, 0x04, 0x00, 0x00 },
"name", "pci8086,0412",接下来在所有的SSDT中搜索
Device (GFX0)
给找到的SSDT打补丁
Rename GFX0 TO IGPU
Brightness fix(Hasewell)作用:亮度调节
将以下的函数复制到Device(IGPU)中,作用等效于ig-platform-id=0x0a260006
Method (_DSM, 4, NotSerialized)
{
If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }
Return (Package()
{
"AAPL,ig-platform-id", Buffer() { 0x06, 0x00, 0x26, 0x0a },
"hda-gfx", Buffer() { "onboard-1" },
})
}
下面需要将SSDT里面的内容复制到DSDT,从Scope (\_SB.PCI0)开始复制,一直复制到末尾,但是不要最后一个括号。
现在最重要的是复制到DSDT中哪一个位置,在DSDT中搜Device (EHC1)
这里可以看到Device (EHC1)是Scope (_SB.PCI0)下的子项
找到Scope (_SB.PCI0)末尾的括号就是需要找的位置
点击Scope (_SB.PCI0)下面的函数就可以轻松的找到Scope (_SB.PCI0)的末尾
如果你找的位置正确,当你把鼠标光标放在那个位置左边会自动定义到DSDT的头部
External中文意思为外部的
在SSDT开始部位可以找到很多这样的内容
这是外部调用函数
在其下面会有这样的定义
复制这个内容直到另外一个结尾的括号
需要将其复制到DSDT里面的外部调用函数下面
点击编译会有2种类型的错误,第一种
错误原因
例如第一个错误IGDS
在我们复制SSDT内容之前,DSDT是通过外部调用这个IGDS
但是现在这个IGDS被我们复制到DSDT
造成了同一个名称的量有2种定义
所以删除外部调用即可
对于第一个错误就是删除
External (IGDS, FieldUnitObj)
第二种错误
HDOS没在DSDT和SSDT-8中定义
SSDT-8是通过外部调用函数使用它
解决办法在SSDT中找到对应的外部调用声明复制到DSDT中
前面说过支持UEFI的主板提取的DSDT,修改无错后保存成aml之前打开又会有错误,原因在于UEFI启动的bios中核显函数定义在SSDT里面,这样造成DSDT里面缺少重要的函数,所以单独打开DSDT.aml文件就会出错,但是如果是台式机无核显的U提取的文件就无此情况,现在我们已经将核显函数从SSDT复制进DSDT,这样保存成DSDT.aml后打开就应该无错了。不排除有特殊情况的DSDT除了显卡函数,还有重要的函数定义在SSDT
在有些笔记本的SSDT里面搜不到Device (GFX0)
仔细查看发现显卡函数原来在这里Scope (\_SB.PCI0.GFX0)
按照之前的教程先联合编译DSDT和SSDT,无错无警告后打上补丁
DSDT补丁
Rename GFX0 to IGPU
HD3000 on 7-series(并手动修改ID)
---------------------------------------
SSDT补丁
Rename GFX0 to IGPU
当我把整个Scope (\_SB.PCI0.GFX0)复制进DSDT里面后出现一个无法修复的错误
解决方法如下
我提供一个模板将Scope (\_SB.PCI0.GFX0)和Scope (\_SB.PCI0.B0D3)的内容复制到模板内
Scope (_SB.PCI0)
{
Device (IGPU)
{
}
}我们找开始复制的内容比较容易,找结尾比较难。这里还是通过点击需要复制函数的下一个函数,下一个函数的开始就是这个函数的结尾。注意看图:
按照之前的方法复制模板中的内容到DSDT
接下来把SSDT中外部调用函数下面的定义复制到DSDT
接下来编译DSDT比之前多出一种错误
解决方法删除里面的\_SB.PCI0.B0D3.
复制_DSM函数到DSDT
Method (_DSM, 4, NotSerialized)// _DSM: Device-Specific Method
{
If (LEqual (Arg2, Zero))
{
Return (Buffer (One)
{
0x03
})
}
Return (Package (0x04)
{
"AAPL,ig-platform-id",
Buffer (0x04)
{
0x06, 0x00, 0x26, 0x0A
},
"hda-gfx",
Buffer (0x0A)
{
"onboard-1"
}
})
}
亮度函数通过补丁也不能自动打了,手动添加以下函数
④5代CPU
按照此方法驱动5代CPU的核显请确保专用视频内存小于128MB
首先需要用四叶草的KextsToPatch给驱动打补丁
<key>KextsToPatch</key>
<array>
<dict>
<key>Comment</key>
<string>Disable minStolenSize less or equal fStolenMemorySize assertion, 10.10.x (based on Austere.J patch)</string>
<key>Disabled</key>
<true/>
<key>Find</key>
<data>
Oc92PA==
</data>
<key>Name</key>
<string>AppleIntelBDWGraphicsFramebuffer</string>
<key>Replace</key>
<data>
Oc/rPA==
</data>
</dict>
<dict>
<key>Comment</key>
<string>Disable minStolenSize less or equal fStolenMemorySize assertion, 10.11.beta ( (based on Austere.J patch)</string>
<key>Disabled</key>
<true/>
<key>Find</key>
<data>
QTnEdj4=
</data>
<key>Name</key>
<string>AppleIntelBDWGraphicsFramebuffer</string>
<key>Replace</key>
<data>
QTnE6z4=
</data>
</dict>
</array>
参考4代CPU中的方法把显卡函数从SSDT复制到DSDT
DSDT注入AAPL,ig-platform-id函数如下
Method (_DSM, 4, NotSerialized)
{
If (LEqual (Arg2, Zero))
{
Return (Buffer (One)
{
0x03
})
}
Return (Package (0x08)
{
"device-id",
Buffer (0x04)
{
0x16, 0x16, 0x00, 0x00
},
"AAPL,ig-platform-id",
Buffer (0x04)
{
0x02, 0x00, 0x16, 0x16
},
"model",
Buffer (0x17)
{
"Intel HD Graphics 5500"
},
"hda-gfx",
Buffer (0x0A)
{
"onboard-1"
}
})
}亮度调节函数同四代CPU
⑤六代CPU
参考4代CPU中的方法把显卡函数从SSDT复制到DSDT
DSDT注入AAPL,ig-platform-id函数如下Method (_DSM, 4, NotSerialized)
{
If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }
Return (Package()
{
"AAPL,ig-platform-id", Buffer() { 0x00, 0x00, 0x1B, 0x19 },
"hda-gfx", Buffer() { "onboard-1" },
})
}亮度调节函数同四代CPU
以上调节亮度的方法不需要放入第三方驱动,否则可能会5国
本小白表示支持。 学习,谢谢分享 感谢分享!! 前排支持楼主分享 支持楼主分享 {:7_428:} 放到网盘好些,这样币浪费的太多了点。 tushendage 发表于 2016-5-25 20:42 https://www.pcbeta.com/static/image/common/back.gif
放到网盘好些,这样币浪费的太多了点。
百度云会失效啊 帮运教程中的软件
{:5_273:}
HD3000 如何才能调节亮度? 喜旸旸 发表于 2016-5-25 21:35 https://www.pcbeta.com/static/image/common/back.gif
HD3000 如何才能调节亮度?
亮度补丁HD3000和4000是同一个补丁(补丁后面有HD3000/4000字样)
HD440046005500又是一个补丁 感谢楼主,好人啊 小白表示支持 谢谢楼主啦,到时试试看
学习,谢谢分享 感谢楼主分享 感谢分享,嘻嘻 hd4400,嗯看下 不错的基础教程,收藏、学习了 感谢分享看看