macOS如何正确驱动集成显卡HDMI(包括视频和音频)
聊聊如何正确驱动集成显卡HDMI(包括视频和音频)
必备条件:
1、必须使用AppleHDA驱动声卡(仿冒、clover、applealc都可以的),使用voodoo驱动声卡应该不行的。
2、dsdt或者ssdt中关于集成显卡的gfx0改为IGPU。
- #Maintained by: RehabMan for: Laptop Patches#graphics_Rename-GFX0.txt
- # Note: Most DSDT/SSDTs use GFX0 for the integrated graphics device,# but there are few renegades that use VID or AGP1.# If your DSDT uses VID or AGP1 instead of GFX0, see the # alternate patch "Rename VID/AGP1 to IGPU"
- # sometimes there is already IGPU used for other thingsinto_all all code_regex IGPU, replaceall_matched begin IGFX, end;
- # rename GFX0 -> IGPU for better power managementinto_all all code_regex GFX0\. replaceall_matched begin IGPU. end;into_all all code_regex \.GFX0 replaceall_matched begin .IGPU end;into_all all code_regex \sGFX0, replaceall_matched begin IGPU, end;into_all all code_regex \(GFX0 replaceall_matched begin (IGPU end;into_all all label GFX0 set_label begin IGPU end;into_all all label _SB.PCI0.GFX0 set_label begin _SB.PCI0.IGPU end;into_all all label \_SB.PCI0.GFX0 set_label begin \_SB.PCI0.IGPU end;into_all all label _SB.PCI0.GFX0.DD02 set_label begin _SB.PCI0.IGPU.DD02 end;into_all all label \_SB.PCI0.GFX0.DD02 set_label begin \_SB.PCI0.IGPU.DD02 end;into_all all label ^^^GFX0 set_label begin ^^^IGPU end;into_all all label ^^GFX0 set_label begin ^^IGPU end;into_all all label ^GFX0 set_label begin ^IGPU end;
复制代码
3、对于Haswell/Broadwell集成显卡:dsdt需要打入补丁 renaming B0D3 to HDAU (device at 0x00030000)
- #Maintained by: RehabMan for: Laptop Patches
- #graphics_Rename-B0D3.txt
- # for DSDT
- into method label _WAK code_regex B0D3 replaceall_matched begin HDAU end;
- into definitionblock code_regex B0D3 replaceall_matched begin HDAU end;
- # for GFX0 SSDT
- # Note: Change your layout ID if you need something different
- # inject "hda-gfx"="onboard-1" into IGPU (GFX0 originally)
- into method label _DSM parent_adr 0x00020000 remove_entry;
- into device name_adr 0x00020000 insert
- begin
- Method (_DSM, 4, NotSerialized)\n
- {\n
- If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }\n
- Return (Package()\n
- {\n
- "hda-gfx", Buffer() { "onboard-1" },\n
- })\n
- }\n
- end;
- # inject "hda-gfx"="onboard-1" into HDAU (B0D3 originally)
- into method label _DSM parent_adr 0x00030000 remove_entry;
- into device name_adr 0x00030000 insert
- begin
- Method (_DSM, 4, NotSerialized)\n
- {\n
- If (LEqual (Arg2, Zero)) { Return (Buffer() { 0x03 } ) }\n
- Return (Package()\n
- {\n
- "layout-id", Buffer() { 12, 0x00, 0x00, 0x00 },\n
- "hda-gfx", Buffer() { "onboard-1" },\n
- })\n
- }\n
- end;
- into device label B0D3 set_label begin HDAU end;
- into method label SBCB code_regex B0D3 replaceall_matched begin HDAU end;
复制代码
4、dsdt中,对于HDAU、IGPU、HDEF三个装备注入相同的"hda-gfx" = "onboard-1" or= “onboard-2”
5、对于Haswell/Broadwell集成显卡,dsdt中HDAU和HDEF注入的layout id要一致。
6、对于Haswell集成显卡还要安装rehabman的FakePCIID.kext和FakePCIID_Intel_HDMI_Audio.kext
7、最重要的一点是要对fb(kext)打入恰当的补丁,即要修改连接类型(00 04 00 00)为(00 08 00 00)匹配物理连接,此处修改fb结合自己的ig-platform-id。苹果的设备大多采用DP连接(00 04 00 00),我们大多数笔记本采用HDMI(00 08 00 00)连接,如果你的是DP连接无需修改fb。
ig-platform-id:集成显卡注入的此属性有以下对应关系
0x01660003: HD4000 1366x768
0x01660004: HD4000 1600x900, 1920x1080
0x01660008: HD4000 1600x900, 1920x1080
0x01660009: HD4000 1600x900, 1920x1080
0x0a260006: HD4400/HD4600/HD5000
根据自己集成显卡注入的ig-platform-id结合以下信息,选择正确的补丁打入clover或者二进制文件
- <key>KextsToPatch</key>
- <array>
- <dict>
- <key>Comment</key>
- <string>HDMI-audio, port 0105(12), 0x0a2e0008, 0x0a16000c, 0x0a2e000d, 0x0a26000d</string>
- <key>Disabled</key>
- <true/>
- <key>Find</key>
- <data>
- AQUJAAAEAAAHAQAA
- </data>
- <key>Name</key>
- <string>AppleIntelFramebufferAzul</string>
- <key>Replace</key>
- <data>
- AQUSAAAIAAAHAQAA
- </data>
- </dict>
- <dict>
- <key>Comment</key>
- <string>HDMI-audio, port 0204, 0x0d220003, 0x0a2e000a, 0x0a26000a</string>
- <key>Disabled</key>
- <true/>
- <key>Find</key>
- <data>
- AgQKAAAEAACHAAAA
- </data>
- <key>Name</key>
- <string>AppleIntelFramebufferAzul</string>
- <key>Replace</key>
- <data>
- AgQKAAAIAACHAAAA
- </data>
- </dict>
- <dict>
- <key>Comment</key>
- <string>HDMI-audio, port 0204, 0x0a2e0008, 0x0a16000c, 0x0a2e000d, 0x0a26000d</string>
- <key>Disabled</key>
- <true/>
- <key>Find</key>
- <data>
- AgQJAAAEAAAHAQAA
- </data>
- <key>Name</key>
- <string>AppleIntelFramebufferAzul</string>
- <key>Replace</key>
- <data>
- AgQJAAAIAAAHAQAA
- </data>
- </dict>
- <dict>
- <key>Comment</key>
- <string>HDMI-audio, port 0105, 0x0a2e0008, 0x0a16000c, 0x0a2e000d, 0x0a26000d</string>
- <key>Disabled</key>
- <true/>
- <key>Find</key>
- <data>
- AQUJAAAEAAAHAQAA
- </data>
- <key>Name</key>
- <string>AppleIntelFramebufferAzul</string>
- <key>Replace</key>
- <data>
- AQUJAAAIAAAHAQAA
- </data>
- </dict>
- <dict>
- <key>Comment</key>
- <string>HDMI-audio, port 0204(12), 0x0d220003, 0x0a2e000a, 0x0a26000a</string>
- <key>Disabled</key>
- <true/>
- <key>Find</key>
- <data>
- AgQKAAAEAACHAAAA
- </data>
- <key>Name</key>
- <string>AppleIntelFramebufferAzul</string>
- <key>Replace</key>
- <data>
- AgQSAAAIAACHAAAA
- </data>
- </dict>
- <dict>
- <key>Comment</key>
- <string>HDMI-audio, port 0204, 0x0a260005 0x0a260006</string>
- <key>Disabled</key>
- <true/>
- <key>Find</key>
- <data>
- AgQJAAAEAACHAAAA
- </data>
- <key>Name</key>
- <string>AppleIntelFramebufferAzul</string>
- <key>Replace</key>
- <data>
- AgQJAAAIAACHAAAA
- </data>
- </dict>
- <dict>
- <key>Comment</key>
- <string>HDMI-audio, port 0105(12), 0x0a260005 0x0a260006, 0x0d220003, 0x0a2e000a, 0x0a26000a</string>
- <key>Disabled</key>
- <true/>
- <key>Find</key>
- <data>
- AQUJAAAEAACHAAAA
- </data>
- <key>Name</key>
- <string>AppleIntelFramebufferAzul</string>
- <key>Replace</key>
- <data>
- AQUSAAAIAACHAAAA
- </data>
- </dict>
- <dict>
- <key>Comment</key>
- <string>HDMI-audio, port 0204(12), 0x0a260005 0x0a260006</string>
- <key>Disabled</key>
- <true/>
- <key>Find</key>
- <data>
- AgQJAAAEAACHAAAA
- </data>
- <key>Name</key>
- <string>AppleIntelFramebufferAzul</string>
- <key>Replace</key>
- <data>
- AgQSAAAIAACHAAAA
- </data>
- </dict>
- <dict>
- <key>Comment</key>
- <string>HDMI-audio, port 0105, 0x0a260005 0x0a260006, 0x0d220003, 0x0a2e000a, 0x0a26000a</string>
- <key>Disabled</key>
- <true/>
- <key>Find</key>
- <data>
- AQUJAAAEAACHAAAA
- </data>
- <key>Name</key>
- <string>AppleIntelFramebufferAzul</string>
- <key>Replace</key>
- <data>
- AQUJAAAIAACHAAAA
- </data>
- </dict>
- <dict>
- <key>Comment</key>
- <string>HDMI-audio, port 0204(12), 0x0a2e0008, 0x0a16000c, 0x0a2e000d, 0x0a26000d</string>
- <key>Disabled</key>
- <true/>
- <key>Find</key>
- <data>
- AgQJAAAEAAAHAQAA
- </data>
- <key>Name</key>
- <string>AppleIntelFramebufferAzul</string>
- <key>Replace</key>
- <data>
- AgQSAAAIAAAHAQAA
- </data>
- </dict>
- </array>
复制代码
此文来源于rehabman大神,原帖参考:[guide]Intel IGPU HDMI/DP audio:http://www.tonymacx86.com/threads/guide-intel-igpu-hdmi-dp-audio-sandy-ivy-haswell-broadwell.189495/
macOS如何正确驱动集成显卡HDMI(包括视频和音频)的更多相关文章
- Ubuntu 14.04(64位)+GTX970+CUDA8.0+Tensorflow配置 (双显卡NVIDIA+Intel集成显卡) ------本内容是长时间的积累,有时间再详细整理
(后面内容是本人初次玩GPU时,遇到很多坑的问题总结及尝试解决办法.由于买独立的GPU安装会涉及到设备的兼容问题,这里建议还是购买GPU一体机(比如https://item.jd.com/396477 ...
- Ubuntu16安装Nvidia驱动(GTX1060显卡)
欢迎访问我的GitHub https://github.com/zq2599/blog_demos 内容:所有原创文章分类汇总及配套源码,涉及Java.Docker.Kubernetes.DevOPS ...
- MongoDB学习笔记~关于官方驱动集成IQueryable之后的一些事
回到目录 关于官方驱动集成IQueryable之后的一些事,有好事也有坏事,好事就是它会将你的linq语句非常友好的翻译成MongoDB语句,而坏事就是有一些linq语句不会被翻译,不会被翻译的代价就 ...
- ubuntu开机自动关闭独显,使用集成显卡
我的本子是联想y470p-ise,因为是有双显卡,而ubuntu在开机后,双显卡默认是同时工作,会产生巨大的发热,导致很不爽.而且在ubuntu下基本我也不用独显,所以有开机关闭独显的需求. ubun ...
- 索尼Sony ATI显卡驱动 Win7 Win8 Win8.1 视频黑屏 解决方法
索尼ATI显卡驱动 Win7 Win8 Win8.1 视频 黑屏 完美解决方法: 下载这个补丁 安装 即可 解决 ! baidu pan: http://pan.baidu.com/s/1gd ...
- 优化 VR 动作类游戏《Space Pirate Trainer*》以便在英特尔® 集成显卡上实现卓越的表现
Space Pirate Trainer* 是一款面向 HTC Vive*.Oculus Touch* 和 Windows Mixed Reality* 的原创发行游戏.版本 1.0 于 2017 年 ...
- BIOS简单设置 解析“集成显卡”内存占用问题
很多使用集成显卡的用户会发现,在系统信息窗口中,内存容量和实际不一样.比如系统内存显示4GB,可用3.48G之类.这不可用的一部分内存到哪去了? 其实减少的这部分内存是被集成显卡占用当做显存使用了.而 ...
- 英特尔的Gen11集成显卡性能再次发力
这是英特尔首个达到 1 TeraFLOP 算力的图形模块,与第九代酷睿移动版的性能相比,15W Ice Lake-U 在游戏测试场景中,平均帧速率的性能提升了 40%. 与同等的 AMD 产品相比,英 ...
- Capstone CS5265规格书|CS5265参数|TYPEC转HDMI音视频转换拓展坞芯片
一.CS5265总概 Capstone CS5265 USB Type-C到HDMI转换器结合了USB Type-C输入接口和数字高清多媒体接口(HDMI)输出.嵌入式微控制器(MCU)基于工业标准8 ...
随机推荐
- thinkphp5文件上传问题
tp5中文件上传如果没有数据就会报错,所以要先做一个判断 //先接收文件数据 $isfile=$_FILES;//判断是否上传图片数据,如果没有上传数据二位数组中的name会为空,如下例:if($is ...
- 黑马MySQL数据库学习day03 级联 多表查询 连接和子查询 表约束
/* 存在外键的表 删表限制: 1.先删除从表,再删除主表.(不能直接删除主表,主表被从表引用,尽管实际可能还没有记录引用) 建表限制: 1.必须先建主表,再建从表(没有主表,从表无法建立外键关系) ...
- css3中的变形(transform)、过渡(transtion)、动画(animation)
Transform字面上就是变形,改变的意思.在CSS3中transform主要包括以下几种:旋转rotate.扭曲skew.缩放scale和移动translate以及矩阵变形matrix.下面我们一 ...
- P1089津津的储蓄计划
题目描述 津津的零花钱一直都是自己管理.每个月的月初妈妈给津津300300元钱,津津会预算这个月的花销,并且总能做到实际花销和预算的相同. 为了让津津学习如何储蓄,妈妈提出,津津可以随时把整百的钱存在 ...
- java里如何使用输入流和输出流实现读取本地文件里内容和写出到本地文件里
不多说,直接上干货! 第一种方法 PWDemo.java package zhouls.bigdata.DataFeatureSelection.filter; import java.io.File ...
- awk 分解行、字段
1. 格式 格式: awk 'pattern {action} pattern {action}' filename 注:多个文件时,读取从左到右,读完第一个再读取第二个 pattern 1-/正则表 ...
- 内核的执行头程序head.S
功能 定义data段和text段 重新手动初始化gdt表, idt表, tss表结构 初始化页表和页目录 --> 页目录的数据放在一个页表中 在页目录中, 其实地址为0x1000, 初始化页目录 ...
- Java学习笔记--继承和多态(上)
1.通过继承来开发超类(superclass) 2.使用super 关键词唤起超类的构造方法 3.在超类中覆盖方法 4.区分override和overload 5.在Object类中探索toStrin ...
- Unity C# 运用 GetSaveFileName() 导出Excel文件
本文原创,转载请注明出处:http://www.cnblogs.com/AdvancePikachu/p/6944870.html 唉哟,这次厉害咯,网上搜罗了好久,终于被我找到汉化的保存对话框了,根 ...
- 【干货】JavaScript DOM编程艺术学习笔记10-12【完】
十.用JavaScript实现动画效果 鼠标放到链接上,每次只显示图片的一小部分,加快加载速度. js: function prepareSlideshow(){ //对象检测 if(!documen ...