Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Revive headless mode #855

Draft
wants to merge 20 commits into
base: dev
Choose a base branch
from
Draft

Revive headless mode #855

wants to merge 20 commits into from

Conversation

psyGamer
Copy link
Member

@psyGamer psyGamer commented Nov 24, 2024

Headless mode apparently worked some time 6 years ago, however has been basically unusable in the past few years.

This PR revives that idea by adding a Headless driver to FNA3D and patching FNA, to completly bypass any window creation / GPU APIs and therefore allow Celeste to be run on servers without a GPU, such as GitHub Actions.

It is applied by specifiying the headless flag to MiniInstaller. It's no longer a runtime flag, since a) you're never switching between them and b) we need to apply MMR patches to FNA.

Currently it doesn't apply any optimizations and only provides updated FNA3D libraries for Linux, which is why this is a draft.

Note that this PR is based of #843, due to MiniInstaller changes

TODO:

  • Disable asset loading
  • Disable Discord integration
  • Disable auto-updates (could cause an unwanted restart)
  • Skip intro and OOBE
  • Windows and macOS FNA3D libraries

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants