Skip to content
MichalSyPublic

About

Native game library and performance profiling workspace for AnyPS5. Design and architecture planning for Windows and Linux.

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

35 Commits

Folders and files

Repository files navigation

FrameRift

Launch games. Understand frames.

Experimental native GTK4 game library and live runtime console for Linux. Game execution requires the modified AnyPS5 fork.

Current capabilities

  • Scan configured game folders; use metadata titles and stable IDs, search, sorting and recently played games.
  • SteamGridDB covers, logos and animated WebP heroes; SQLite/image cache works offline. Credentials stay in the desktop keyring.
  • Play converts missing game code and launches one guarded game in an external window. Rebuild replaces only generated code.
  • Profiler Live: estimated FPS, mean/P95/worst flip intervals, 60-second history, frame selection, shader/work activity and scoped memory.
  • Profiler Logs: colored process output with bounded scrollback; complete logs remain on disk.
  • Local HTTP MCP controls the same game session as the UI. UDP supplies independent live runtime telemetry.
  • Windows launch, embedded windows and general game compatibility are unverified. Detailed per-frame CPU/GPU attribution, captures and input scripts are planned.

Build and run

Dependencies and minimum versions: technical stack.

cmake -S . -B build -G Ninja -DCMAKE_INSTALL_PREFIX="$HOME/.local"
cmake --build build
ctest --test-dir build --output-on-failure
./build/framerift
  • In Settings, add game folders and select the modified AnyPS5 checkout.
  • Launch uses its newest complete, current patched CMake build in place; build relinker and libs there first.
  • For live telemetry, configure that AnyPS5 build with -DANYPS5_ENABLE_DEBUG_BRIDGE=ON.
  • Save the SteamGridDB key in Settings; STEAMGRIDDB_API_KEY overrides it.
  • Local development: desktop launcher points at this checkout's build/framerift. Packaged installation: cmake --install build.
  • Cache: $XDG_CACHE_HOME/framerift (default ~/.cache/framerift). Saves/logs: $XDG_DATA_HOME/framerift (default ~/.local/share/framerift), keyed by game ID.

MCP and live connection

Keep FrameRift open; its default endpoint is http://127.0.0.1:47653/mcp.

codex mcp add framerift --url http://127.0.0.1:47653/mcp
  • Game tools: list_games, start_game, stop_game, get_game_status, get_game_log.
  • Bridge tools: get_bridge_status, get_monitoring_snapshot, get_events, send_command, get_command.
  • Start/stop are asynchronous; poll status. Game tools work without UDP.
  • Managed launches pass a free local UDP port and session identity to the game. After its handshake, FrameRift automatically requests monitoring.
  • Monitoring toggles collection; tab changes keep the game and receiver active. Header status means a UDP connection, not rendering progress.
  • MCP arguments, configuration and protocol; Live usage and measurement limits.

Preview and documentation

FrameRift game library

License

  • Original code/docs: AGPL-3.0-or-later, with attribution terms in NOTICE. Preserve FrameRift credit and origin link; distributed derivatives and modified network services must provide corresponding source under the license.
  • AnyPS5: GPL-2.0-only. Third-party artwork and trademarks retain their own rights.

About

Native game library and performance profiling workspace for AnyPS5. Design and architecture planning for Windows and Linux.

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages