Intel GMA X4500HD 集成显卡支持度讨论
请问大家知道 Intel GMA X4500HD 目前或未来是否会获得 OSx86 支持吗?我手头正考虑两台拥有长达 5 小时续航的 Acer TravelMate 笔记本电脑,分别搭载已受支持的 GMA X3100 与新款 GMA X4500HD。
- 主笔作者
-
@naquaada
发表于 2008-10-29
- 所属专区
- OSx86 10.X 核心架构与安装配置
- 典藏规模与记录
- 266,730 次历史阅读 · 29 则精选技术笔记(萃取自 32 则原始回帖) · 2008-10-29 – 2011-03-13
- 参与贡献成员 (20)
- @martin255 (4)@uman (4)@changturkey (2)@Undead Surfer (2)@asert (2)@modemthug (2)@max.1974 (2)@brizzle (2)@naquaada@scififan68@BlackCH@evb60@shanwookie@localparty@sparksthesquid@Sevan+4 more
- 相关硬件参考
- Laptop RAM & SSD Upgrades ↗ SATA III & NVMe SSDs ↗ USB 3.2 Boot Flash Drives ↗
请问各位知道 Intel GMA X4500HD 目前或未来会不会获得 OSx86 支持呢?我目前看中了以下两款笔记本电脑:
Acer TravelMate 5720-602G16_XPP(notebook sbilliger.de/product_info.php/acer_travelmate_5720602g16_xpp_3gb)以及 Acer TravelMate 5730-842G25N(notebook sbilliger.de/product_info.php/acer_travelmate_5730842g25n_3072mb)
吸引我选购这两款笔记本电脑的主要原因是它们拥有长达 5 小时的电池续航时间。但问题在于:左边那款配备的是已受支持的 GMA X3100 集显,而右边那款配备的则是 GMA X4500HD。我对显卡性能的要求其实不高,也不需要强劲的 3D 性能,平时只是用来运行日常应用程序,或者玩玩 DOS 及 Amiga 怀旧游戏。
除了显卡和更大容量的硬盘之外,两者最大的区别在于 CPU:第一款搭载 Intel Core™2 Duo T7500(2x 2.20 GHz、4 MB 二级缓存、800 MHz FSB 前端总线),第二款则搭载 Montevina 平台的 Intel Core™2 Duo P8400(2x 2.26 GHz、3 MB 二级缓存、1066 MHz FSB 前端总线)。请问这两款处理器在实际使用中的速度差异会很明显吗?
社区实测与技术补充笔记
自 32 则原始讨论回帖中萃取 29 则高价值技术回应
我很怀疑 GMA X4500 究竟有没有机会在 OS X 下正常工作,因为 Apple 已经全面改用 NVIDIA 芯片组,现在看来可能性非常渺茫。
唉,我原本还希望有人能着手开发驱动程序,或者哪怕只是让驱动程序能够切换屏幕分辨率也好,有没有 QE/CI 硬件加速其实无所谓。
changturkey,如果你只求能用上原生分辨率,目前有两个已知的变通解决方案。第一个方案是先安装 Linux,然后使用 GRUB 作为引导程序,并配合打过补丁的 915resolution 模块。这个做法相当繁琐,但已有多名用户反馈在不同分辨率下成功生效。
另一个更简单的方案,是使用原本为 Sony VAIO P 编译的定制 boot 引导文件。我们这个星期才刚发现这个方法,所以成功反馈的案例还不多。以我自己的情况(ThinkPad X200s)为例,我可以成功开到 1280x800,但上不了 1440x900。
这两个方案在 InsanelyMac 的这个帖子中都有详细说明(第一个方案从第 #38 楼开始,第二个方案从第 #106 楼开始):http://www.insanelymac.com/forum/index.php?showtopic=12… ↗
如果你只是想要特定分辨率,为什么不直接用 "Graphics Mode"="yyyxyyyxyy" 启动参数呢?
我自己过阵子可能也会对这个课题感兴趣,因为我手头可能会多一台配备这款集显的笔记本电脑。我找到了以下这些技术文档:
intellinu xgraphics.org/documentation.html
但我还没有时间仔细翻阅。大家能不能集思广益一起研究一下这份文档?基本上,我们要找的是 4500 是否能进入某种与 3100 或(退一步说)950 兼容的模式。如果可以的话,也许就能通过 Natit 或 EFI 字符串(EFI Strings)将相关属性注入到 ACPI 设备树中。
UndeadSurfer,因为那样做是没用的。显卡的 VBIOS 内置了一份支持的 VESA 模式列表,如果你想要的分辨率不在列表上面,修改 com.apple.Boot.plist 也帮不上忙。因此解决方法是在开机引导阶段临时对显卡 VBIOS 进行打补丁(Patch),这样才能获得理想的分辨率。
uman,据我所知,X4500 的架构与 X3100 差异相当大(至少根据 Intel 的官方宣传资料是这样)。它不像 X3500 只是小幅改款。不过也许你可以跟这位乐观的老兄联手研究:http://www.insanelymac.com/forum/index.php?s=&showt… ↗
@martin255uman,据我所知,X4500 的架构与 X3100 差异相当大(至少根据 Intel 的官方宣传资料是这样)。它不像 X3500 只是小幅改款。不过也许你可以跟这位乐观的老兄联手研究:http://www.insanelymac.com/forum/index.php?s=&showt… ↗
他们那套思路行不通的。Apple 根本没有公开显卡驱动程序的源代码。
@martin255UndeadSurfer,因为那样做是没用的。显卡的 VBIOS 内置了一份支持的 VESA 模式列表,如果你想要的分辨率不在列表上面,修改 com.apple.Boot.plist 也帮不上忙。因此解决方法是在开机引导阶段临时对显卡 VBIOS 进行打补丁(Patch),这样才能获得理想的分辨率。
这就奇怪了。我单位那台电脑正是用 45 系列芯片,而我通过修改 com.apple.Boot.plist 的方法成功跑在 1280x1024 分辨率下。
搞不懂,真是玄学。
UndeadSurfer,那是因为 1280x1024 本来就是 X4500 VBIOS 内置支持的标准 VESA 模式,但绝大多数宽屏(Widescreen)分辨率都不在支持列表内。
@martin255uman,据我所知,X4500 的架构与 X3100 差异相当大(至少根据 Intel 的官方宣传资料是这样)。它不像 X3500 只是小幅改款。不过也许你可以跟这位乐观的老兄联手研究:http://www.insanelymac.com/forum/index.php?s=&showt… ↗
致 Martin 以及“任何”手头上有 4500 的朋友
我仔细翻阅了 Intel 关于 4500 的技术文档,发现它们在底层架构上其实具有广泛的兼容性。从 GMA 900 演进到 GMA 4500 的过程中,Intel 将越来越多功能直接集成进芯片组内(而非依赖 CPU 运算),并且加入了针对 LVDS 等不同显示输出接口的支持。
我认为非常值得测试一下 Leopard 自带的 GMAX3100 内核扩展(Kext)能否驱动 4500 系列。有没有人可以帮忙做以下实验并反馈结果?
1. 确认你的 AppleIntelGMAX3100.kext/Contents/Info.plist 包含以下内容:
<key>IOPCIClassMatch</key>
<string>0x03000000&0xff000000</string>
<key>IOPCIMatch</key>
<string>0x00008086&0x0000ffff</string>
这段配置的意思是:只要 PCI 设备的类别代码(Class Code)为 0x03(我推断是显卡,因为 0x02 是网卡)且厂商 ID 为 8086(Intel),就会进行匹配,它不会检查设备 ID(Device ID)或子系统 ID(Subsystem ID)。
2. 确认 AppleIntelGMAX3100FB.kext/Info.plist 包含以下内容:
<key>IOPCIClassMatch</key>
<string>0x03000000&0xff000000</string>
<key>IOPCIPrimaryMatch</key>
<string>0x2A028086</string>
这段配置的意思是:它会匹配类别代码为 0x03、厂商为 8086(Intel),并且设备 ID 为 0x2A02 的 PCI 设备。
3. 将 AppleIntelGMAX3100FB.kext/Info.plist 修改为:
<key>IOPCIClassMatch</key>
<string>0x03000000&0xff000000</string>
<key>IOPCIPrimaryMatch</key>
<string>0x2A42 0x2A43 0x2E12 0x2E13 0x2E02 0x2E03 0x2E22 0x2E23 0x2E32 0x2E33</string>
以上分别是 4500MHD(2A42 2A43)、4500(2E12 2E13)、X4500 以及 X4500HD(2E02 2E03 2E22 2E23 2E32 2E33)的设备 ID。
4. 使用 -v 参数重启。打开“实用工具 / 控制台”(Utilities/Console),查看是否有任何与 GMA 内核扩展相关的日志信息。同时打开终端(Terminal)窗口并执行:
$> kextstat | grep AppleIntelGMAX3100
如果该扩展没有加载运行,就不会有任何输出结果。
这个方法很有可能完全行不通,因为内核扩展在加载时还会探测一些未暴露在 Info.plist 中的硬件属性,但无论如何值得一试。
-u
uman,我会试试看再反馈结果。事实上我之前已经见过 X3100 的内核扩展被加载,但我猜那是因为我将机型标识符(Model Identifier)注入为 MacBookAir1,1 所致(当时连其他与我硬件不符的内核扩展也一并被加载了)。
目标设备 ID 是硬编码(Hardcoded)在内核扩展的二进制可执行文件里面的;你必须用十六进制编辑器(Hex Editor)去修改它们。
@BlackCH目标设备 ID 是硬编码(Hardcoded)在内核扩展的二进制可执行文件里面的;你必须用十六进制编辑器(Hex Editor)去修改它们。
哎呀,多谢 BlackCH 在这里回复!我刚才也在 InsanelyMac 看到你的帖子了。我用 hexedit 检查过,确认那些 ID 确实硬编码在内核扩展的二进制文件里面。
Martin(或者任何有兴趣尝试的朋友):
1. 打开 AppleIntelGMAX3100FB.kext 的 Info.plist,将下面这段字符串中的 0x2A028086 替换掉:
<key>IOPCIPrimaryMatch</key>
<string>0x2A028086</string>
根据你手头上的 4500 型号,替换为以下其中一个值:
4500MHD:0x2A428086 或 0x2A438086
4500:0x2E128086 或 0x2E138086
X4500 及 X4500HD:0x2E028086 或 0x2E038086 或 0x2E228086 或 0x2E238086 或 0x2E328086 或 0x2E338086
2. 接着使用十六进制编辑器打开该内核扩展内的 AppleIntelGMAX3100FB 二进制文件,执行“查找与替换”:
查找:86 80 02 2A
替换:将你在 plist 中填写的数值进行字节序反转(Byte-reversed,即小端序 Little-Endian 格式)。例如 0x2A428086 会变成 86 80 42 2A(切勿包含 0x)。
对另一个内核扩展内的 AppleIntelGMAX3100 二进制文件也执行相同的操作。
测试后请上来反馈结果。因为我手头上没有 4500 机器,无法亲自测试,多谢帮忙!
对了,BlackCH 在 InsanelyMac 上的提醒非常中肯:所有相关的内核扩展版本必须一致(要么全部使用原版 Leopard 10.5.x 的文件,要么全部使用集成显卡组合更新包的版本)。
-u
@uman他们那套思路行不通的。Apple 根本没有公开显卡驱动程序的源代码。
这个嘛,我们虽然没有从头编写驱动程序,但我们已经让 Framebuffer 帧缓冲区成功工作了,而且我们相信距离开启 QE/CI 已经很接近,目前只差其他高人推一把,最好是对设备注入字符串(Injection Strings)有深入研究的大神……
@Undead Surfer这就奇怪了。我单位那台电脑正是用 45 系列芯片,而我通过修改 com.apple.Boot.plist 的方法成功跑在 1280x1024 分辨率下。搞不懂,真是玄学。
证实可行。我用的是 Intel DG45ID 主板,在 10.5.7 下通过 OSXTools > Add EFI Strings/Boot Flag 修改了分辨率设置。
我现在成功运行于 1280x1024x32@60Hz。
修改过 plist 与二进制文件的内核扩展无法正常加载显示
@uman哎呀,多谢 BlackCH 在这里回复!我刚才也在 InsanelyMac 看到你的帖子了。我用 hexedit 检查过,确认那些 ID 确实硬编码在内核扩展的二进制文件里面。Martin(或者任何有兴趣尝试的朋友):1. 打开 AppleIntelGMAX3100FB.kext 的 Info.plist,将下面这段字符串中的 0x2A028086 替换掉:IOPCIPrimaryMatch 0x2A028086 根据你手头上的…
uman:
很遗憾,你的方案在我的 Snow Leopard 10.6.2 / Dell Latitude E6500 上行不通。
我的 Latitude 配备的是 Intel GMA X4500MHD,“系统概述”(System Profiler)也确认了厂商为“Intel 0x8086”、设备 ID 为“0x2a42”。我已经修改了 AppleIntelGMAX3100.kext 与 AppleIntelGMAX3100FB.kext 两者的 Info.plist,加入:
<key>IOPCIPrimaryMatch</key>
<string>0x2A428086</string>
同时,我也用 Hex Fiend 将 AppleIntelGMAX3100 与 AppleIntelGMAX3100FB 两个二进制可执行文件中所有出现的十六进制数值 86 80 02 2A 全部替换为:
86 80 42 2A
我可以确定系统有尝试加载修改后的内核扩展,因为在开机过程中,灰色苹果标志会短暂出现,接着整个屏幕就完全黑屏。看起来 OS X 系统本身有继续加载,但显卡驱动程序无法在屏幕上输出任何画面。当我换回未修改的原版内核扩展时,就能顺利开机进入系统,只是分辨率停留在惨不忍睹的 1024x768。
我安装的版本是由 SnowOSX3.6-A.iso 安装的“SnowOSX Universal v3.6 (10.6.2) | 3.6 GB”。
顺带一提,我已经成功搞定了声卡,并在开机时通过输入 "Graphics Mode"="1920x1200x32" 获得了差强人意的 1600x1200 分辨率;不过我的显示器并非 1600x1200,我真正需要的是完整的 1920x1200x32 =(
另外补充一点,由于你在说明中只提到“替换”,没有明确指出是否要替换“所有出现的位置”,所以我也试过只替换第一个出现的十六进制数值。虽然结果显而易见,但我还是想让大家知道我也做过这个尝试,结果同样是负面的:依然是黑屏。
希望你还有其他点子可以让我们继续尝试 =) 恳请指教 =)
我愿意出价 $200.00 美元悬赏开发者,为 Snow Leopard 10.6.2 下的 Intel 4500MHD 开发支持 QE/CI 的修复方案。该方案必须兼容未来的系统更新。只要我确认补丁能够正常工作,就会立即通过 PayPal 或汇票支付现金。请通过本帖与我联系,如果你提出的方案有说服力,我会提供详细联系方式。这个内核扩展将会用在配备 4500MHD 的 Dell Inspiron 1545 上。
只接受认真的提案,非诚勿扰。
这里提供一个至少能解决原生分辨率问题的方案:这是一个修改版的 Chameleon RC4 引导程序。请先移除任何 X3100 的内核扩展并按照 README 说明操作。这个 boot 文件是我在 InsanelyMac 上找到并整合进 Chameleon 的,所以我不敢居功;但它确实非常好用,能让开机画面与菜单呈现出更接近“真正 Mac”的视觉效果与正确分辨率,而且同时支持 10.5.x 与 10.6.x。
我已经试遍了这个内核扩展的所有可能改法,InsanelyMac 上也有人发布过好几个同类内核扩展的修改版,但对我来说全都没有用。如果有人能为我指点迷津就太好了。
分辨率虽然上去了,但画面渲染出来的效果非常恐怖,满屏幕都是上下跳动的线条,而且整个画面还笼罩着一层紫色偏色,很难用语言形容。
我也试过 Chameleon 的 915resolution 补丁,老实说对我的情况完全没有区别。
硬件配置:
处理器:Intel Core 2 Duo T6400 @ 2.00GHz
内存:4GB DDR2 RAM
显示器:17 英寸 LED 宽屏显示器
显卡:Intel Graphics 4500MHD 1.7GB 动态显存,具备 VGA 及 HDMI 输出(DevID:0x2a42)
硬盘:Western Digital WD3200BEVT-75ZCT2 320GB
有线网卡:Broadcom NetLink Gigabit Ethernet 10/100/1000Mbps
无线网卡:Dell 1510 Wireless-N Draft 2
声卡:IDT HD-Audio 及 Intel HDMI Audio
光驱:TSSTcorp DVD+-RW TS-T633A
操作系统:Windows 7 Ultimate x64 及 Mac OS X Snow Leopard 10.6.2(零售原版)
我想我拿到相关的内核扩展了
我自己没有装黑苹果(Hackintosh),我家里用的是 iMac 和一台老款铝合金(非 Unibody 一体成型机身)MacBook Pro。我最近看到关于新款 MacBook Pro 的介绍,发现它们的混合双显卡系统中包含了 Intel HD Graphics 集成显卡。因为我没有 Hackintosh,无法亲自测试。不过,我从 Apple 官方网站下载了最新的 MacBook Pro 软件更新包,花了大约 30 分钟研究 XAR 解压工具,终于成功从安装包中提取出这些内核扩展(现在 OS X 已经不允许直接对 .pkg 文件右键选择“显示包内容”了)。如果这招管用的话请告诉我,我猜应该有机会行得通。
rapid share.com/files/377968637/Intel_HD_kexts.zip.html
我没有付费高级账号,所以这个链接最多只能让 10 个人下载,而且我也没有其他网盘空间可以托管文件……如果测试有效的话,有没有人可以帮忙分流?
这里提供一个更好的内核扩展下载链接:
media fire.com/?jjmtwijjo5i
各位试过新款 MacBook Pro 的系统更新包了吗?里面包含了 Intel HD 显卡的驱动程序,而且新版内核(Kernel)也加入了对 Core i5M 与 i7M 处理器的支持,大家不妨试试看。不过我认为单靠内核扩展本身是无法工作的,因为你还需要一并换上更新版的 OpenGL 框架(Frameworks)等相关组件。
我正准备再次在我的 Lenovo IdeaPad U350 上安装 Mac 系统,上次尝试时我没能让它以 1366x768 分辨率正常显示。
我安装了 Kalyway 10.5.2,但屏幕分辨率只有 1024x768,画面看起来很差。
这是我的笔记本电脑配置。
请问我该如何将分辨率改为 1366x768?请告诉我最简单的修改方法。
不好意思,因为我是 Mac OS X 的新手。
众筹悬赏开发内核扩展
正如 Asert 所说,我们已经厌倦了漫无目的地等待遥遥无期的补丁,我们愿意付费请人开发这个驱动程序。我想在世界各地召集 50 个真正有意愿赞助开发 Intel GMA 4500 HD 硬件加速内核扩展的用户,应该不会太难。我非常乐意(用真金白银的美金)支持这样的项目。如果我有时间的话一定会自己动手试,但目前实在分身乏术……
有没有技术高超的开发者愿意毛遂自荐接下这个任务?
Intel GMA 4500 内核扩展依然无法工作
在我的机器上还是没用……我原本抱着极大期望的!这是我唯一欠缺的驱动了……我早就对那个该死的 Camphor 无线网卡项目死心了,那家伙根本不会兑现承诺……但 Intel GMA 4500 的驱动简直是世纪难题!:'(
只要有开发者能搞定,等我实测确认这张该死的显卡能正常工作后,我保证立即通过 PayPal 奉上 100 美金!我说到做到!
喂 Steve(Jobs)!我也有在 App Store 买软件的好吗?行行好搞定它吧!
GMA 4500 替代驱动程序
我为 GMA 4500 找到了一个替代方案:去 kexts.com 的 Intel 显卡下载区搜索,它叫做“apple 3100 fb kexts”。里面有两个驱动程序可供下载,千万不要下载标着 4500 的那一个;用这个替代驱动可以帮你开到 720p 分辨率并识别出 512MB 显存。虽然未能发挥显卡的全部性能,但总比困在 800x600 分辨率好得多。
GMA 4500 替代驱动程序
我为 GMA 4500 找到了一个替代方案:去 kexts.com 的 Intel 显卡下载区搜索“4500mhd kexts __ apple 3100 fb”。里面有两个驱动程序可供下载,千万不要下载标着 4500 的那一个;用这个替代驱动可以帮你开到 720p 分辨率并识别出 512MB 显存。虽然未能发挥显卡的全部性能,但总比困在 800x600 分辨率好得多。
请问……你可以把下载链接发出来分享给我们(以及其他用户)吗?不过如果这个内核扩展只能提供原生分辨率的话,那我老早就已经搞定了……无论如何先多谢你提供信息……
文献来源与贡献者溯源名录(共 20 位具名成员 · 原始讨论串 #1521)
| 成员用户名 | 本卷贡献角色 | 发帖数 | 活跃时间窗 |
|---|---|---|---|
| @martin255 | 核心贡献者 | 4 | 2009-06-18 → 2009-06-30 |
| @uman | 核心贡献者 | 4 | 2009-06-24 → 2009-07-01 |
| @changturkey | 协作成员 | 2 | 2008-12-08 |
| @Undead Surfer | 协作成员 | 2 | 2009-06-24 → 2009-06-25 |
| @asert | 协作成员 | 2 | 2010-02-04 → 2010-02-09 |
| @modemthug | 协作成员 | 2 | 2010-04-20 |
| @max.1974 | 协作成员 | 2 | 2011-01-09 → 2011-03-13 |
| @brizzle | 协作成员 | 2 | 2011-03-13 |
| @naquaada | 主笔作者 | 1 | 2008-10-29 |
| @scififan68 | 协作成员 | 1 | 2008-12-08 |
| @BlackCH | 协作成员 | 1 | 2009-06-30 |
| @evb60 | 协作成员 | 1 | 2009-07-06 |
| @shanwookie | 协作成员 | 1 | 2009-07-14 |
| @localparty | 协作成员 | 1 | 2010-01-23 |
| @sparksthesquid | 协作成员 | 1 | 2010-02-08 |
| @Sevan | 协作成员 | 1 | 2010-02-14 |
| @JaS | 协作成员 | 1 | 2010-04-20 |
| @pflaume | 协作成员 | 1 | 2010-05-13 |
| @danhtho | 协作成员 | 1 | 2010-06-15 |
| @mesco64 | 协作成员 | 1 | 2010-11-09 |