
OCLP 是一个允许老旧Mac允许不被支持的系统解决方案,目前,如果你的机器CPU不支持 AVX/AVX2指令集,在更新到 Sequioa 后一些App会崩溃,报错。Namespace SIGNAL, Code 4 Illegal instruction: 4,这是因为 JetEngine.JSStack.scheduler 需要 AVX/AVX2 支持,否则就会报错。
目前越来越多的App会调用 JIT,甚至JavaScriptCore也会调用,这就导致相当多的App无法启动或正常加载,包括 Safari,Music,App Store等,目前的的解决办法是:
- 在OCLP 中注入 no AVX/AVX2 kext, 具体名称为
NoAVXFSCompressionTypeZlib.kext
NoAVXFSCompressionTypeZlib-AVXpel.kext - 重启机器后在命令行输入一下命令:
launchctl setenv JSC_useJIT true; launchctl setenv __XPC_JSC_useJIT true - 再次开启会崩溃的App,问题解决。
这个方法仅限目前有效,以后再更新到新的系统,可能会无法禁用 JIT 调用,方法会失效。
这个方法同样适用于老旧 CPU 架构的 X86 用户,通常2012年之前的CPU都不支持AVX/AVX2,具体可以用 MacCPUID 查看。