Nixpkgs: Steam cannot connect to friends network

Created on 31 Jul 2018  路  19Comments  路  Source: NixOS/nixpkgs

Issue description

The Steam client cannot connect to the friends network. I'm still able to browse the Steam store and download games. I tried disabling the firewall, that had no effect.

Steps to reproduce

  1. Install Steam: nix-env -iA nixos.steam
  2. Open Steam and log in
  3. Wait a little bit, and a new window will open attempting to connect to Steam friends network
  4. Get message:

    FRIENDS NETWORK UNREACHABLE
    This failure may indicate that your local network is offline or that the Steam Friends servers are currently offline.
    

Technical details

$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 4.14.56, NixOS, 18.03.132915.d6c6c7fcec6 (Impala)`
 - multi-user?: `yes`
 - sandbox: `no`
 - version: `nix-env (Nix) 2.0.4`
 - channels(matthew): `"nixos-18.03"`
 - channels(root): `"nixos-18.03.132915.d6c6c7fcec6"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos/nixpkgs`

Most helpful comment

I've been experimenting with nixos-rebuild build-vm and discovered that the problem only occurs when I have this line in my configuration.nix:

time.timeZone = "Australia/Sydney";

Temporary workaround: launch Steam as TZ=UTC steam.

All 19 comments

Yeah, I can confirm the new friends feature doesn't work on NixOS.

Temporary fix is to launch steam with the flags -nochatui -nofriendsui, Steam should launch and use the old Friends list system.

I can't reproduce this issue on my machine tracking the nixos-unstable channel.
Everything works fine here.

$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 4.14.54, NixOS, 18.09pre145679.dae9cf6106d (Jellyfish)`
 - multi-user?: `yes`
 - sandbox: `no`
 - version: `nix-env (Nix) 2.0.4`
 - channels(root): `"nixos-18.09pre145679.dae9cf6106d"`
 - nixpkgs: `/nix/var/nix/profiles/per-user/root/channels/nixos`

I've been experimenting with nixos-rebuild build-vm and discovered that the problem only occurs when I have this line in my configuration.nix:

time.timeZone = "Australia/Sydney";

Temporary workaround: launch Steam as TZ=UTC steam.

I wonder if this could be something like https://github.com/NixOS/nixpkgs/issues/38991 but with the timezone format instead of locale.

As an Australian who uses steam on NixOS I can confirm I'm experiencing the same issue on nixpkgs 18.03. And that using TZ=UTC steam fixes the issue.

I've modified steam in my local nixpkgs to apply the workaround by adding TZ=UTC to the profile used by the chroot: https://github.com/Vodurden/nixpkgs/commit/2a7f0a49659af2cecb36ca5d5f798ffb4a24f914

I also noticed that this workaround only solves the issue if I launch steam through steam & on the command line or with Command Line: run steam in the plasma application launcher. If I launch steam through the Applications shortcut it doesn't seem to work. Not sure if that helps with diagnosing the root cause but I figure every detail helps \:)

Perhaps I should've tried this earlier, but launching Steam as TZ="Australia/Sydney" steam also works for me.

I have a theory that when TZ is not set, Steam figures out the timezone by doing the equivalent of readlink /etc/localtime.

On NixOS, this results in:

/nix/store/sf38jy6fka7w2h06gjlxfh8z122j2v5r-steam-usr-target/etc/localtime

and Steam isn't able to figure anything out. However, on Debian (where Steam chat still works), this results in:

/usr/share/zoneinfo/Australia/Sydney

and Steam can figure out the timezone.


I just tested my theory on NixOS by doing this as root:
(Probably don't do this on your own system because it messes with the store)

cd /nix/store/r9qphv5nsab91a8ap2jknwyfbigqkq9y-steam-fhs/etc
mount -o remount,rw /nix/store/
rm localtime 
ln -s /host/etc/zoneinfo/Australia/Sydney localtime

and now Steam chat works!

@mat8913 Maybe open a PR to get your fix into the main repo? Nice work on figuring it out guys!

@mat8913's fix works on my machine. Just copied it to my local checkout of nixpkgs, did nixos-rebuild switch, opened steam and the new friends chat UI loaded and works fine!

@instantepiphany

If you're referring to the steam: Set TZ to detected timezone on startup commit, I've opened a PR at #44602.

Any progress? Have had this problems for months and no fix coming?

@GreatBigWhiteWorld: did you try that PR and failed? (I know it's not merged yet.)

@GreatBigWhiteWorld That PR by @mat8913 worked for me - https://github.com/NixOS/nixpkgs/pull/44602
After applying that patch I have had no problems so far!

Sorry I don't know how to apply a PR. I ain't no programmer....

I've changed the Download Region in Settings -> Downloads to US - Boston and it's fine now.

image

@GreatBigWhiteWorld Knowing how to apply patches and having basic git skills will help if you want to use NixOS.

But look at @rthoo's response, try that and see if it helps.

I'm unable to reproduce this (on unstable and with steam beta). Should we only apply the patch to 18.09?

@Enzime So adding -nochatui -nofriendsui after the command worked until the last update, which broke it again. Good job valve.
@instantepiphany Change download region to Boston doesn't work for me.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

globin picture globin  路  65Comments

joepie91 picture joepie91  路  102Comments

danykey picture danykey  路  64Comments

timokau picture timokau  路  66Comments

worldofpeace picture worldofpeace  路  103Comments