-
Notifications
You must be signed in to change notification settings - Fork 177
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
Adds compatibility with steam flatpak. #1064
base: master
Are you sure you want to change the base?
Conversation
@@ -68,8 +69,10 @@ export default class SteamGameRunner_Linux extends GameRunnerProvider { | |||
|
|||
LoggerProvider.instance.Log(LogSeverity.INFO, `Steam directory is: ${steamDir}`); | |||
|
|||
const steamCmd = steamDir.indexOf(path.join(homedir(), '.var', 'app', 'com.valvesoftware.Steam')) == 0 ? `flatpak run --branch=stable --arch=x86_64 --command=/app/bin/steam-wrapper --file-forwarding --filesystem=home/.config/r2modmanPlus-local com.valvesoftware.Steam` : `"${steamDir}/steam.sh"`; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
A few questions which could be good to cover as a comment block above the line:
- Why is
--branch=stable
needed? - What is this doing?
--command=/app/bin/steam-wrapper
- What does
--filesystem=home/.config/r2modmanPlus-local com.valvesoftware.Steam
do? - File forwarding?
Is there a way we can determine if it's installed using flatpak beforehand rather than essentially doing: if exe else flatpak
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yeah, these arguments were necessary when running r2modman as a flatpak, and i forgot to reevaluate them for just steam flatpak compatibility. I will update my PR, only flatpak run com.valvesoftware.Steam
is necessary.
As for determinating beforehand if steam is flatpak, I'll have to have a better look at the code. Do you have any suggestions of where I could make this check? I'm thinking of putting this check in the Game class, but I want to hear your opinion
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh, I found this LinuxGameDirectoryResolver, there is already checks like isProtonGame in that class. I think I'll put a "isFlatpakSteam" there
README.md
Outdated
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
for this to work, the user needs to give Steam flatpak access to ~/.config/r2modmanPlus-local, so I added a note in the README. This is necessary, or else steam won't be able to start BepInEx.
Was just looking into making these changes myself! Glad I checked the list of PR. I am running Fedora with Steam installed as a flatpak and r2modman as an PRM package. I think this should solve the issues I am seeing by correctly calling the flatpak steam executable. Let me know if you would like me to build and test this, else I will wait for it to be merged. |
This looks to be a duplicate of #798. |
If this gets merged in, I can make a request on flathub forms. In the event the maintainers don't want to ship a flatpak themselves. |
The goal of this PR is to make r2modman compatible with steam flatpak. Since that fork was not being maintained, I made my fork based on my needs. I'm keeping it in sync with the official releases, and I'm packaging to pacman, so if anyone wants to use that just go to the releases page in my fork. Also if anyone wants it packaged in another way just ping me |
If it were an rpm that would be a bit more convenient for me personally, but I can still run the program as it is now. |
@Mervius Check the latest release in my fork, just added other packagings. I haven't tested besides pacman tho |
the rpm seems to work fine from what I can tell. |
I've been trying to get r2modman to work with Flatpak and couldn't as it wouldn't accept the steam binary in the relevant flatpak dirs for steam. Running @PedroVH fork immediately worked for me. Would be great to see this merged in some capacity. (Tested appimage from fork releases) |
This fix is really important to me. I didn't realize when I switched to Flatpak Steam, that it would break r2modman. I would love to see this PR reviewed and merged soon. |
Here is my janky script to make it work without any changes to r2modman. Put this & the r2modman AppImage in your PATH (e.g It needs to be re-inserted everytime since Steam detects the change and overwrites it (which also means a slow Steam startup). |
No description provided.