Skip to content

Port Manikineko viewer features back to stock Firestorm - #286

Open
bloomsirenix wants to merge 1 commit into
FirestormViewer:masterfrom
bloomsirenix:mko-features
Open

bloomsirenix wants to merge 1 commit into
FirestormViewer:masterfrom
bloomsirenix:mko-features

Conversation

@bloomsirenix

@bloomsirenix bloomsirenix commented Sep 8, 2026

Copy link
Copy Markdown

Summary

This PR ports the viewer-side plugin support and related fixes from the https://github.com/manikineko/manikinekogrid-fs fork back to stock Phoenix Firestorm. The patch was generated by diffing the fork against its upstream Firestorm base and then stripping all grid-specific and rebranding changes.

What was included

  • MKO DLL plugin protocol (mkopluginmanager, mko_plugin_api.h ABI v7), LLMessageSystem dispatch interceptor, and LLShaderMgr shader-source override hook.
  • Per-plugin settings UI (llpanelpluginsettings) exposed in Preferences > Graphics > "Shaders & Plugins".
  • MkoViewerInfo / MkoServerShaderPolicy broadcasts and the /rtx chat command.
  • Optional Lua plugin add-on (libmkolua) plus mko_plugins/ scripts and RTX shader packs.
  • RenderBackend / RenderUseRTX settings.
  • Miscellaneous bug fixes: gesture deactivate uses base_item_id, followcam stale-state cleanup on unseated avatar, persistent notification newest-first storage, script search floater non-minimizable, llinitparam IsSortable SFINAE fix for newer compilers, PerMonitorV2 DPI awareness, CMake VIEWER_CHANNEL quoting, and -DOPENSIM:BOOL=ON in autobuild configure.

What was deliberately excluded

  • grids.xml grid entries, DefaultGrid, manikineko:// URL scheme.
  • Discord application IDs and other grid-specific configuration.
  • Rebranding: app name/strings, folder names, icons, installer artwork, NSIS changes, velopack auto-update disablement, support-group version popups, etc.

Build verification

  • Switched the local clone to https://github.com/bloomsirenix/phoenix-firestorm-test.git.
  • Applied firestorm-mko-features.patch cleanly with git apply.
  • Built with the repository's ./build.sh (ReleaseOS, x86_64, OpenSim, no KDU/FMOD) on Ubuntu 24.04 / Linux 6.14.0-37. The build completed all 1359 compile steps and produced a packaged viewer in build-linux-x86_64/newview/packaged/.

Notes

  • The build script uses VIEWER_CHANNEL=Firestorm so the resulting package is branded as stock Firestorm.
  • The plugin manager defaults to the upstream mko_plugin_api.h ABI v7; proprietary plugins (mko_rtx, mko_vulkan, mko_anticheat) are not bundled here and are loaded dynamically by the grid that distributes them.

Generated with Devin

Functional changes extracted from manikinekogrid-fs HEAD:
- MKO DLL plugin protocol: mkopluginmanager, mko_plugin_api.h (ABI v7),
  LLMessageSystem dispatch interceptor, LLShaderMgr shader-source override hook,
  per-plugin settings UI (llpanelpluginsettings + "Shaders & Plugins" tab),
  MkoViewerInfo / MkoServerShaderPolicy broadcasts, /rtx chat command.
- Optional Lua plugin add-on (libmkolua) + mko_plugins/ scripts and RTX shader packs.
- RenderBackend / RenderUseRTX settings.
- Bug fixes: gesture deactivate base_item_id; followcam stale-state cleanup;
  persistent notification newest-first; script search floater not minimizable;
  llinitparam IsSortable SFINAE fix; PerMonitorV2 DPI awareness; CMake
  VIEWER_CHANNEL quoting; -DOPENSIM:BOOL=ON in autobuild configure.

Grid-specific and rebranding changes were deliberately excluded.

Generated with Devin (https://devin.ai)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

1 participant