Repository navigation
feat: 内置 MobileGlues 与 SimpleFPEWrapper 渲染器,齿轮对话框支持环境变量与 MG 运行时配置 - #1971
Merged
Merged
Conversation
…rerManager 新增两个内置条目,FCLauncher 新增对应 env 分支(MG_COUNT_LAUNCH/MG_DIR_PATH/SFPEW_RELAXED_CONTEXT 可经渲染器列表齿轮入口的 RendererEnvDialog 配置,复用插件 envPrefs 存储),AAR 来自 AngelAuraMC/Amethyst-Android v3_openjdk libs(MobileGlues LGPL-2.1 / SFPEW LGPL-3.0,上游 MobileGL-Dev)
…S 缺省做空值加固——真机上 strtol(getenv=NULL) 在 gl_init_context SEGV
…or/angleDepthClearFixMode/customGLVersion/maxGlslCacheSize/三个扩展开关/fsr1Setting;配置改写应用私有目录 files/mobileglues/config.json(合并保留未知键)并经 MG_DIR_PATH 指向,不再共用 /sdcard/MG
…ues 全部选项与 SFPEW 开关配上功能级中英文说明(值枚举挪入说明,标题精简为变量名)
…esa env 收进 ZINK 分支,MG config.json 只合并显式配置键 - RendererEnvDialog.buildRow:description 视图构建后插到 header 之后(index 1),修掉原实现在 when 块前 addView 进 row、被后加入的 header 顶到标题上方的问题(与提交意图'标题下渲染小字'相反) - RendererPlugin 新增 @JvmStatic toggleEnabled/isConfigured:开关键后缀约定收口,FCLauncher 删除 "MG_COUNT_LAUNCH@enabled"/"SFPEW_RELAXED_CONTEXT@enabled" 字面量与 mgToggleInt - addRendererEnvInner:MESA_*/driconf 五项只对 ZINK 注入,MobileGlues/SFPEW 不再吃到无效 Mesa env,注释同步 - writeMobileGluesConfig:仅合并用户显式配置过的键(开关型经 isConfigured 查开关键),prefs 为空不落盘;未配置的已知键与 MG 自写未知键保留原值,不再首启固化全量默认值 验证:Zulu17 :FCL:compileDebugJavaWithJavac 通过;MuMu x86_64 实测——齿轮对话框说明文字位于标题下方;MobileGlues 启动 env 注入正确(POJAV_RENDERER/LIBGL_ES=3/MG_COUNT_LAUNCH=1/MG_DIR_PATH),config.json 九键写入且 MG 原生侧读取生效(设置项逐一对应、EGL initialized successfully)
Collaborator
Author
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
动机
MobileGlues 与 SimpleFPEWrapper(SFPEW)是 Android 端实用的 GL 桥接方案,此前 FCL 用户需要手工放置库与配置才能使用。本 PR 将两者作为内置渲染器直接提供,预编译 AAR 与上游 AngelAuraMC/Amethyst-Android
v3_openjdk分支 libs 同步(MobileGlues LGPL-2.1 / SFPEW LGPL-3.0,上游 MobileGL-Dev)。基于 #1959 之后的 main。改动
内置渲染器
RendererManager新增 MobileGlues / SFPEW 两个内置条目FCLauncher对应 env 分支:POJAV_RENDERER=opengles3_mobileglues、LIBGL_ES=3、LIBGL_EGL/POJAVEXEC_EGL=libmobileglues.so、MG_COUNT_LAUNCH(仅统计经启动器启动的会话)、MG_DIR_PATHPOJAV_RENDERER=opengles3_sfpew、LIBGL_ES=3(backend 要求 GLES 3.0+)、POJAVEXEC_EGL=libEGL.so、SFPEW_RELAXED_CONTEXT(单线程单上下文优化,默认开启)配置(渲染器列表齿轮 → RendererEnvDialog 内置渲染器配置模式,复用插件 envPrefs 存储)
enableANGLE/enableNoError/angleDepthClearFixMode/customGLVersion/maxGlslCacheSize/ 三个扩展开关 /fsr1Setting;配置改写应用私有目录files/mobileglues/config.json(合并保留未知键)并经MG_DIR_PATH指向,不再共用/sdcard/MGRendererEnvDialog的EnvSpec增加可选description字段,标题下渲染小字说明(中英文),值枚举挪入说明、标题精简为变量名;说明文案同步进values/values-zhstrings真机暴露的修复
gl_bridge对LIBGL_ES缺省做空值加固:SFPEW 首次启动未设该变量时strtol(getenv(NULL))在gl_init_contextSEGV测试
:FCL:compileDebugJavaWithJavac通过LIBGL_ES缺省 SEGV,修复后可进入游戏