Skip to content

Deck#2028

Merged
ebkr merged 15 commits intodevelopfrom
deck
Jan 20, 2026
Merged

Deck#2028
ebkr merged 15 commits intodevelopfrom
deck

Conversation

@ebkr
Copy link
Copy Markdown
Owner

@ebkr ebkr commented Dec 18, 2025

Steam Deck / Flatpak Support

This PR adds Flatpak building potential to r2modman which allows native installing to the deck (and running in Game Mode).

Status

As of now, this branch can be built to a Flatpak image and it will run.

It has currently broken launching of every other platform. Works great if you're on Steam Deck - not if you're a regular user.

Differences

Flatpak has an absolute ton of restrictions. To work around this for Flatpak-based installs we now do the following:

  • Invoke Steam via steam://run/<appid>.
  • Require a separate launch wrapper script (part of this PR).
    • Arguments are consumed as part of a text file and not passed via CLI.
    • This is again, a limitation of Flatpak and a hacky workaround.

Extra changes

I've taken out the automated file modifications to enable WINEDLLOVERRIDES. Instead we are now making the user supply the override as an environment variable as it's more reliable. This is done as part of the launch arguments copyable string.

Users will be prompted if their launch args don't match. For existing launches they'll already have the file modified so it won't affect older users regardless of the re-prompt.

@ebkr ebkr force-pushed the deck branch 5 times, most recently from 65b3b42 to aeb54e5 Compare December 31, 2025 16:32
@ebkr ebkr marked this pull request as ready for review December 31, 2025 16:33
@ebkr ebkr requested a review from anttimaki December 31, 2025 16:35
return {
moddedParameters: `--gdweave-folder-override="${DynamicGameInstruction.GDWEAVE_FOLDER}"`,
vanillaParameters: "--gdweave-disable"
moddedParameterList: [`--gdweave-folder-override=${DynamicGameInstruction.GDWEAVE_FOLDER}`],
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The quotes were intentionally added here so ensure removing them doesn't break things.

Copy link
Copy Markdown
Owner Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The behaviour should be almost identical

We go from:

-: --gdweave-folder-override="some path"
+: "--gdweave-folder-override=some path"

Both are almost entirely similar, however this new way prevents all arg parsers from reading " as part of one of the value.

Compared to the original reason, we'd end up with:

-: --gdweave-folder-override=some path
+: "--gdweave-folder-override=some path"

and this would have been done so that the command was treated as a single entry.
I haven't tested with GDWeave, but in general, a quote surrounded argument is handled correctly.

@ethangreen-dev
Copy link
Copy Markdown
Collaborator

Can confirm that this works on my Steam deck

@ebkr ebkr merged commit 131af8d into develop Jan 20, 2026
5 checks passed
@ebkr ebkr deleted the deck branch January 20, 2026 12:28
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.

3 participants