本帖最后由 zenglg1977 于 2016-4-18 23:35 编辑
我的机子的配置是Asus Z170-P + i7 6700,主板输出接口有HDMI和DVI,可同时连接两个显示器,并且HDMI音频输出正常。
ALC声卡是ALC887,Intel声卡是0x80862809。
若不想采用DSDT进行配置,可通过Clover配置也可,可参考29F
530显卡的设备ID为0x19120000,BIOS中设置的Pre DVT值(记不住)为64M
1) 目前我显卡注入的DSDT相关代码如下:
"hda-gfx", Buffer (0x0A) { "onboard-1" },
"AAPL,ig-platform-id", Buffer (0x04) { 0x00, 0x00, 0x1b, 0x19 }
2) 对AppleIntelSKLGraphicsFramebuffer驱动打补丁如下: <dict> <key>Comment</key> <string>HDMI</string> <key>Find</key> <data> AAQAAIcBAAACBAoAAAQAAA== </data> <key>Name</key> <string>AppleIntelSKLGraphicsFramebuffer</string> <key>Replace</key> <data> BAAAAIcBAAACBAoAAAgAAA== </data> </dict> 具体就是:修改两端口输出的类型,即把DP输出修改为DVI或者HDMI,即 00040000 87010000 02040A00 00040000 ==> 04000000 87010000 02040A00 00080000
其中00040000为DP,04000000为DVI,00080000为HDMI
3) 声卡为一卡两功能输出,相当于两个声卡,一个是ALC887,一个是Intel声卡,具体的DSDT配置如下: "hda-gfx", Buffer (0x0A) { "onboard-1" },
"layout-id", Buffer (0x04) { 0x03, 0x00, 0x00, 0x00 },
"PinConfigurations", Buffer (Zero) {}
必须保证声卡和显卡的hda-gfx对应的值要相同,这里是"onboard-1"
声卡是通过仿冒实现,目前前置HD输出和后面的输出都正常
4) 把DSDT中的HECI修改为IMEI,这个为了去掉log中的错误log,使得硬件工作正常。
Device (HECI)
{
Name (_ADR, 0x00160000) // _ADR: Address
Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
{
If (PCIC (Arg0))
{
Return (PCID (Arg0, Arg1, Arg2, Arg3))
}
}
}
==>
Device (IMEI)
{
Name (_ADR, 0x00160000) // _ADR: Address
Method (_DSM, 4, NotSerialized) // _DSM: Device-Specific Method
{
If (PCIC (Arg0))
{
Return (PCID (Arg0, Arg1, Arg2, Arg3))
}
}
}
Clover的配置文件:
DSDT文件:
|