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

steam: switch to the newer steam-runtime packaging #87243

Merged
merged 2 commits into from Jun 2, 2020

Conversation

euank
Copy link
Member

@euank euank commented May 8, 2020

Valve has started releasing tarballs of the steam runtime. It seems a
lot easier to download and extract a single tarball than to download a
buncha debs, extract them, and splat em around a bit.

Let's just use the runtime they build. It's a buncha random binary
packages either way.

Also, the download url for their debs broke, so there's that too.

Motivation for this change

Valve deletes debs from their repos apparently (see #86892 and #86358).

@tadfisher suggested using the steam-runtime images valve builds in that thread too, and I think it's a great idea!

So yeah, that's what this PR does.

Things done
  • Tested using sandboxing (nix.useSandbox on NixOS, or option sandbox in nix.conf on non-NixOS linux)
  • Built on platform(s)
    • NixOS
    • macOS
    • other Linux distributions
  • Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
  • Tested compilation of all pkgs that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review wip"
  • Tested execution of all binary files (usually in ./result/bin/)
  • Determined the impact on package closure size (by running nix path-info -S before and after)
  • Ensured that relevant documentation is up to date
  • Fits CONTRIBUTING.md.

Note that I don't actually know how to test the steam-runtime stuff fully. I verified that steam-run seems to give me an environment that looks right? I think?

I verified that a sample game launched correctly (Factorio specifically) both via steam and via steam-run, and it ofc didn't launch outside of the chroot environment.

Running it did print this error: /home/user/.local/share/Steam/ubuntu12_32/steam-runtime/setup.sh: line 22: zenity: command not found

I have no clue if that's new because I can't get the old steam package to work because one of the debs won't download.

@ofborg ofborg bot added the 6.topic: steam label May 8, 2020
Valve has started releasing tarballs of the steam runtime. It seems a
lot easier to download and extract a single tarball than to download a
buncha debs, extract them, and splat em around a bit.

Let's just use the runtime they build. It's a buncha random binary
packages anyway.

Also, the download url for their debs broke, so there's that too.

nativeBuildInputs = [ python2 dpkg stdenv.cc.bintools ];
src =
if steamArch == "amd64" then fetchurl {
Copy link
Member Author

@euank euank May 8, 2020

Choose a reason for hiding this comment

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

I think steamArch might be subtly different now. amd64 now means download the amd64+i386 runtime snapshot because there isn't an x64-only one.

Before, iiuc, the steam-chrootenv would go out of its way to get the i386 runtime on amd64 hosts since amd64 didn't already include it. It seems like we can probably simplify that code in default.nix for the chrootenv a tiny bit now too!

@euank
Copy link
Member Author

euank commented May 9, 2020

cc @hrdinka @abbradar as the maintainers of this derivation.

@hrdinka
Copy link
Contributor

hrdinka commented May 14, 2020

@euank Thanks for the patch! This looks a lot better than what we have now. I am sorry for not responding earlier. I haven't found any time yet to test this. I will try to give it a closer look this weekend.

@hrdinka
Copy link
Contributor

hrdinka commented May 18, 2020

So far everything is working for me with this patch. I will give it a few more days for more testing and to checkout your problem with zenity (it’s actually part of the chrootenv and not the runtime, so it should work).

@hrdinka hrdinka merged commit a2889d6 into NixOS:master Jun 2, 2020
@hrdinka
Copy link
Contributor

hrdinka commented Jun 2, 2020

I did some more testing including fresh Steam installs/configs, everything is working as expected. Thanks for this change, this is making things a lot easier.

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

Successfully merging this pull request may close these issues.

None yet

2 participants