TGFC俱乐部>>经典游戏怀旧专区>>
- 刷新/显图/登录/注册/WEB
标题:[原创]自制odin2 root后magisk模块,深度优化原厂拉跨的安卓系统
时间:25-04-27 17:11
作者:gggbdm

潜水1年多,加上最近闲散时间多想给论坛做点贡献,刚好手头odin2维修完成想着再自己折腾一下看看。
前阵子研究了一下天马前端的性能瓶颈,本来说想制作这几个常用前端apk的配置文件的转换工具(暂时🕊),但是(身为CAVE粉丝)刚好发现root以后可能可以改进不少系统的弊病:经常被贴吧吐槽的输入延迟过高(120ms+),ra下很多02年以后的街机游戏表现很差(怒首领蜂3代开始 4 5,几乎都是ppt)。
于是说干就干,折腾了几天,经由AI分析+人工编码,我制作了一套比较完善的Magisk面具模块。亲测可以使得怒首领蜂3和4代跑满60fps,1.5版本patch了音频延迟以后,5代也流畅了。测试环境都用的本论坛的天马安卓,默认设置,没有更改任何影响比对的ra设置。
所以说本模块的效果还是比较显著的,希望大家多多交流,反馈各种意见,帮助我做得更好。

首先是TLDR的下载链接: https://pan.baidu.com/s/1T24RuLRoJNVX8IzqTzBn2A?pwd=mfsm 提取码: mfsm
里边有我自己做的root教程和本文提到的优化模块,没有root的朋友可以按照第一个教程操作,所用到的所有工具都已经打包好,不需要adb和任何命令行输入。只需要细心按着教程来,没有任何问题。远比root手机简单得多。
下边就是我自己总结的一些本补丁相关的内容了:(本人比较懒,以下直接复制模块内部的md说明了)
模块包含内容
脚本/文件 | 功能说明
service.sh | Magisk 模块主入口脚本,统一调用所有优化子模块,并控制日志轮替
app_boost.sh | 提权 RetroArch、Pegasus(天马)、AetherSX2 等主进程,绑定大核组 + 提升 IO 优先级
cpu_tune.sh | 锁定 CPU Governor 为 performance 模式,避免频率频繁跳变造成延迟
gpu_tune.sh | 优化 GPU 渲染合成参数,禁用 SurfaceFlinger 合成器 idle 策略
input_latency_opt.sh | 启用 input_boost 并优化合成器、滑动延迟,全面降低模拟器输入响应延迟
vulkan_patch.sh | 注入 Vulkan 提前呈现层参数(Early Present/Async Present),提升 AetherSX2/Yuzu/Citra 渲染效率
io_optim.sh | 强化模拟器及相关子进程 IO 优先级,避免存储读写瓶颈导致卡顿
extras.sh | 包括音频优化、Binder优化、SWAP提速、核间迁移优化等补充优化项
system.prop | 注入系统级图形/UI/调度优化属性(SurfaceFlinger、OpenGL、Binder、音频等强化)
module.prop | 定义 Magisk 模块元信息(名称、版本、描述等)供 Magisk 识别管理
🛠️ 安装方式
1. 使用 MT 管理器或类似工具,将模块内容复制至设备 /data/adb/modules/odin2_emu_boost/ (确保该目录下能直接看到 service.sh 和 scripts/ 文件夹)
2. 设置文件夹及文件权限为 755(即 rwxr-xr-x)
3. 重启设备, 模块生效。之后可以自行在magisk内模块管理开关

⚙️ 注意事项
- 请确保设备已成功 Root
- 推荐搭配 Magisk v24+(支持 systemless property 注入)
- 模块开机自启,无需手动干预
- 模拟器需首次运行后才可被 `pidof` 检测并提权
- 不适用于非odin2家族的安卓设备

自测 AYN Odin2 模拟器性能对比(无 Root vs 优化后)
项目 | 无 Root 原厂系统 | Root + 模块优化后 | 备注
Pegasus 启动速度(2000+游戏) | 45-70秒(严重波动) | 32-42秒(稳定) | 依赖磁盘I/O优先级和SurfaceFlinger延迟降低
RA 帧数(2D游戏如怒首领蜂4黑标) | 20-30 FPS(有音爆、卡顿PPT基本无法玩) | 59-60 FPS稳定 | input_boost + governor performance锁定起作用
AetherSX2 帧数(PS2) | 30-40 FPS(跳动剧烈) | 45-60 FPS(平稳多了) | Vulkan Patch、GPU idle禁用后受益显著
输入响应延迟(体感滑动延迟) | 90-130ms | 50-70ms | input_boost+Binder优化+SurfaceFlinger压缩贡献
模拟器 App 启动时间 | 明显慢(需多次等待响应) | 提前约 30%-40% 基本秒开 | 高优先级 CPU/GPU 调度效果
系统负载波动(负载跳动) | 高频跳变(尤其大核) | 负载更平稳,温控更好 | CPU频率锁定+小核负载转移功劳
后台切换稳定性 | 切回可能假死或黑屏 | 切回几乎秒切,无黑屏 | Binder和SurfaceFlinger小优化累积效应
FPS波动(体感抖动) | 高频次波动(上下5-8帧) | 轻微波动(1-2帧以内) | 整体调度/延迟压缩作用

简单总结一句话:
✅ 原厂 Odin2 出厂系统,虽然硬件很强,但系统调度+图形栈延迟太大,模拟器性能根本打不出真水平;
✅ 用本模块优化以后,Pegasus、RetroArch、AetherSX2 都变得流畅、稳定且低延迟,性能释放幅度大约是 20%-50%,部分极限场景接近翻倍!(这句可能是吹牛皮)
暂时手头只有odin2,而且我折腾了1年多。如果是其他高通cpu的设备,理论上只需要把cpu那部分改成符合你实际使用cpu的硬件代码和核心数量即可。

后记分析(不追求技术可以不看,这里只是放出本模块针对修改的部分痛点):
✍️ 安卓不root用原厂系统的问题(总结一句话)
安卓默认是为“微信刷视频”这种轻负载场景优化的,不是为模拟器设计的。
只有 root + 深度 patch,才能真正让模拟器跑出接近 PC 和 各种linux(如emulec) 水准的体验。

为什么原生安卓对模拟器支持很差?
问题点 | 原因 | 影响
1. CPU 调度 | 安卓默认 governor(如 schedutil)偏保守、省电优先 | 大型模拟器(如 PS2/GC/Wii)容易掉帧
2. 小核/大核利用率 | Big.LITTLE 架构下,大核调度不积极,小核占比高 | 帧率不稳,尤其是复杂场景
3. GPU 提交延迟 | SurfaceFlinger 合成器默认有 Backpressure | GPU提交一帧->VSync等待,延迟大,导致输入和画面卡顿
4. IO性能未提权 | 模拟器大量读写 ROM、存档,系统默认 IO 优先级很低 | 加载游戏、切换存档变慢,甚至掉帧
5. 内存管理(OOM killer) | 安卓 aggressively 杀后台,模拟器是大内存应用 | 长时间运行大作容易 crash 或自动关闭
6. 输入提频缺失 | 没有 input_boost 支持,或者提频参数低 | 手柄/触屏输入延迟感觉非常明显
7. 缓存和磁盘延迟 | Pegasus / RA 加载封面、list 没有 tmpfs/cache优化 | 启动慢、界面卡顿严重
8. Vulkan 渲染补丁缺失 | 原生 Vulkan 配置不完善,未开启 Async Present 等 | GPU pipeline stall,帧延迟大
9. Binder通信延迟 | IPC优化不到位(比如 binder动态flush机制开着) | APP间通信慢,比如调用 GPU buffer / 输入事件处理慢
📱 为什么游戏手机安卓也逃不过?
项目 | 表现 | 问题本质
CPU频率 | 游戏模式下短时间拉满(例如性能核心全频),但长时间还是降频保温 | 热设计功耗 (TDP) 限制,为了避免烫手和硬件损伤
GPU频率 | 短时间高频,负载一高又降频保护 | 同上,发热控制优先于性能持续性
IO优化 | 有些手机比如 ROG/黑鲨会提速ROM,但模拟器大量小IO访问优化少 | 主要针对大型手游加载速度,不针对模拟器碎片IO
Input处理 | 极少有游戏手机去专门 patch input_boost/input_latency | 一般只靠屏幕触控采样率堆数字(比如720Hz),内核调度没优化
SurfaceFlinger | 没有特意为模拟器/高帧率前端做合成优化 | 默认偏保守,强调流畅感但不一定低延迟
其他系统优化 | 一些厂商自带“游戏空间”,只是调整线程优先级和锁核,不涉及底层 Patch | 依然停留在用户态“表面优化”,比如限后台APP,释放内存,提升前台优先级
✍️ 小总结:
真正要做到持续跑满大核 + GPU无卡顿 + I/O不卡顿 + 低延迟输入,
现有安卓设备无论普通手机还是游戏手机甚至游戏掌机,开箱即用都是不可能的。
游戏手机优化的是吃鸡王者原神这种手游环境,而模拟器需要的,是持续线性、高负载、极致低延迟的系统调度。
➔ 所以 Root + Magisk模块级Patch 是唯一能把模拟器推到极限的手段。
本 patch 后主要解决了什么?
主要修复模块 | 效果
CPU锁定 performance | 全程高频,大核优先抢占,减少掉帧
GPU早提交 | 降低 SurfaceFlinger 合成延迟,提高可视FPS
IO提权 | 游戏启动、载入存档加速,避免读盘卡顿
input_boost | 输入响应从 100ms+ 降到 10ms-30ms
system.prop | Binder、SurfaceFlinger、Vulkan、UI 线程全面优化
小众补充 | swap/mem管理更合理,滑动响应更快

祝大家游戏愉快,身体健康。你的每次讨论、下载、分享以及提出意见都是对我的支持,谢谢大家!
---------------------------------------------------------------------------------------------
承蒙大家支持,后续还有一些小更新,针对音频也做了一定的优化。已经更新1.5版本,引入了音频和改进输入延迟的进一步系统参数调整。
最直观的更新就是怒首领蜂5代也可以顺跑了,这几天没有白折腾。
自己通过frame grabber逐帧播放拍摄的游戏视频,发现测试输入延迟差不多3-4frame,60fps下patch后大约是50-80ms的样子,在不开任何Run-Ahead设置的情况,应该可以改善不少很多人诟病的输入延迟偏高(120ms+)。
---------------------------------------节后更新分割线------------------------------------------
1.6版本改动:加入了drastic的支持;增加模拟器专属内存页属性,开启 Transparent Huge Pages,提升 JIT/模拟器(如ppsspp和ra)内存效率
已经上传老外的qfil root odin2的教程,照着做就行,可以暂停慢慢看。有问题可以留言交流,不定期给大家回答。

[ 本帖最后由 gggbdm 于 2025-5-16 19:24 编辑 ]

评分记录(+6/-0=6):我不是苍雪(+2),danianw2007(+1),sammo1983(+3)


这些回帖最骚
===================
gggbdm 骚(2) 引用
应该是不行。我试过做过一个免root的脚本,效果不太理想才做了这个。





回复列表 (38)
#2 sammo1983 2025-4-27 18:32
posted by wap, platform: Chrome
看的我一愣一楞的,有没有什么理论上可能得副作用?

对转译跑windows游戏有帮助吗?

===================
#3 gggbdm 2025-4-27 19:07
原帖由 sammo1983 于 2025-4-27 18:32 发表
posted by wap, platform: Chrome
看的我一愣一楞的,有没有什么理论上可能得副作用?

对转译跑windows游戏有帮助吗?

副作用可能是就是会稍微费电一点吧,windows模拟器我没怎么折腾过你可以试试。应该也有不小的提升,因为会把大核主动调配到占cpu的进程上。

===================
#4 長瀬湊 2025-4-27 20:23
odin2不是可以装rocknix了么,安卓root之后和LINUX下性能有什么差别?
odin2 portal能用吗

===================
#5 gggbdm 2025-4-27 20:30
原帖由 長瀬湊 于 2025-4-27 20:23 发表
odin2不是可以装rocknix了么,安卓root之后和LINUX下性能有什么差别?
odin2 portal能用吗

root比刷linux简单很多,也不容砖。linux你打算怎么装第三方的app呢,基本只有系统自带或者集成的。也没有现成打包好的前端给你用,自己想折腾可以刷,要是想稳定游玩我看还是算了。portalcpu和原版一样,理论上可以用,你试试这个melf文件能不能正确读取机器内的分区镜像,看看有没有输出分区信息,有的话就是没问题。流程完全一样。不过portal晚于原版上市,可能系统后续还会ota升级。每次升级你都需要把之前备份的init_boot_a/b分区刷回去,要不更新会报错。纯看性能提升,我觉得这套patch过后,安卓模拟器性能基本已经到顶了。喜欢折腾请你务必试试看,留下意见。我有空就会继续改动这套patch。意在帮助不熟悉root设置的玩家root以后的最优模拟器的游戏体验。

===================
#6 china_ktv 2025-4-27 21:08
我的天哪,100ms的延迟还玩个JB格斗游戏啊



===================
#7 gggbdm 2025-4-27 21:13
原帖由 china_ktv 于 2025-4-27 21:08 发表
我的天哪,100ms的延迟还玩个JB格斗游戏啊

不root可以用Run-ahead补强提前帧1-2帧,凑合可以玩,就是开销会成倍增长。具体可以参考我另一个回复,有详细提前帧的配置说明。

===================
#8 iffox 2025-4-27 21:17
posted by wap, platform: Android
root加深度优化奥丁系统,会不会是国内第一人?
等借出去的奥丁还回来再试试。

===================
#9 gggbdm 2025-4-27 21:19
原帖由 iffox 于 2025-4-27 21:17 发表
posted by wap, platform: Android
root加深度优化奥丁系统,会不会是国内第一人?
等借出去的奥丁还回来再试试。

那应该不至于,也是瞎折腾+心血来潮。有条件的朋友请务必试试,给我一些反馈就好。

===================
#10 jiajia12 2025-4-28 06:36
posted by 论坛助手, platform: iPhone
蹲这个贴,有台odin2

===================
#11 sammo1983 2025-4-28 07:13
posted by wap, platform: Android
但说实话奥丁说是延迟100多毫秒,但我玩起来觉得还好,模拟器打蔚蓝这种有操作要求的游戏也没觉得不适。可能是算上屏幕什么的全链路延迟可控?

常玩的模拟器,性能再受限制其实也都力大飞砖了。

不过这种东西就是一旦被种草就想试一试,周末研究一下

===================
#12 gggbdm 2025-4-28 09:36
原帖由 sammo1983 于 2025-4-28 07:13 发表
posted by wap, platform: Android
但说实话奥丁说是延迟100多毫秒,但我玩起来觉得还好,模拟器打蔚蓝这种有操作要求的游戏也没觉得不适。可能是算上屏幕什么的全链路延迟可控?

常玩的模拟器,性能再受限制其实 ...

那可以 应该这边改良很明显,我现在都没开过runahead。我比较喜欢cave系列的弹幕游戏,延迟高基本是没法玩的。

===================
#13 喜欢它likeit 2025-4-28 09:47
posted by wap, platform: Chrome
先顶支持表示尊敬

===================
#14 danianw2007 2025-4-28 14:58
lz还能写的再大白话一点吗,老年人真看不懂,教程里解压后就几个文件,不会弄啊

===================
#15 danmantemp 2025-4-28 15:05
说的我都想买个odin2 了:绿脸贱笑:兔撞墙: :绿脸贱笑:兔撞墙:

===================
#16 gggbdm 2025-4-28 15:48
原帖由 danianw2007 于 2025-4-28 14:58 发表
lz还能写的再大白话一点吗,老年人真看不懂,教程里解压后就几个文件,不会弄啊

先root 然后把解压的东西复制到data/adb/modules/里 记得给755权限以防万一 你给777也可以

===================
#17 ackmangogo 2025-4-28 16:09
太nb了

===================
#18 我不是苍雪 2025-4-28 17:35
+1 root都不懂怎么弄:泥鹅满地打滚:
原帖由 gggbdm 于 2025-4-28 15:48 发表

先root 然后把解压的东西复制到data/adb/modules/里 记得给755权限以防万一 你给777也可以

===================
#19 gggbdm 2025-4-28 19:01
原帖由 我不是苍雪 于 2025-4-28 17:35 发表
+1 root都不懂怎么弄:泥鹅满地打滚:

root工具我打包到第一个压缩文件里了。所有需要的东西都有。不需要你懂adb也不需要你打命令,是现在高通设备最方便的方法了。你可以参考一下教程,有问题你随时发这边。

===================
#20 lizitaisha 2025-4-29 02:40
非安卓专业,看着很有料,先mark一个!

===================
#21 Btの猪猪 2025-4-29 13:09
mark一下先



===================
#22 红叶 2025-5-1 07:10
posted by wap, platform: GALAXY S III
mark 吃灰中正好五一放假拿出来折腾

===================
#23 akuma_oni 2025-5-3 19:11
能不能用系统自带的那个用root权限运行脚本的功能来跑这几个脚本文件

===================
#24 gggbdm 骚(2) 2025-5-4 14:58
原帖由 akuma_oni 于 2025-5-3 19:11 发表
能不能用系统自带的那个用root权限运行脚本的功能来跑这几个脚本文件

应该是不行。我试过做过一个免root的脚本,效果不太理想才做了这个。

===================
#25 naughtyben 2025-5-4 23:54
:哇哦(赵叔专用): :哇哦(赵叔专用): :哇哦(赵叔专用): :哇哦(赵叔专用):

泥潭高质量极客贴

===================
#26 shoukon 2025-5-5 15:49
posted by wap, platform: Android
请问lz,odin2 portal能用吗

===================
#27 gggbdm 2025-5-5 17:47
原帖由 shoukon 于 2025-5-5 15:49 发表
posted by wap, platform: Android
请问lz,odin2 portal能用吗

应该cpu一样都是通用的 不过我只有一台老的odin2,你可以等系统没什么ota更新了再root,要不然你每次有更新还要刷回去否则更新会报错。

[ 本帖最后由 gggbdm 于 2025-5-6 16:33 编辑 ]

===================
#28 Melas 2025-5-8 09:54
posted by wap, platform: Android
楼主牛逼,不知道能不能移植到rp5上

===================
#29 callus 2025-5-8 17:07
posted by wap, platform: Chrome
老了看不懂了,手里的Odin2只用来玩实况,顶楼主

===================
#30 gggbdm 2025-5-8 18:30
原帖由 Melas 于 2025-5-8 09:54 发表
posted by wap, platform: Android
楼主牛逼,不知道能不能移植到rp5上

主要我只有odin2,应该只要把cpu的配置改成rp5就行。你可以等rp5不太更新系统了试试,我可以改一个rp5版本的 晚点时候。

===================
#31 Melas 2025-5-12 00:58
原帖由 gggbdm 于 2025-5-8 18:30 发表

主要我只有odin2,应该只要把cpu的配置改成rp5就行。你可以等rp5不太更新系统了试试,我可以改一个rp5版本的 晚点时候。

牛逼,就等大佬的rp5版了

===================
#32 sxyzero 2025-5-12 10:23
posted by wap, platform: Android
odin2p能不能用

===================
#33 xiaoyang23 2025-5-12 11:25
加1,希望lz出个懒人包:泥鹅满地打滚:
原帖由 danianw2007 于 2025-4-28 14:58 发表
lz还能写的再大白话一点吗,老年人真看不懂,教程里解压后就几个文件,不会弄啊

===================
#34 gggbdm 2025-5-12 22:34
原帖由 sxyzero 于 2025-5-12 10:23 发表
posted by wap, platform: Android
odin2p能不能用

等过几个月odin2portal系统完善了,不太ota更新时候你再root,怕害你root更新不了系统,来回刷init_boot麻烦。

===================
#35 gggbdm 2025-5-12 22:35
原帖由 xiaoyang23 于 2025-5-12 11:25 发表
加1,希望lz出个懒人包:泥鹅满地打滚:

这个大家真想看我晚点详细截图给做一个教程吧,等时间多的时候。(毕竟是社畜)

===================
#36 iffox 2025-5-12 23:14
原帖由 gggbdm 于 2025-5-12 22:35 发表

这个大家真想看我晚点详细截图给做一个教程吧,等时间多的时候。(毕竟是社畜)

我的已经老早已经root过了,所以后续优化感到很简单,只是拷文件、改权限而已。

我自己这里,因为cave的那几个街机游戏本来就很流畅,所以没直接感受到优化脚本在起作用。
昨天试了下psp djmax,123代我都试了,但是没找到测延迟的地方。而且这种dj音游我不熟悉操作,总是失败。
ps2测了天诛几个全3d的游戏也没感到,因为原来就60帧丝滑,我反复开关模块对比了。
天马启动时间也没感到明显的增快,可能是因为我拷的rom比较少吧,这样对比不明显。

等一个drastic的优化,看看应援团能不能降低延迟。安卓端的drastic延迟大到根本没法玩。

我建议你写的root教程简要一点,就用记事本文字把关键步骤1234写出来,几行就OK了,图文反而没必要。

===================
#37 gggbdm 2025-5-15 10:04
原帖由 iffox 于 2025-5-12 23:14 发表

我的已经老早已经root过了,所以后续优化感到很简单,只是拷文件、改权限而已。

我自己这里,因为cave的那几个街机游戏本来就很流畅,所以没直接感受到优化脚本在起作用。
昨天试了下psp djmax,123代我都试了 ...

感谢反馈!这款模块针对的是底层系统的调度与响应机制优化,虽然 Odin2 本身性能很强,但安卓系统仍默认保守管理 CPU/GPU 资源,导致某些模拟器或音游类游戏存在 掉帧突刺、响应延迟、频率波动 等问题。
模块主要做了以下三方面:
CPU 调度优化:解除调度组限制,提升处理器频率响应,减少“突然掉帧”。
GPU 提升:锁定最大 GPU 频率,避免绘制周期被系统误判为低负载而降频。
输入优化:提升输入线程优先级,降低触控与操作延迟。
推荐你尝试 AetherSX2、RetroArch 或 DJMAX Technika 等高响应需求游戏,能更清楚体会变化。
后边有空我会继续跟进,制作更多的相关教程(Game Guardian方向,retroarch 自制金手指方向)。

===================
#38 gggbdm 2025-5-15 10:05
原帖由 iffox 于 2025-5-12 23:14 发表

我的已经老早已经root过了,所以后续优化感到很简单,只是拷文件、改权限而已。

我自己这里,因为cave的那几个街机游戏本来就很流畅,所以没直接感受到优化脚本在起作用。
昨天试了下psp djmax,123代我都试了 ...

root教程用QFIL我还是多放一点图,误操作后果还是很大的。我找个老外的视频放在网盘里晚点

===================
#39 akuma_oni 2025-5-16 22:59
posted by wap, platform: iPhone
更新1.6以后esde前端载入速度有明显提升,不过其它模拟器看不太出来,可能我对延时不太敏感

===================


[登录后才可回复]