HD4000+ALC269完美输出HDMI音视频,其他非ALC8XX声卡也可参考!
以前在tonymacx86看到关于hd4000的hdmi audio专题说目前仅能驱动alc8XX声卡所以我也就没再折腾下去,昨天研究hd4000的vga输出时发现可以在AppleIntelFramebufferCapri里面自定义显卡的接口信息,于是经过爬文反复测试终于搞定我的alc269的hdmi音频输出了,先上效果图!未插hdmi前:
教程开始:
1. 首先将你的HD4000显卡用dsdt驱动,具体代码参考下面我的,需要注意ig-platform-id用你自己的! Method (_DSM, 4, NotSerialized)
{
Store (Package (0x06)
{
"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)
}2. 声卡用dsdt+仿冒AppleHDA驱动(VoodooHDA未测试),dsdt代码参考我的,注意layout-id用你自己的声卡驱动里面对应的id,我的是86Method (_DSM, 4, NotSerialized)
{
Store (Package (0x06)
{
"hda-gfx",
Buffer (0x0A)
{
"onboard-1"
},
"layout-id",
Unicode ("V"),
"PinConfigurations",
Buffer (Zero) {}
}, Local0)
DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
Return (Local0)
}
3. 至此只要你的显卡id选择适当HDMI视频输出应该没什么问题,但是hdmi的音频输出估计大部分非alc8XX声卡都没有,下面此帖关键内容开始:
a. 首先核对你的AppleIntelFramebufferCapri.kext版本号,最新的10.8.2系统里面应该是8.6.22(如果不是该版本后面需要自行对比查找修改的起始地址),然后根据你的AAPL,ig-platform-id在这个http://iatkos.me/forum/viewtopic.php?f=77&t=23300页面里面找到里面给的修改起始地址(比如我的AAPL,ig-platform-id: 01660003,starts from the line 0005c090h in Hex),将里面的起始地址(我的是0005c090h)+ff0h(这个偏移量是我自己算出来了,以后的版本里面不一定使用的)即为你的修改起始位置(我的最后的修改起始位置即0005d080h)。
b. 用Ultraedit或者HexEdit打开
S/L/E/AppleIntelFramebufferCapri.kext/Contents/MacOS/AppleIntelFramebufferCapri根据你的hd4000有几个Ports,然后从起始修改位置选取连续的几个12字节,比如我的是4*12=48字节正好如图3行:
然后每12字节一行整理后结果如下:
@0, 05 03 00 00 02 00 00 00 30 00 00 00 // LVDS
@1, 02 05 00 00 00 04 00 00 07 04 00 00 // HDMI
@2, 03 04 00 00 00 04 00 00 81 00 00 00 // DVI
@3, 04 06 00 00 00 04 00 00 81 00 00 00 // DVID
注意,最好不要直接用哪个帖子里面现成的内容,我的就和他给出的不一样,而且用他最后修改的后连笔记本内置屏幕都黑了。每行的最前面的前4个字节,如“05 03 00 00”(有的是“”01 00 00 00“)表示这是LVDS接口,第5-8四个字节代表了连接类型(即用IORegistryExplorer查看到的connector-type):
”02 00 00 00“一般是内置LVDS的连接类型,而我们要修改hdmi音频则需找到以"02 05 00 00"开头的行(我的是第二行),将其连接类型”00 04 00 00“改为”00 08 00 00“(这才是HDMI的连接类型),最后4个字节的内容”07 04 00 00 “(具体含义我也不太清楚)HDMI要改为”06 00 00 00 “,最后的修改效果:
@0, 05 03 00 00 02 00 00 00 30 00 00 00
@1, 02 05 00 00 00 08 00 00 06 00 00 00
@2, 03 04 00 00 00 04 00 00 81 00 00 00
@3, 04 06 00 00 00 04 00 00 81 00 00 00
c. 保存文件,然后安装修改好的AppleIntelFramebufferCapri.kext驱动,重启用hdmi接上电视进行测试吧!(我的必须开机后接hdmi,不然变色龙不能启动图形模式,而且回车确定后会自动重启电脑)。
另外还可以修改最后一行”04 06 00 00 00 04 00 00 81 00 00 00“的内容使HD4000支持VGA接口的显示器或者投影仪,有兴趣的可以试试。老外帖子里面说有2种改法,改成”06 02 00 00 02 00 00 00 30 00 00 00“或者”06 02 00 00 01 00 00 00 30 00 00 00“,不过我都没成功,系统启动后开始两个都可以正常显示,但是进桌面前内置lcd白屏,外界显示器白花屏。
页:
[1]