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

Add Spacechem as an humblebundle game #18

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

layus
Copy link
Contributor

@layus layus commented Jul 31, 2018

No description provided.

Copy link
Member

@aszlig aszlig left a comment

Choose a reason for hiding this comment

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

Thank you, after switching to buildGame I'll merge :-)

pkgs/games/humblebundle/spacechem.nix Outdated Show resolved Hide resolved
pkgs/games/humblebundle/spacechem.nix Outdated Show resolved Hide resolved
@layus
Copy link
Contributor Author

layus commented Aug 2, 2018

@aszlig I fixed according to your comments.

I had troubles with {setS,s}ourceRoot and fixed some code in buildGame. I am also not too sure about coreutils and uname invocations made by the game.

If this is ok, do not forget to autosquash before merging.

@layus
Copy link
Contributor Author

layus commented Oct 3, 2018

@aszlig Wanna have a second look at this one ?

@layus
Copy link
Contributor Author

layus commented Sep 29, 2019

Updated, as a new fixed version was released in the meantime.

@layus
Copy link
Contributor Author

layus commented Sep 29, 2019

@aszlig Could you have a look at #18, #25 and #21 ?

@layus
Copy link
Contributor Author

layus commented Sep 29, 2019

Oh, BTW, the humblebundle downloader does not work anymore. Not sure if this is really important, especially given that the upstream python lib has not been updated since 2015.

@aszlig
Copy link
Member

aszlig commented Sep 29, 2019

@layus: Hm, one question remains though: You haven't set a sandbox path, so I'd assume the game writes save files in $XDG_DATA_HOME or $XDG_CONFIG_HOME, right? And if yes, it might be a good idea, to set a more specific path.

@aszlig
Copy link
Member

aszlig commented Sep 29, 2019

@layus: Regarding the HB downloader, I'm already aware of that and will fix it along with the merge of your PRs.

@layus
Copy link
Contributor Author

layus commented Sep 29, 2019

Updated the sandbox path. There is a strange access to a pulse "cookie" in CONFIG_HOME/pulse. It gets created by spacechem, but it needs write permission there.

@aszlig
Copy link
Member

aszlig commented Sep 29, 2019

@layus: While this is just an ugly thing that's not a stopper for merging this PR, can you post a strace -f of the game somewhere so we can figure out why this is is needed?

@layus
Copy link
Contributor Author

layus commented Sep 29, 2019

Here it is https://gist.github.com/dab849ee90e7384b45616c07379064e0 :-).

I grep'd 'layus' for brevity.

@layus
Copy link
Contributor Author

layus commented Sep 29, 2019

and the same, when "$XDG_CONFIG_HOME/pulse" is removed from the required sandbox paths: https://gist.github.com/3fb6dcb1de51a351d3ee16f49894a5aa

@layus
Copy link
Contributor Author

layus commented Sep 29, 2019

https://www.reddit.com/r/spacechem/comments/1qundh/fully_functional_spacechem_on_linux/ has interesting remarks. I have no idea what xclip is for. never encountered the bug.

@aszlig
Copy link
Member

aszlig commented Sep 30, 2019

@layus: Regarding the pulse cookie, this might be also due to a mixture of 32/64 bit libraries as well, because usually the pulse cookie should be gathered via the X session, but for some reason not included in the strace (as it's only -e trace=%file), it wasn't able to do that.

@aszlig
Copy link
Member

aszlig commented Sep 30, 2019

https://www.reddit.com/r/spacechem/comments/1qundh/fully_functional_spacechem_on_linux/ has interesting remarks. I have no idea what xclip is for. never encountered the bug.

I guess Spacechem is calling xclip to put data into the user's clipboard. If that's the case, there is monogamePatcher, which can be used to patch the assemblies. It's just a guess and it could also be Mono itself, so I'd double-check with monodis and look for clipboard references.

@layus
Copy link
Contributor Author

layus commented Sep 30, 2019

It is a .exe (admitedly, ad 32bit .exe) that runs with mono. It works perfectly well with a 64 bit mono, so I do not get the point of downloading all the 32 bit version of all the dependencies just to autoPatchelfHook patch rgb2theora correctly.

@layus
Copy link
Contributor Author

layus commented Sep 30, 2019

It looks like it is working properly with 32bits.

@layus
Copy link
Contributor Author

layus commented Sep 30, 2019

I could not find the source that calls xclip, but adding it to path fixes the issue. It's good enough for now.

Also removed the "cookie" sandbox path. Seems not needed for sound to play.

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