Skip to content

realme GT2 Master Explorer (RMX3551): UniXNU UEFI bring-up ​

Axiang-dev/UniXNU-rmx3551

realme GT2 Master Explorer (RMX3551), iPadOS18 Darwin24 format2 migration and board adaptation

源记录: porting.toml, 45c829bf7479a132c9e989fa5ffd5fb6814e706a.

本页按设备记录自动生成。

部分状态
配置implemented
固件与启动implemented
CPU 与中断implemented
内存与 DMAimplemented
存储与根卷implemented
显示implemented
输入implemented
GPUimplemented
网络implemented
音频implemented
电源implemented
镜像组装implemented
诊断implemented
mobilegestalt-device-informationimplemented
native-category-volumeimplemented
native-ringtone-display-wakeimplemented
main-gpu-metal-ringer149implemented
adreno-ringer-freeze150implemented
control-center-native-ringtone151implemented
upstream-metal-keyboard152implemented
gpu-guide-memory-bgra153implemented
gpu-real-execution-hotpath155implemented
metal-interface-ui-stalls156implemented
gpu-priority-timing160implemented
audio-wake-active-acquire162implemented
audio-prepare-command-stages163implemented
lock-sound-admission164implemented
scheduling-metal-audio-clock165implemented
submit-retirement-publication166implemented
frame-ownership-pac167implemented
local-runtime-integrationimplemented
cumulative-runtime-pr167implemented

配置 ​

implemented

组件: Rmx3551Platform24.

硬件与依赖 ​

  • Pong live Android DT、NothingOSS SM8475源码与匹配22H374 restore

配置 ​

  • board.toml、pong_ipados18_defconfig 与对应板级配置

操作步骤 ​

  • 选择 ARM64、SM8475、22H374 和 Pong 四层配置,数组完整列出。

开发经验 ​

  • 格式2原生构建依赖已补齐公开固定来源、local.toml路径和配置前置条件;本轮为未发布的本地源码审计。
  • drivers/ 下 12 个板级驱动已拆到 Chengdong-Yu/pong-* 独立仓库并以 submodule 引用,路径名不变;AdrenoMetal 仍 pin 上游 c6d29ca。

完成条件 ​

  • 在设备上观察该接口的实际工作结果并保存对应日志

当前范围 ​

  • SM8475公共层与Pong聚合源码分目录固定;平台组件进一步拆分待完成。

下一步 ​

  • 读取本轮启动日志并继续完成板级接口

证据 ​

固件与启动 ​

implemented

组件: Rmx3551Platform24.

硬件与依赖 ​

  • Pong live Android DT、NothingOSS SM8475源码与匹配22H374 restore

配置 ​

  • board.toml、pong_ipados18_defconfig 与对应板级配置

操作步骤 ​

  • 复用 Pong UEFI,DarwinBoot24 接管真实可分配区间并使用 PSCI。

开发经验 ​

  • 现有设备可进入桌面,物理内存与可分配内存分别记录。
  • drivers/DarwinBoot24 改为 Chengdong-Yu/pong-darwin-boot24 submodule,路径与构建脚本不变。

完成条件 ​

  • 在设备上观察该接口的实际工作结果并保存对应日志

当前范围 ​

  • 固件输入与UEFI源码在独立仓库。

下一步 ​

  • 读取本轮启动日志并继续完成板级接口

证据 ​

CPU 与中断 ​

implemented

组件: Rmx3551Platform24.

硬件与依赖 ​

  • Pong live Android DT、NothingOSS SM8475源码与匹配22H374 restore

配置 ​

  • board.toml、pong_ipados18_defconfig 与对应板级配置

操作步骤 ​

  • 使用 0x000..0x700 affinity、GICv3 和 19.2 MHz timer。

开发经验 ​

  • services90基于services89八核first boot完成记录,新增非RT/非绑定线程的空闲核心排序X2→A710→A510;保留全部native推荐核心、RT和绑定规则,编译通过,实机性能待确认。
  • services81实际启动8核,EPSS最高非boost请求为CPU0-3 1804800kHz、CPU4-6 2496000kHz、CPU7 2995200kHz;性能问题不能简单归因于没有开启多核。
  • drivers/ArmCpu、drivers/ArmDTPlatform 改为 Chengdong-Yu/pong-arm-cpu、pong-arm-dt-platform submodule。

完成条件 ​

  • 在设备上观察该接口的实际工作结果并保存对应日志

当前范围 ​

  • 请求频率并非持续有效频率测量;未运行性能基准。

下一步 ​

  • 读取本轮启动日志并继续完成板级接口

证据 ​

内存与 DMA ​

implemented

组件: Rmx3551Platform24.

硬件与依赖 ​

  • Pong live Android DT、NothingOSS SM8475源码与匹配22H374 restore

配置 ​

  • board.toml、pong_ipados18_defconfig 与对应板级配置

操作步骤 ​

  • 从实际不连续 DRAM 和保留区接管已取得所有权的 RAM。

开发经验 ​

  • 物理容量12GiB;此前受管容量9728MiB,不能将物理空洞分配给VM。
  • drivers/PongAdreno/ArmSmmu4K 随 PongAdreno 迁到 Chengdong-Yu/pong-adreno submodule。

完成条件 ​

  • 在设备上观察该接口的实际工作结果并保存对应日志

当前范围 ​

  • 尚未接通全部物理内存。

下一步 ​

  • 读取本轮启动日志并继续完成板级接口

证据 ​

存储与根卷 ​

implemented

组件: Rmx3551Platform24.

硬件与依赖 ​

  • Pong live Android DT、NothingOSS SM8475源码与匹配22H374 restore

配置 ​

  • board.toml、pong_ipados18_defconfig 与对应板级配置

操作步骤 ​

  • 原生 UFS + 22H374 IOStorageFamily,独立 OS/SystemOS/Data 窗口。

开发经验 ​

  • 8GiB可写UFS Data已有启动记录;本轮只准备本机OS更新,未写入手机。
  • drivers/NativeUfs 改为 Chengdong-Yu/pong-ufs submodule;RootLayout 与 SmmuTakeover 路径不变。

完成条件 ​

  • 在设备上观察该接口的实际工作结果并保存对应日志

当前范围 ​

  • 分区与镜像输入本地保存。

下一步 ​

  • 读取本轮启动日志并继续完成板级接口

证据 ​

显示 ​

implemented

组件: Rmx3551Platform24.

硬件与依赖 ​

  • Pong live Android DT、NothingOSS SM8475源码与匹配22H374 restore

配置 ​

  • board.toml、pong_ipados18_defconfig 与对应板级配置

操作步骤 ​

  • Pong 1080x2412、stride4320;DCS背光和原有显示服务。

开发经验 ​

  • services83驱动耗时约40–52ms/帧;services84复用线性纹理并将scanout导入限定为三帧,保留缓存维护和真实fence。
  • services85 DBV写入后回读32并永久停用;services86加入LP优先、锁存等待和有界重试,保留真实错误及后续请求。
  • services86显示服务连续SIGSEGV引发SpringBoard/replicatord退出;services87修复GPU连接所有权回退,桌面结果待实机确认。
  • services87 写00b4后读22/00/b4,services88修正GET字节序,保留原始DBV和真实错误,允许后续请求。
  • drivers/PongPower/PongBacklight* 随 PongPower 迁到 Chengdong-Yu/pong-power submodule。

完成条件 ​

  • 在设备上观察该接口的实际工作结果并保存对应日志

当前范围 ​

  • 120Hz为显示模式;新一轮实际帧率与滑块调光未确认。

下一步 ​

  • 读取本轮启动日志并继续完成板级接口

证据 ​

输入 ​

implemented

组件: Rmx3551Platform24.

硬件与依赖 ​

  • Pong live Android DT、NothingOSS SM8475源码与匹配22H374 restore

配置 ​

  • board.toml、pong_ipados18_defconfig 与对应板级配置

操作步骤 ​

  • Goodix Berlin-D,PM8350实体按键转HID/原生音量控制。

开发经验 ​

  • services83已有真实音量按下/释放与共享增益更新;services84将待确认边沿的去抖读取缩短为8ms,回退轮询16ms。
  • services86实体gain显示独立短暂HUD,达到上下限停止重复,保留PMIC transition来源。
  • services88删除notify直改增益/HUD,实体音量键经标准键盘/Consumer报告进入原生HID parser;电源与触控路径保留。
  • 用户确认services112系统输入法正常;该结论不等于音量键已验证。services113保留原输入法和按键实现。

完成条件 ​

  • 在设备上观察该接口的实际工作结果并保存对应日志

当前范围 ​

  • 短按和音频联动需设备确认。

下一步 ​

  • 读取本轮启动日志并继续完成板级接口

证据 ​

GPU ​

implemented

组件: Rmx3551Platform24.

硬件与依赖 ​

  • Pong live Android DT、NothingOSS SM8475源码与匹配22H374 restore

配置 ​

  • board.toml、pong_ipados18_defconfig 与对应板级配置

操作步骤 ​

  • SM8475 A730、实际固件、SMMU、Turnip与22H374 Metal ABI。

开发经验 ​

  • services89桌面后出现BV opcode fault(0x2000/0x70970001);services90按Nothing gen7与Linux a7xx补齐IB1LIST起止标记,保留fence、同步和故障BO所有权,编译通过,是否消除故障待确认。
  • services81已有实际GPU scanout完成记录;一段日志为49帧/7873ms,驱动约55ms/帧。
  • services82配套内核与Metal前端使用8项源映射/导入缓存和独立source_id,保留实际fence和DMA隔离;已编译。
  • services86为scanout建立独立Vulkan上下文,缩小缓存维护范围,真实fence和错误保留策略不变。
  • services86独立Vulkan device与Turnip全局dw连接冲突,导致backboardd空指针崩溃;services87撤销该路径,复用单一真实设备/独立queue。
  • services113: actual compiled NativeAdrenoUserClient now allocates stable 128-entry chunks on demand; preserves BO/queue/fence ownership. Device refusal reason and original status retained. Wallpaper outcome pending.
  • drivers/PongAdreno、drivers/PongMetal、drivers/AdrenoMetal 改为独立 submodule(pong-adreno、pong-metal、pong-adreno-metal)。

完成条件 ​

  • 在设备上观察该接口的实际工作结果并保存对应日志

当前范围 ​

  • 未进行性能基准;尚未取得services82设备帧率或稳定性结果。

下一步 ​

  • 读取本轮启动日志并继续完成板级接口

证据 ​

网络 ​

implemented

组件: Rmx3551Platform24.

硬件与依赖 ​

  • Pong live Android DT、NothingOSS SM8475源码与匹配22H374 restore

配置 ​

  • board.toml、pong_ipados18_defconfig 与对应板级配置

操作步骤 ​

  • Pong PCIe0/QCA6490,82项PHY序列、GPIO80/94/95/96/204、RPMh。

开发经验 ​

  • services89在物理电源采样中提前退出、未加载固件;services90在既有稳定期限内重试失败的完整SPMI样本,仍需真实物理供电就绪,继续使用Pong活动槽QCA6490固件,编译通过。
  • services83完成真实station和13个热点扫描,未再见RDDM;services84修补19字节能力枚举、媒体列表和物理接口查询。
  • services86实际扫描15个BSS,未见关联/DHCP成功;界面缺失主因为显示服务崩溃。
  • services88根据22H374 IO80211原生用户客户端补齐selector0请求转交、selector1/7能力查询,移除自制设置页面和board私有控制API;扫描/连接复用真实station。
  • services89修补新增原生请求15KiB OOL描述符在readBytes/writeBytes前未prepare的错误,输入输出配对prepare/complete;保留services88接口与运行时,启动恢复待实机确认。
  • 用户确认services112 Wi-Fi连接正常,services113不改动QCA6490固件、关联路径或现有Data配置。
  • drivers/PongWifi 改为 Chengdong-Yu/pong-wifi submodule。

完成条件 ​

  • 在设备上观察该接口的实际工作结果并保存对应日志

当前范围 ​

  • 扫描已确认;设置列表、关联与IP联网仍需新一轮实机结果。

下一步 ​

  • 读取本轮启动日志并继续完成板级接口

证据 ​

音频 ​

implemented

组件: Rmx3551Platform24.

硬件与依赖 ​

  • Pong live Android DT、NothingOSS SM8475源码与匹配22H374 restore

配置 ​

  • board.toml、pong_ipados18_defconfig 与对应板级配置

操作步骤 ​

  • ADSP/GPR/APM、TFA9873双扬声器、MI2S LPAIF0 tertiary/SD0。

开发经验 ​

  • services83实体HAL已连接但未见StartIO;services84删除插件内非法重入客户端HAL的路由线程,补齐身份和class qualifier过滤。
  • services86实体gain/mute变化通知HAL属性缓存,记录真实设备发现结果;尚无StartIO或出声确认。
  • services88删除SpringBoard直改增益客户端,补齐标准HAL静音对象、OwnedObjects/ControlList与通知;现有UID匹配通用驱动,尚无StartIO或PCM出声证据。
  • services113 preserves the repaired real HAL port selection; fixes the ADSP mapping failure that prevented physical output readiness. Audible PCM remains unconfirmed.
  • drivers/PongPower 音频源改为 Chengdong-Yu/pong-power submodule。

完成条件 ​

  • 在设备上观察该接口的实际工作结果并保存对应日志

当前范围 ​

  • 实体PCM播放尚未确认;不发布不存在的输入端口。

下一步 ​

  • 读取本轮启动日志并继续完成板级接口

证据 ​

电源 ​

implemented

组件: Rmx3551Platform24.

硬件与依赖 ​

  • Pong live Android DT、NothingOSS SM8475源码与匹配22H374 restore

配置 ​

  • board.toml、pong_ipados18_defconfig 与对应板级配置

操作步骤 ​

  • SM8475 ADSP/RPMh、PMIC battery管理和Pong电源策略。

开发经验 ​

  • services90对照Nothing qti_battery_charger修正0x04通知订阅为TYPE_NOTIFY,兼容精确匹配的订阅响应,继续向IOPMPowerSource发布真实状态;充电显示待实机确认。
  • services84按Nothing协议使用USB_ADAP_TYPE=7识别源,并按最大电流/输入限值描述适配器;不改固件充电控制。
  • services86同轮fresh快照、真实VBUS存在判断、两轮source确认和5秒刷新,充电控制仍归固件。
  • services112 REC: ADSP stage9 failed at whole-carveout CPU mapping, leaving battery/audio unavailable. services113 loads bounded physical slices with original Pong PAS/MDT inputs; device result pending.
  • drivers/PongPower 改为 Chengdong-Yu/pong-power submodule。

完成条件 ​

  • 在设备上观察该接口的实际工作结果并保存对应日志

当前范围 ​

  • 动态充电图标、充放电和插拔更新仍需设备观察。

下一步 ​

  • 读取本轮启动日志并继续完成板级接口

证据 ​

镜像组装 ​

implemented

组件: Rmx3551Platform24.

硬件与依赖 ​

  • UniXNU c96b299(release 与 templates/package.sh)、uefi-pong 固件树、匹配 22H374 restore、UNIXNU_UNIQUE_CHIP_ID 平台种子

配置 ​

  • board.toml 的 [package]/[package.defconfig]/[bootimg]/[userdata],os-profiles/ipados-18.7.10-22H374,configs/pong_ipados18_ci_defconfig

操作步骤 ​

  • scripts/package.sh --check 走 deps/preflight/patches;CI 的 package job 跑 scripts/package.sh --os … --skip-prelink,再跑 scripts/finalize-pong-adt.py:用本地同一份 make-pong-adt-ipados18.py 与同一组参数(12 GiB DRAM、4 GiB 窗口、单 CPU)重写 payload 里的 ADT,并重打 boot.img 与 PONGFAT1 包装的 boot.img.pong。

开发经验 ​

  • scripts/package.sh --check --no-deps 在 Linux 上通过:1 个补丁、pong_ipados18_defconfig、OS ipados-18.7.10-22H374。release 只跑 kernel/package/firmware/payload,不含 userdata;本板内核需要 MACHINE_CONFIGS=PONG,共享 kernel 步骤写死 BCM2837,因此由 kits/PongPlatform24 作为组件 recipe 编译;共享 kernel 步骤的 tree 已有真实 drivers/ 目录,设备 builder 另用一棵树并在编完后回填 mach.development.pong。bootimg 的 validate 只认 v0-v2 头,board 覆写 header_version = 0。本板固件只认 PONGFAT1 包装的 ramdisk,故规范产物 boot/boot.img 之外另出 boot.img.pong。userdata 不走 unixnu userdata:它写 SHNGROOT v2 且缺 Data 窗口,本板 RootLayout.h 只接受 v1 且强制 OS/SystemOS/Data 三窗口。
  • package.yml 去掉未使用的 blacktop/tap/ipsw;porting-record.yml 改为 submodules: recursive,与 drivers/ submodule 拆分对齐。

完成条件 ​

  • 在 macOS runner 上跑通 package.yml 两个 job,并取得 boot.img、boot.img.pong、payload.img、kernel.macho、package.manifest.json 与 userdata 分片

当前范围 ​

  • CI 尚未在 macOS runner 上运行;真机未刷入。prelink slide 尚未在本板表达,流水线用 --skip-prelink。devicetree.generate() 要求单段 /memory,自定义 DT 属性不透传。

下一步 ​

  • 在 fork 上手动触发 package.yml,带 ipsw_url,核对两处产物再上真机

证据 ​

诊断 ​

implemented

组件: Rmx3551Platform24.

硬件与依赖 ​

  • Pong live Android DT、NothingOSS SM8475源码与匹配22H374 restore

配置 ​

  • board.toml、pong_ipados18_defconfig 与对应板级配置

操作步骤 ​

  • 保留屏幕启动日志和ramoops,REC抓取完整console。

开发经验 ​

  • 已读取services81 REC console及Data中的Sileo/音频诊断,按具体错误修补。
  • services82保留内核启动日志,减少launchd额外活动日志,并限制没有实际蓝牙传输层的反复拉起。
  • services86已提取REC console和对应IPS,区分显示主故障与后续进程退出;可选softwareupdated重复SIGSEGV已设置停用。
  • drivers/ 板级驱动拆为 Chengdong-Yu/pong-* submodule;本 area 路径下的文件随对应仓库迁出,路径名不变。
  • porting-record.yml 改为 submodules: recursive,与 drivers/ submodule 拆分对齐。

完成条件 ​

  • 在设备上观察该接口的实际工作结果并保存对应日志

当前范围 ​

  • 没有运行测试、性能基准、镜像哈希或镜像回读比较。

下一步 ​

  • 读取本轮启动日志并继续完成板级接口

证据 ​

mobilegestalt-device-information ​

implemented

组件: Rmx3551Platform24.

硬件与依赖 ​

  • 22H374 native lockdownd call sites
  • actual Pong IOPMPowerSource and Speaker IOAudio2Device

配置 ​

  • root-owned Pong board identity seed; existing native USB pairing retained

操作步骤 ​

  • Scoped USB model presentation; fresh measured power/audio capability answers; native DiskUsage Data uses actual statfs SInt64

开发经验 ​

  • services142 Finder recognition and native pairing/session succeeded. Old disk_usage contained negative free capacity and wrapped Data capacity.

完成条件 ​

  • Read real paired USB information and actual driver state after boot

当前范围 ​

  • No synthetic IMEI, activation, Apple fuse identity or audio calibration. Actual audible output and wake require device observation.

下一步 ​

  • Preserve native pairing and expanded Data; continue native audio volume repair

证据 ​

native-category-volume ​

implemented

组件: Rmx3551Platform24.

硬件与依赖 ​

  • 22H374 AVSystemController and CoreAudio native control ABI
  • services144 user audible lock sound and actual integer volume1

配置 ​

  • One-time native media/ringer low-volume migration; retain full mute and subsequent user volume choices

操作步骤 ​

  • Run outside SpringBoard main/dyld callbacks, validate method ABI, require real native readback

开发经验 ​

  • Native selector2 scalar order matches driver. The actual endpoint is not muted but runs at1/16 gain.
  • drivers/ 板级驱动拆为 Chengdong-Yu/pong-* submodule;本 area 路径下的文件随对应仓库迁出,路径名不变。

完成条件 ​

  • Native category readback plus audible media and system playback

当前范围 ​

  • No analog gain/protection/calibration changes, no external competing HAL

下一步 ​

  • Temporarily boot services146 with modest digital gain and higher native volume defaults

证据 ​

native-ringtone-display-wake ​

implemented

组件: Rmx3551Platform24.

硬件与依赖 ​

  • services146 native volume preferences and real PCM/DSP completions
  • services146 wake scanout not-submitted and surface timeout logs

配置 ​

  • Serialized bounded IOAudio2 restart; native ringtone config; CPU/GPU opaque scanout; existing128GB Data/pairing retained

操作步骤 ​

  • Compile complete matching kernel/runtime and install only changed OS bands

开发经验 ​

  • Ringer native volume0.6763 is nonzero; missing sound not resolved by another global gain boost. Existing78 ringtone resources retained.
  • CPU scanout copied source alpha while GPU supplied opaque alpha; idle optional import retention and start/stop Busy window corrected.
  • drivers/ 板级驱动拆为 Chengdong-Yu/pong-* submodule;本 area 路径下的文件随对应仓库迁出,路径名不变。

完成条件 ​

  • Native ringtone selection/decoder and repeated sleep/wake actual audio/display observations

当前范围 ​

  • No synthetic DSP/GPU completions, analog gain or factory protection changes

下一步 ​

  • Temporarily boot services147 and read native ringtone/USB/display state

证据 ​

main-gpu-metal-ringer149 ​

implemented

组件: Rmx3551Platform24.

硬件与依赖 ​

  • core6790e7c, AdrenoMetal a0f0287, Adreno740 a9a2cbb
  • actual22H374 SBRingerControl method ABI and148 logs

配置 ​

  • A730/SM8475 ABI1 and22H374 kept; diagnostics opt-in

操作步骤 ​

  • Native ringer full selector; <=128KiB optional contig/backoff, advisory unlocked fence polls, async runtime room keeper and pressure release

开发经验 ​

  • 148 default ringtone file resolves; objc_direct short setter/getter prevented native ringer adaptation.
  • drivers/ 板级驱动拆为 Chengdong-Yu/pong-* submodule;本 area 路径下的文件随对应仓库迁出,路径名不变。

完成条件 ​

  • Native ringer request and audible ringtone; post-update UI GPU/Metal operation

当前范围 ​

  • A740-specific CP two-ring preemption, ABI2 address-space switching and Darwin26 offsets not applied to SM8475/22H374

下一步 ​

  • Inspect services149 native ringtone request and real post-update GPU/Metal boot logs

证据 ​

adreno-ringer-freeze150 ​

implemented

组件: Rmx3551Platform24.

硬件与依赖 ​

  • services149 REC CP opcode cause1/device-lost/backboardd crash
  • native ringer accepted cached mute false, ringtone scalar0.6763
  • Adreno740 main a9a2cbb/36c4e44 and Qualcomm KGSL ring allocation

配置 ​

  • Pong SM8475/A730, 22H374 arm64/native4KiB; board.toml and pong_ipados18_defconfig; matching per-round kernel/runtime recipes documented in the evidence reference.

操作步骤 ​

  • Object-indexed ABI1 VM, CP_NOP ring wrap padding, bounded background pipeline creation, per-process native mute reconciliation, qualified native software decoder selection

开发经验 ​

  • Matching kernel, UI, init, independent codec and Metal bridge compiled; deployment in progress.
  • drivers/ 板级驱动拆为 Chengdong-Yu/pong-* submodule;本 area 路径下的文件随对应仓库迁出,路径名不变。

完成条件 ​

  • Ringtone audible and actual frame completion without CP faults after interaction

当前范围 ​

  • No fake GPU completions or borrowed A740 firmware/ABI2; hardware result needs device runtime

下一步 ​

  • Install only changed OS bands and temporarily boot matching150 kernel/runtime

证据 ​

control-center-native-ringtone151 ​

implemented

组件: Rmx3551Platform24.

硬件与依赖 ​

  • 150 live USB log: compressed MTLReplayer shader page-in failure and backboardd SIGBUS
  • 150 live USB log: scalar DisplayBrightness consumed by CBSliderCommitTelemetry as dictionary; cache slide resolved from actual objc export
  • Native ringer request accepted, actual DSP PCM and TFA state

配置 ​

  • Pong SM8475/A730, 22H374 arm64/native4KiB; board.toml and pong_ipados18_defconfig; matching per-round kernel/runtime recipes documented in the evidence reference.

操作步骤 ​

  • Qualified telemetry-only omission; bounded small UI warmup; bounded idle memory reuse; native M4R catalog audio transcoding to software ALAC

开发经验 ​

  • 78 native M4R ringtone tracks transcoded to ALAC; UI telemetry adaptation, Metal plugin and matching bounded-memory Rust bridge compiled. Device deployment pending.
  • drivers/ 板级驱动拆为 Chengdong-Yu/pong-* submodule;本 area 路径下的文件随对应仓库迁出,路径名不变。

完成条件 ​

  • Audible native ringtone and stable control-center interactions

当前范围 ​

  • Hardware results cannot be inferred from compilation or nonzero PCM; real native GPU and audio errors preserved

下一步 ​

  • Install changed151 system bands and temporarily boot; inspect real USB/display/audio evidence

证据 ​

upstream-metal-keyboard152 ​

implemented

组件: Rmx3551Platform24.

硬件与依赖 ​

  • UniXNU6790e7c/Adreno740a9a2cbb/AdrenoMetal831a9dc/Sheng28b3028
  • 151 real backboardd SIGSEGV: null device after unchecked constant-stream reservation
  • Native keyboard resources and user-reported phone keyplane offset/123 failure

配置 ​

  • Pong SM8475/A730, 22H374 arm64/native4KiB; board.toml and pong_ipados18_defconfig; matching per-round kernel/runtime recipes documented in the evidence reference.

操作步骤 ​

  • Conservative owned-page index, disjoint larger UI VA windows, bounded retired BO cache, checked Vulkan draw errors, A730 MPS count, independent InputUI phone idiom

开发经验 ​

  • Darwin24 kernel, boot, Turnip, Metal frontend/plugin, UI and init compiled; boot command967bytes. No tests, benchmarks or image verification. Device outcome pending.
  • drivers/ 板级驱动拆为 Chengdong-Yu/pong-* submodule;本 area 路径下的文件随对应仓库迁出,路径名不变。

完成条件 ​

  • Stable real GPU composition and native keyboard123 transitions after interaction

当前范围 ​

  • A740 preemption/ABI2/coherence/Darwin26 offsets not claimed; no synthetic GPU success

下一步 ​

  • Install changed OS bands and temporarily boot matching152 kernel/runtime

证据 ​

gpu-guide-memory-bgra153 ​

implemented

组件: Rmx3551Platform24.

硬件与依赖 ​

  • Official GPU adaptation guide
  • 152 moving color-region report
  • 152 actual GPU scanout and presentation timings

配置 ​

  • Pong SM8475/A730, 22H374 arm64/native4KiB; board.toml and pong_ipados18_defconfig; matching per-round kernel/runtime recipes documented in the evidence reference.

操作步骤 ​

  • System pageable WC BOs and same-descriptor CPU maps; prepare outside shared gate; no global drain on new maps; scoped actual-job free drain
  • GPU sysmem BGRA default and official GMEM resolve/load/store/input-attachment swap corrections
  • Retain main firmware/ABI/fence/TLBI ownership and152 native keyboard path

开发经验 ​

  • Matching Darwin24 kernel, Turnip GMEM paths and153 Metal frontend/plugin compiled; native4K signatures; boot command965bytes. No tests, benchmarks or image verification.
  • drivers/ 板级驱动拆为 Chengdong-Yu/pong-* submodule;本 area 路径下的文件随对应仓库迁出,路径名不变。

完成条件 ​

  • Real device colors, sustained frame progress and native keyboard interaction

当前范围 ​

  • No A740 firmware/ASID/preemption substitution or fake fences; no claim of measured120fps

下一步 ​

  • Install changed OS bands and temporarily boot matched153 kernel/runtime

证据 ​

gpu-real-execution-hotpath155 ​

implemented

组件: Rmx3551Platform24.

硬件与依赖 ​

  • 153 actual first-IB opcode fault
  • 154 real908/908 GPU completion with continued user-reported slow UI
  • official GPU guide and actual compiled Turnip backend

配置 ​

  • Pong SM8475/A730, 22H374 arm64/native4KiB; board.toml and pong_ipados18_defconfig; matching per-round kernel/runtime recipes documented in the evidence reference.

操作步骤 ​

  • Initial Darwin24 aperture cache handoff, same WC VM descriptor, outside-gate free, indexed client publication and actual uncached imports
  • Restore missing negotiated128IB batch transport in actual Mesa

开发经验 ​

  • 155 actual GPU scanout and827/827 completions; no CP fault in captured boot. User still reports slow UI; not a performance success claim.
  • drivers/ 板级驱动拆为 Chengdong-Yu/pong-* submodule;本 area 路径下的文件随对应仓库迁出,路径名不变。

完成条件 ​

  • Sustained real GPU execution and improved interactive frame delivery

当前范围 ​

  • A730/ABI1 kept; no fake fences, A740 preemption or all-feature claims

下一步 ​

  • Retain functional155 kernel while deploying156 runtime/UI-stall fixes

证据 ​

metal-interface-ui-stalls156 ​

implemented

组件: Rmx3551Platform24.

硬件与依赖 ​

  • 155 slow UI with working GPU
  • Native prime journal:184 paths, only1 eligible library
  • Native cameracaptured jetsam at27MiB/5s respawn

配置 ​

  • Pong SM8475/A730, 22H374 arm64/native4KiB; board.toml and pong_ipados18_defconfig; matching per-round kernel/runtime recipes documented in the evidence reference.

操作步骤 ​

  • Actual asynchronous pipeline/function creation and user-interactive frontend completion
  • Runtime heap size/alignment, compute descriptor entries, family-backed legacy queries and declared constant warmup
  • Host expansion of141 real framework shader assets; bounded192MiB camera service policy

开发经验 ​

  • Optimized Rust/front-end/plugin built; only624MiB changed OS bands installed. Fastboot Sending2.328s/Booting10.175s OKAY; device observation pending.
  • drivers/ 板级驱动拆为 Chengdong-Yu/pong-* submodule;本 area 路径下的文件随对应仓库迁出,路径名不变。

完成条件 ​

  • Real GPU remains connected; native services stable; warm shader cache and interactive frame progress

当前范围 ​

  • Unknown private capabilities remain unadvertised; no blanket Apple family spoofing; not all Metal features are implemented

下一步 ​

  • Observe156 GPU completions, warmup and native service exits after temporary boot

证据 ​

gpu-priority-timing160 ​

implemented

组件: Rmx3551Platform24.

硬件与依赖 ​

  • official GPU guide
  • 159 real GPU completion with24-30ms frontend/8-12ms wait and user low-FPS report

配置 ​

  • Pong SM8475/A730, 22H374 arm64/native4KiB; board.toml and pong_ipados18_defconfig; matching per-round kernel/runtime recipes documented in the evidence reference.

操作步骤 ​

  • Pong DT max900MHz/DDR11 request with existing GMU ACK
  • Real ABI1 method18 priority using Darwin24 task policy
  • Single-ring1/2/8 process admission, preserve FIFO/fences
  • Actual CP timestamp and bounded cache/queue/execution/retirement logs

开发经验 ​

  • Darwin24 kernel, Metal frontend and Turnip linked;80MiB changed OS bands installed; temporary Fastboot boot succeeded. Device timing pending.
  • drivers/ 板级驱动拆为 Chengdong-Yu/pong-* submodule;本 area 路径下的文件随对应仓库迁出,路径名不变。

完成条件 ​

  • Real native GPU frames and slower-stage identification followed by concrete fixes

当前范围 ​

  • No A740 dual-ring/preemption claim
  • HFI vote is not physical clock measurement
  • No blanket cache-maintenance skip

下一步 ​

  • Capture160 slow-frame evidence and fix dominant latency

证据 ​

audio-wake-active-acquire162 ​

implemented

组件: Rmx3551Platform24.

硬件与依赖 ​

  • User161 sleep/unlock still silent
  • 161 actual GPU complete with remaining10-23ms imported completion cache work
  • Nothing native TFA9873 B0 state definitions and shutdown order
  • Official GPU timing and ownership guide

配置 ​

  • Pong SM8475/A730, 22H374 arm64/native4KiB; board.toml and pong_ipados18_defconfig; matching per-round kernel/runtime recipes documented in the evidence reference.

操作步骤 ​

  • Resume actual output stream for retained or new HAL clients on running engine
  • Power down amps with live source clock before APM/MI2S shutdown; restore volatile TDM route on real start
  • Separate negotiated active-import acquire after genuine Metal completion and before CPU/display release

开发经验 ​

  • Substantive HAL stream-resume, TFA clock/stop order and real-completion ownership changes; device result pending.
  • drivers/ 板级驱动拆为 Chengdong-Yu/pong-* submodule;本 area 路径下的文件随对应仓库迁出,路径名不变。

完成条件 ​

  • Audible playback after sleep/unlock
  • Real GPU frames without cache faults and reduced completion overhead

当前范围 ​

  • No fabricated hardware success
  • Unparticipating imports keep conservative kernel acquire
  • No global IOSurface cache changes or factory amplifier gain modifications

下一步 ​

  • Temporary boot162 and capture ordinary GPU/audio startup and wake status

证据 ​

audio-prepare-command-stages163 ​

implemented

组件: Rmx3551Platform24.

硬件与依赖 ​

  • services162 user-confirmed unlock silence
  • real PCM/WRITE_DONE/amp engagement
  • poster scheduled waits406ms
  • official GPU stage guide

配置 ​

  • Pong SM8475/A730, 22H374 arm64/native4KiB; board.toml and pong_ipados18_defconfig; matching per-round kernel/runtime recipes documented in the evidence reference.

操作步骤 ​

  • Restore AudioReach endpoint/converter/shmem media before prepare
  • 5s real silent-DMA warm hold and full native first-period consumption
  • Honor requested command queue capacity
  • Only omit duplicate VA flush after complete-import physical sync
  • Capture actual runtime phases with bounded ring

开发经验 ​

  • Matched kernel/Rust/ObjC compiled;56MiB OS changed bands installed; Fastboot Sending2.331s/Booting10.174s OKAY; native USB auto-configured. Audible wake recovery still requires device observation.
  • drivers/ 板级驱动拆为 Chengdong-Yu/pong-* submodule;本 area 路径下的文件随对应仓库迁出,路径名不变。

完成条件 ​

  • Audible playback after screen sleep and unlock
  • Identify and reduce dominant real frame stage

当前范围 ​

  • No calibration/protection gain changes
  • No dropped commands or fake GPU completion
  • Noncovered imports keep conservative maintenance

下一步 ​

  • Read163 device timing and audio recovery evidence

证据 ​

lock-sound-admission164 ​

implemented

组件: Rmx3551Platform24.

硬件与依赖 ​

  • 163 runtime scheduled backlog434ms
  • 163 real restart/PCM/WRITE_DONE but audible unlock recovery not confirmed
  • native short-sound StopIO ownership audit

配置 ​

  • Pong SM8475/A730, 22H374 arm64/native4KiB; board.toml and pong_ipados18_defconfig; matching per-round kernel/runtime recipes documented in the evidence reference.

操作步骤 ​

  • Serialize retained StartIO with last StopIO
  • Per-client start/stop ownership lock with real client/user logs
  • Drain frozen committed HAL tail up to400ms before physical stop
  • Remove only genuinely observed completed admission fences

开发经验 ​

  • Darwin24 kernel and matched Turnip compiled;48MiB OS changed bands installed; Fastboot Sending2.332s/Booting10.177s OKAY. Native audio client/tail and GPU stage capture pending.
  • drivers/ 板级驱动拆为 Chengdong-Yu/pong-* submodule;本 area 路径下的文件随对应仓库迁出,路径名不变。

完成条件 ​

  • Actual audible wake and short sounds
  • Reduced Busy retries and submission backlog without lost GPU work

当前范围 ​

  • No lock-sound removal
  • No fabricated PCM/fences
  • Bounded drain keeps actual mappings until stop returns

下一步 ​

  • Build and temporarily boot164; capture native client/PCM and GPU phase logs

证据 ​

scheduling-metal-audio-clock165 ​

implemented

组件: Rmx3551Platform24.

硬件与依赖 ​

  • upstream fix/gpu-scheduling-and-metal d6bd3dd complete core merge
  • 164 poster scheduler2.3s vs CP8.7-14.5ms
  • native audio PCM/DSP/TFA normal-looking but unlock silence confirmed

配置 ​

  • Pong SM8475/A730, 22H374 arm64/native4KiB; board.toml and pong_ipados18_defconfig; matching per-round kernel/runtime recipes documented in the evidence reference.

操作步骤 ​

  • Adapt full generic Metal/compiler/cache delta to22H374
  • Enable actual Mesa shader-cache and live priority lowering
  • Batch physical cache maintenance across fragmented spans
  • Restore independent native audio clock adaptation
  • Only changed96MiB/12OSbands installed; temporary boot

开发经验 ​

  • Darwin24/Rust/Metal/Turnip/codec builds complete;96MiB changed-band installation; Fastboot Sending2.333s/Booting10.172s OKAY; actual device results pending.
  • drivers/ 板级驱动拆为 Chengdong-Yu/pong-* submodule;本 area 路径下的文件随对应仓库迁出,路径名不变。

完成条件 ​

  • Real GPU frames and lower scheduler/cache time
  • Audible lock/unlock recovery; actual clock observation

当前范围 ​

  • A730 remains single-ring admission; A740 two-ring source present in core but not falsely enabled
  • No fake fences or cache-coherence shortcuts
  • Existing user build scripts preserved
  • Data128GB and pairing preserved

下一步 ​

  • Capture native CoreAudio actual frequency and genuine GPU submissions/slow phases

证据 ​

submit-retirement-publication166 ​

implemented

组件: Rmx3551Platform24.

硬件与依赖 ​

  • 165-final real nested-IB FSR80000402/FAR0xe0d4100
  • kernel-accepted submit precedes user last_fence publication
  • BO retirement/cache reuse samples last_fence concurrently

配置 ​

  • Pong SM8475/A730, 22H374 arm64/native4KiB; board.toml and pong_ipados18_defconfig; matching per-round kernel/runtime recipes documented in the evidence reference.

操作步骤 ​

  • Serialize actual submission/fence publication with retirement snapshots
  • Keep Busy waits outside mutex
  • Retain shader cache, single-sample resolve and page batching
  • Keep165-final actual native audio clock/conversions

开发经验 ​

  • Final166 rebuilt matchedDarwin24/Rust/Metal/Turnip after latest135b0da merge;112MiB changedOS bands installed; actual9216submits without capturedCP/SMMU fault; frame traces reveal CPU handoff overhead.

完成条件 ​

  • Sustained real GPU submissions without SMMU fault
  • Audible lock/unlock recovery remains separate observation

当前范围 ​

  • No false fault recovery or fake fences
  • A730 ABI1/actual firmware unchanged
  • Data128GB and native USB pairing preserved

下一步 ​

  • Install matching changed Turnip bands and temporary boot166

证据 ​

frame-ownership-pac167 ​

implemented

组件: Rmx3551Platform24.

硬件与依赖 ​

  • official GPU,diagnostics and arm64e documents
  • core135b0da includes latest main04573c5
  • 166 native60/180/300s frame links
  • backboardd35.890ms command with actual4.617ms CP execution

配置 ​

  • Pong SM8475/A730, 22H374 arm64/native4KiB; board.toml and pong_ipados18_defconfig; matching per-round kernel/runtime recipes documented in the evidence reference.

操作步骤 ​

  • Batch up to64 real retained host-import ownership ranges in one gate/table pass
  • Preserve full cache operations and exact coverage before omitting duplicate VA flush
  • Record actual synchronization phases and useO3 frontend
  • Port upstream nativePAC key source to conditional Darwin24 path
  • Read PAC feature registers on every enabledCPU without enabling an unqualified architecture

开发经验 ​

  • Darwin24 kernel,Turnip,O3 Metal frontend and matched plugin compiled;96MiB changed OS bands installed.
  • Real scanout; no captured CP/SMMU error through5120submits.30216ranges became1793requests/473105us; typical handoff0.3-0.4ms, poster41-267ms backlog remains.8CPUs report address/genericPAC, key-access unprobed. Native audio clock corrected24MHz to19.2MHz; audible wake recovery unresolved.
  • drivers/ 板级驱动拆为 Chengdong-Yu/pong-* submodule;本 area 路径下的文件随对应仓库迁出,路径名不变。

完成条件 ​

  • Actual reduced CPU handoff latency without GPU faults
  • PerCPU PAC requirements recorded before anyarm64e enablement
  • Audible wake recovery remains separate

当前范围 ​

  • 22H374 remainsarm64; no claim of arm64e execution
  • PAC key access and EL0/EL1 instruction roundtrip not qualified
  • No cache skips,fake fences,benchmarks or image hashes
  • 128GB Data and working board services preserved

下一步 ​

  • Continue reducing measured poster inbox/admission/cache latency
  • Qualify PAC key access and EL0/EL1 roundtrips before arm64e
  • Confirm audible audio recovery after lock

证据 ​

local-runtime-integration ​

implemented

组件: Rmx3551Platform24.

硬件与依赖 ​

  • Pong live Android DT、NothingOSS SM8475源码与匹配22H374 restore

配置 ​

  • board.toml、pong_ipados18_defconfig 与对应板级配置

操作步骤 ​

  • Darwin24/XNU11417与22H374原始组件,格式2硬件输入与固定ABI。

开发经验 ​

  • services85完整内核与匹配运行时已编译,96MiB OS更新已安装;Fastboot Sending/Booting均OKAY,Data/SystemOS保留。
  • services113: official rootful Procursus/Sileo, genuine iphoneos-arm repository indices and mobile sileolists permissions staged; expanded writable OS and real package configuration required before qualifying installation.

完成条件 ​

  • 在设备上观察该接口的实际工作结果并保存对应日志

当前范围 ​

  • 新一轮外设及性能效果仍待设备反馈;构建脚本未修改。

下一步 ​

  • 读取本轮启动日志并继续完成板级接口

证据 ​

cumulative-runtime-pr167 ​

implemented

组件: Rmx3551Platform24.

硬件与依赖 ​

  • Remote main aaa2d739 packaging and AppCryptex changes
  • All accumulated local board/runtime repairs through167
  • Pinned public Mesa and metal2vulkan sources

配置 ​

  • Pong SM8475/A730, 22H374 arm64/native4KiB; board.toml and pong_ipados18_defconfig; matching per-round kernel/runtime recipes documented in the evidence reference.

操作步骤 ​

  • Preserve existing remote scripts and workflows
  • Select required merged recipes in an output-only source overlay
  • Prepare the complete compiled Mesa and translator source deltas
  • Compile merged frontend, CPU/GPU objects and native userland helpers

开发经验 ​

  • Merged native helper/UI/audio/sleep/Sileo/phone/route binaries, frontend,ArmCpu and changed GPU units compiled. Prepared Mesa source reproduces all25 changed source files; current device results remain separately recorded.
  • drivers/ 下 12 个板级驱动拆为 Chengdong-Yu/pong-* submodule;路径名与相对 include 保持不变,package.yml 已有 submodules: recursive。

完成条件 ​

  • Reviewable source-only pull request with cumulative WiFi,brightness,input,audio,battery,USB,storage,userland,GPU/Metal and conditional PAC changes

当前范围 ​

  • No private binaries,firmware,restore images,Data or credentials
  • Full hosted build and packaging pipeline not run
  • Poster frame backlog and audible wake recovery still unresolved
  • Running22H374 remainsarm64

下一步 ​

  • Review and run the preserved hosted packaging workflow with required local inputs

证据 ​

Released under the BSD-2-Clause-Patent License.