English | 简体中文
本项目面向 Audi MHI2Q 平台,用于将 CarPlay 原生 AltScreen / 第二屏导航画面直接显示至车辆的 Virtual Cockpit。核心显示链路已完成实车验证。操作前请先阅读 SD 卡说明。
目前已降低水印透明度,预计十月中旬完全去除运行水印。
Note
姊妹项目:MMI Mirror
如果你希望显示的是 MMI 中控完整画面镜像,而不是 CarPlay 原生第二屏,请前往:
MHI2Q-CarPlay-MMI-Mirror
Warning
当前仓库提供的是基于实车验证显示链路的 先行公开版本。完整开发版本已经包含更多功能,但考虑到此前免费测试成果曾被未经允许包装和倒卖,我们不会在第一次公开时一次性发布全部功能。
后续会在完成整理、稳定性验证和兼容性确认后,逐步将成熟功能更新到公开版本。
当前版本并非演示代码,现有 CarPlay AltScreen 第二屏功能已经可以正常实车使用。
本项目最初就是基于我们自己的车辆和日常使用需求进行开发,当前开发与测试范围以 MHI2Q / 中国区(CN)固件为主。我们目前不会针对 MHI2 平台,也不会针对 US / ER 等其他地区固件主动开展适配。如果你的车辆不在当前已验证范围内,请不要默认其具备兼容性,也不要绕过安装脚本的检查强制安装。
免费分享,禁止倒卖。
可以学习、研究和交流,但请不要把免费的测试与开发成果重新包装后用于牟利。
Important
本项目会修改车机系统文件。安装、启动或恢复过程中请保持 SD 卡连接和车机供电稳定。
安装或恢复完成后,请按照页面中的步骤完整重启车机 / HMI,再判断结果。
请勿在驾驶过程中进行安装、更新、恢复或故障处理。
- CarPlay 原生 AltScreen
- CarPlay 主屏正常使用,不受第二屏影响
- STATUS 状态诊断
- 安全安装与恢复
- 安装 / 恢复中断保护
- 原车配置恢复
- 日志与 SD 卡备份
- 核心显示链路已在 中国区 AUG22 固件完成实车验证
- 方向盘滚轮控制 CarPlay 地图缩放
- 更完整的 RGI 导航信息联动
- Classic / Sport 动态布局适配
上述功能会根据稳定性、兼容性和整理进度,逐步更新到后续公开版本。MHI2 平台以及 US / ER 等其他地区固件的适配目前不在本项目计划内。
dcd1abf40089c808b5c1035c86d023b2.mp4
a3bb2a2460e47ee38071c56a2ca26825.mp4
Important
本仓库现在只提供 CarPlay AltScreen 覆盖包,不再包含完整 MIB2 Toolbox 安装器。
- 红色软件更新菜单只用于安装 / 修复上游 jilleb/mib2-toolbox。
- 本项目本身不能直接通过红色菜单安装。
- 本项目应在上游 Toolbox 已正常安装后,通过绿色菜单里的
MQBCoding → Update Toolbox写入菜单和脚本。 - 如果绿色菜单里的
Update Toolbox提示Script not found或缺少/eso/hmi/engdefs/scripts/mqb/update_toolbox.sh,先重新安装 / 修复上游 Toolbox,再继续本项目。
- 先在车机信息页确认固件版本。本项目面向安装脚本能够核验的 AUG22 固件;版本不符或无法确认时停止操作,不要绕过检查。
- 车辆停稳并保持稳定供电。备份正在使用的 SD 卡及原车文件,准备一张可正常读写的 FAT32 SD 卡。如果旧卡已有
MMI-Cockpit-Carplay目录,换卡时完整保留;其中有原车备份,日后恢复需要这张备份卡。 - 如果车上已经能够正常进入
Green Developer Menu → MQBCoding,并且Update Toolbox可以正常执行且不会提示 Script not found,可直接跳到第 2 节。 - 如果车上尚未安装上游 Toolbox,或者绿色菜单存在但
Update Toolbox已损坏 / 提示脚本不存在,请前往 jilleb/mib2-toolbox 下载最新完整版本并解压。将上游包内的文件和目录复制到 SD 卡根目录,不要再套一层 ZIP 名称文件夹。 - 车机中只插这一张 SD 卡,进入红色菜单,选择
Software updates/versions → Update → SD 卡 → MQB Coding MIB2 Toolbox。等待软件更新和自动重启全部完成,不要提前拔卡或断电。 - 重启完成后,进入
Green Developer Menu → MQBCoding,确认Update Toolbox能正常执行。如果上游安装包不被识别,检查 FAT32、根目录结构和上游说明;仍被拒绝就停止,不要强制刷入。
- 在电脑上保留上游完整 MIB2 Toolbox SD 卡内容,不要删除其
metainfo2.txt、Toolbox/final/、Toolbox/GEM/mqb-main.esd、Toolbox/scripts/update_toolbox.sh或其他上游文件。 - 下载本仓库 ZIP 并解压。这里使用的是已编译的上车覆盖文件,不需要复制源码或编译目录。将本仓库的
Toolbox/目录合并到 SD 卡根目录已有的Toolbox/目录:- 同名文件:使用本项目版本覆盖;
- 上游独有文件:全部保留;
- 从本项目旧版更新时,删除卡上
Toolbox/carplay_alt_screen/mirror_display/release/内旧版的logo.rgba和watermark.rgba;新版不再使用它们; - 不要清空后再复制,也不要把本项目当成一张独立的红菜单安装卡。
- 也可以同时复制
SD_CARD_README.txt和SHA256SUMS-SD.txt到卡根目录。若更换 SD 卡,务必同时完整保留MMI-Cockpit-Carplay原车备份目录。 - 正确结构应类似:
SD 卡根目录/
├─ metainfo2.txt ← 上游 Toolbox 保留
├─ Toolbox/
│ ├─ final/ ← 上游 Toolbox 保留
│ ├─ GEM/
│ │ ├─ mqb-main.esd ← 上游 Toolbox 保留
│ │ └─ mqb-carplayAltScreen.esd← 本项目
│ ├─ scripts/
│ │ ├─ update_toolbox.sh ← 上游 Toolbox 保留
│ │ └─ ...AltScreen scripts... ← 本项目
│ └─ carplay_alt_screen/ ← 本项目 payload
├─ SD_CARD_README.txt
└─ SHA256SUMS-SD.txt
- 不要出现
SD卡/Toolbox/、MHI2Q-CarPlay-AltScreen/Toolbox/之类的额外层级。 - 在 SD 卡根目录用 Git Bash、Linux 或其他提供
sha256sum的环境运行:
sha256sum -c SHA256SUMS-SD.txt确认本项目清单中的文件均为 OK。该清单只校验本项目覆盖文件,不校验上游完整 Toolbox。
- 将合并后的 SD 卡插回车机。
- 打开
TESTMODE → Green Developer Menu → MQBCoding。 - 执行
Update Toolbox。此步骤由上游 Toolbox 的更新脚本负责把 SD 卡中的Toolbox/scripts/和Toolbox/GEM/同步到车机。 - 更新完成后退出并重新打开绿色菜单,进入:
Customization
└─ MMI-Cockpit-Carplay
- 如果此时仍提示:
Script not found:
/eso/hmi/engdefs/scripts/mqb/update_toolbox.sh
说明车机上的上游 Toolbox 基础安装本身仍未修复。不要继续执行本项目的 INSTALL,应返回第 1 节重新修复上游 Toolbox。
在 MMI-Cockpit-Carplay 菜单中按以下顺序操作,每步完成后再进行下一步:
- 断开 iPhone / CarPlay,避免安装过程中正在输出导航视频。
- 选择
INSTALL。等待执行结束;看到INSTALL=PASS且提示reboot_required=YES后,完整重启车机。若出现FAIL,先记录提示并停止后续步骤。 - 重启完成后选择
START。等待START=PASS和reboot_required=YES,然后再次完整重启车机。若失败,不要直接跳到连接手机。 - 第二次重启后连接 iPhone、进入 CarPlay 并启动导航。观察 Virtual Cockpit 是否出现第二屏画面且能随导航更新。收到有效第二屏视频后,启动 Logo 缩至原大小的 80%、居中显示约 2 秒;运行时参考项目原始的“免费开源,禁止倒卖”水印会按参考程序的逐帧节奏在可见视频区域内漂移、碰边折返。启动 Logo 不是整车开机 Logo。
- 在 CarPlay 导航运行时打开
STATUS。PHYSICAL_ROUTE_READY=SOFTWARE_CHAIN_COMPLETE表示脚本观察到视频解码、显示链路和 Context 80 等软件条件;仍须亲眼确认仪表实际显示画面。PHYSICAL_ROUTE_READY=NO表示条件未齐,按输出中的缺失项检查。 - 若完全看不到
MMI-Cockpit-Carplay菜单,先确认上游绿菜单正常、SD 卡目录层级正确,并确认MQBCoding → Update Toolbox已成功执行。 - 若
Update Toolbox本身报Script not found,这是上游 Toolbox 基础安装问题,不是本项目第二屏安装脚本的问题;先用上游完整包通过红色软件更新菜单修复 Toolbox。 - 若 SD 卡找不到,核对 FAT32、卡根目录文件和读写状态。若
STATUS不就绪,确认已连接 CarPlay 且导航正在输出,再记录状态及日志;不要反复强制执行START。 STORE LOGS + RESTORE会尽力保存诊断日志,随后立即恢复原车配置;它不是只导出日志的按钮。需要保留第二屏运行时,不要选择它。
- 插入保留了
MMI-Cockpit-Carplay原车备份目录的 SD 卡,在菜单选择RESTORE ORIGINAL;若要先收集日志再恢复,选择STORE LOGS + RESTORE。 - 等待
RESTORE=PASS和reboot_required=YES,然后完整重启车机。恢复会删除本项目的 HMI JAR,并还原相关原车配置。 - 如果安装或恢复中断,运行会保持关闭。保留原备份卡,先重新执行
RESTORE ORIGINAL,确认恢复成功后再考虑重新INSTALL;不要在恢复未完成时继续START。
详细运行说明见 SD 卡说明。车机修改有黑屏或需要恢复的风险。
本项目由 yuedizhibo 和 Lanye-z 共同开发。仓库根目录的 PolyForm Noncommercial 1.0.0 许可仅适用于相应权利人有权按该许可发布的原创部分:允许非商业使用、修改和分发;商业使用须另行取得相关权利人的许可。本仓库提供运行二进制、安装脚本和说明,未提供构建该 QNX 二进制的 C/C++ 源码;由于限制商用,该许可不属于 OSI 定义的开源许可。
运行时水印像素取自 Lanye-z 的 MMI Mirror 项目,保留原始 196×32 尺寸,当前最高不透明度约为 10%。仓库中包含第三方文件,其原有授权不因仓库根目录的许可而改变。上游 MIB2 Toolbox 的 MIT 许可和镜像运行组件的独立许可均须保留;使用或再分发时应分别遵守其条款。
研究与实现参考项目:
- LIVI:CarPlay 主屏与仪表第二屏协议行为的研究参考。
- mib2q-carplay-rgi:MHI2Q 的 CarPlay 导航引导、HMI 与仪表交互参考。
- MIB2 High Toolbox:SD 卡工具链、工程菜单及脚本的上游项目。
当前推荐版本:
main
└── AUG22 / V2.1
└── 中国区实车验证完成
当前公开版本以稳定、可安装、可恢复为优先目标;后续功能将分阶段更新。
本项目当前公开的是可安装运行包与相关说明,并不代表完整开发版本的全部功能已经一次性公开。
免费分享,禁止倒卖。