Closed apiontek closed 4 years ago
Hello @apiontek, as a test, can you remove both the distro and valve variants of the steam package, then move ~/.steam and if it is there, ~/.local/share/Steam somewhere out of the way. Then add either the distro-provided or valve-provided steam package, but not both and re-run steam.
I had already done that. I originally had distro-provided steam package installed. I removed ~/.steam and ~/.local/share/Steam, then did a find ~/ -iname "steam" and removed ~/.steampid, ~/.steampath, and ~/Steam I think. I then purged the distro-provided steam, downloaded steam-latest.deb, and installed that. Upon getting the same error, I submitted this issue.
Just now however, I tried again, running sudo apt purge steam-launcher
after a dpkg -l | grep -i steam
and removing ~/.steam and ~/.local/share/Steam again.
This time I reinstalled the distro-provided package and had the same result.
Tried again and reinstalled the valve-provided package, and have the same result. I get the error with both.
Thanks for the confirmation @apiontek.
As an update, since my root system is on ext4, I created a temporary /opt/steam folder with subfolders for .steam, local-share-Steam, and Steam, and did ln -s for each of them into the appropriate places in my homedir.
Then, the steam installer worked fine. But when I remove the symlinks and move the folders into position, although Steam starts up fine, I can't install games because it reports 0 space free.
So it seems I could run games with folders symlinked to an ext4 partition, but this isn't optimal for me. My root partition is a small SSD. I wonder if I can create a ZFS block device formatted ext4, and symlink again? I'll try that.
Editing to add: creating an ext4-formatted zvol and symlinking the steam folders to folders on that volume, does work and allow me to install & run games. Not ideal, but I can run games for now!
Same problem on Arch Linux when trying to add new Steam Library folder located on ZFS volume: Steam shows 0 bytes free space in such folders.
Got same problem on gentoo STEAM_DEBUG=1 DEBUGGER=strace steam_debug.txt steam.strace.txt
Same problem on Xubuntu 17.04
Chiming in, Gentoo user here.
cinu cybik # uname -a; equery list zfs zfs-kmod spl
Linux cinu 4.12.1-gentoo-cybik #1 SMP Sat Jul 15 00:10:04 PDT 2017 x86_64 Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz GenuineIntel GNU/Linux
* Searching for zfs ...
[IP-] [ ] sys-fs/zfs-0.6.5.11:0
* Searching for zfs-kmod ...
[IP-] [ ] sys-fs/zfs-kmod-0.6.5.11:0
* Searching for spl ...
[IP-] [ ] sys-kernel/spl-0.6.5.11:0
My specific console error:
../tier1/fileio.cpp (3264) : Assertion Failed: Failed to determine free disk space for /media/Games/cybik/Steam, error 75
../tier1/fileio.cpp (3264) : Assertion Failed: Failed to determine free disk space for /media/Games/cybik/Steam, error 75
../tier1/fileio.cpp (3264) : Assertion Failed: Failed to determine free disk space for /media/Games/cybik/Steam, error 75
GameAction[AppID 2820, ActionID 1] : RunGame failed with NotInstalled with ""
../tier1/fileio.cpp (3264) : Assertion Failed: Failed to determine free disk space for /media/Games/cybik/Steam, error 75
../tier1/fileio.cpp (3264) : Assertion Failed: Failed to determine free disk space for /media/Games/cybik/Steam, error 75
../tier1/fileio.cpp (3264) : Assertion Failed: Failed to determine free disk space for /media/Games/cybik/Steam, error 75
Gentoo user x2, Steam Beta, same problem as with @cybik
@kisak-valve when will this be fixed (or at least an option that allows you to skip checking free space)? It's a bit(very) annoying that i cannot use steam.
Same problem with steam and gog installers under wine, maybe we need to report a bug to zfs.
I'm starting to think we should bring in the zfs driver developers.
I'm having the same issue with Steam on Arch. I'm using btrfs instead of zfs though, but trying to install Steam games to another drive mounted at /storage. Steam claims there are 0 bytes of disk space free, which isn't true. I've confirmed that reading and writing to the drive works.
Seems valve fixed this in beta update. UPD: Seems something updated in system, because the Steam and GOG installers in Wine are now correctly show the free space.
Thanks for testing @soredake, is anyone else having this issue with zfs or btrfs with the steam beta client? If needed, you should be able to manually opt-in to the steam beta with touch ~/.steam/steam/package/beta
.
Steam package versions 1503954609, still can't install (reporting 0MB free).
Using zfs, Steam Linux Native.
Still happening on steam beta with package version 1503954609 on Manjaro 17.0.2 and ZFS v0.6.5.9-2
My free space is correct now and I am able to install games to libraries in my zfs datasets. This is on Fedora 26.
Name : zfs
Version : 0.7.1
Release : 1.fc26
Arch : x86_64
Size : 1.0 M
Source : zfs-0.7.1-1.fc26.src.rpm
@nathandorsey gave me the idea of updating my zfs (0.6.x to 0.7.1), but I still have 0mb available.
cinu cybik # uname -a; echo ============; equery l zfs zfs-kmod spl;
Linux cinu 4.12.1-gentoo-cybik #2 SMP Sat Jul 15 14:55:14 PDT 2017 x86_64 Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz GenuineIntel GNU/Linux
============
* Searching for zfs ...
[IP-] [ ] sys-fs/zfs-0.7.1:0
* Searching for zfs-kmod ...
[IP-] [ ] sys-fs/zfs-kmod-0.7.1:0
* Searching for spl ...
[IP-] [ ] sys-kernel/spl-0.7.1:0
@cybik i'm on 0.7.1 zfs, 4.12.8 kernel and 6.4.0 gcc, maybe this will help you. Additionaly: Kernel config https://notabug.org/soredake/dotfiles_home/src/master/kernel/.config_4_12_8 Portage settings: https://notabug.org/soredake/dotfiles_home/src/master/etc/portage/portage
@soredake I'll update my kernel for funsies.
Kernel updated, still an issue.
Config Snapshot: https://github.com/cybik/currentconfigs (not for the faint of heart)
Steam Version: 1503954609
cinu cybik # uname -a; echo ============; equery l zfs zfs-kmod spl;
Linux cinu 4.12.8-gentoo-cybik #1 SMP Sat Sep 2 09:20:51 PDT 2017 x86_64 Intel(R) Core(TM) i7-4790K CPU @ 4.00GHz GenuineIntel GNU/Linux
============
* Searching for zfs ...
[IP-] [ ] sys-fs/zfs-0.7.1:0
* Searching for zfs-kmod ...
[IP-] [ ] sys-fs/zfs-kmod-0.7.1:0
* Searching for spl ...
[IP-] [ ] sys-kernel/spl-0.7.1:0
@soredake can you run this:
equery l zfs zfs-kmod spl
@cybik nothing interesting
* Searching for zfs ...
[IP-] [ ] sys-fs/zfs-0.7.1:0
* Searching for zfs-kmod ...
[IP-] [ ] sys-fs/zfs-kmod-0.7.1:0
* Searching for spl ...
[IP-] [ ] sys-kernel/spl-0.7.1:0
And my zpool options ashift=12 -o compression=lz4,checksum=edonr,dnodesize=auto,xattr=sa
Just wanted to see if you had any -r1 or anything of the sort.
I just cleared my Steam executable tree in .local, I still don't have anything functional. Zfs 0.7.1 all around
Could it be that some libraries installed on my system are clashing with what Steam is expecting?
Seeing the same issue in the backup/restore dialog as well. Ubuntu 17.04 and ZFS version 0.6.5.9-2
Seeing this on Arch:
Name : zfs-linux
Version : 0.7.1.4.12.13.1-1
Description : Kernel modules for the Zettabyte File System.
Architecture : x86_64
URL : http://zfsonlinux.org/
Name : linux
Version : 4.12.13-1
Description : The Linux kernel and modules
Architecture : x86_64
URL : https://www.kernel.org/
Steam package versions: 1504757234 Steam build date: Sep 6 2017
Just encountered this on Arch right after starting steam [official repo] with Kernel 4.13.3 and corresponding ZoL 0.7.2 [.4.13.3.1-1].
CLI error states:
Assert( Assertion Failed: Failed to determine free disk space for ., error 75 ):../tier1/fileio.cpp:3186
As a further note I zfs mount a seperate zpool/user to /home/user (very common practice).
Workaround for now: As ZFS distributes space evenly among any dataset and steam is unable to understand this yet, you can set ZFS attribute quota
on your dataset that's mounted to /home. Please read the zfs manuals if you don't know what this attribute does or how to use it.
Confirming, setting a quota works, even outside of a mounted-in-home dir. I set a quota to 1500G and it started working without Steam even restarting.
This can help Valve find out why the balls this is being read wrong.
Further to above, if I set a quota greater than 4T disk space is not determined correctly. 4T or less works fine.
Hello @aots-aots, please open a separate issue report for the 4TB quota issue so that it can be tracked properly.
I set my quota to 4T for the zfs pool mounted at ~/tank, yet steam still doesn't get the size. This is annoying, it basically makes steam useless for my needs
This also effects me, running Ubuntu 17.04. About a year ago on Ubuntu 16 steam did detect the available free space and the games installed and ran from the zfs filesystem.
I have the same problem. Here my setup (Fedora 27):
[richi@wlx001 ~]$ uname -r
4.14.8-300.fc27.x86_64
zfs:
Name : zfs
Version : 0.7.5
Release : 1.fc27
Arch : x86_64
Size : 1.0 M
Source : zfs-0.7.5-1.fc27.src.rpm
Repo : @System
From repo : zfs
Summary : Commands to control the kernel modules and libraries
URL : http://zfsonlinux.org/
License : CDDL
Description : This package contains the ZFS command line utilities.
steam:
Name : steam
Version : 1.0.0.54
Release : 13.fc27
Arch : i686
Size : 2.7 M
Source : steam-1.0.0.54-13.fc27.src.rpm
Repo : @System
From repo : rpmfusion-nonfree-updates
Summary : Installer for the Steam software distribution service
URL : http://www.steampowered.com/
License : Steam License Agreement
Description : Installer for the Steam software distribution service.
: Steam is a software distribution service with an online store, automated
: installation, automatic updates, achievements, SteamCloud synchronized savegame
: and screenshot functionality, and many social features.
My home is on a ZFS pool:
Filesystem Size Used Avail Use% Mounted on
data/home 5.3T 24G 5.3T 1% /home
This is a fresh setup, so i can't even install steam. The touch ~/.steam/steam/package/beta
trick also didn't work. Might it be the i686
arch for the steam package?
Edit: Setting a quota worked.
This looks like a duplicate of #4824.
I have the same problem. I have my home dirs on a zfs pool, and my home dir is a seperate dataset. I am running Ubuntu 17.10 amd64 and installed steam-installer from the multiverse repo.
ILocalize::AddFile() failed to load file "public/steambootstrapper_english.txt".
[2018-01-02 14:59:29] Startup - updater built Nov 23 2016 01:05:42
ILocalize::AddFile() failed to load file "public/steambootstrapper_greek.txt".
[2018-01-02 14:59:29] Verifying installation...
[2018-01-02 14:59:29] Unable to read and verify install manifest /home/dimitris/.steam/package/steam_client_ubuntu12.installed
[2018-01-02 14:59:29] Verification complete
[2018-01-02 14:59:29] Downloading Update...
../tier1/fileio.cpp (3186) : Assertion Failed: Failed to determine free disk space for ., error 75
[2018-01-02 14:59:29] Error: Steam needs at least 250MB of free disk space to update.
[2018-01-02 14:59:29] Error: Steam needs to be online to update. Please confirm your network connection and try again.
[2018-01-02 14:59:34] Shutdown
nfs mount as of 2 client updates ago the steam system cant figure out space on the mounts. I have reinstalled os and same issue. im using ubuntu 16.04 lts
Curious thread.. @kermeat I don't run Gentoo but this seems rather odd no? What is in /etc/os-release?
+++ BUG_REPORT_URL=https://bugs.gentoo.org/
Steam/steam.sh: line 154: VERSION_ID: unbound variable
+ kermeat 0
How steam got to here is more concerning:
+ mkdir -p /home/kermeat/.local/share/Steam/.save
Steam/steam.sh: line 444: no match: ssfn*
+ '[' 133 -eq 42 ']'
The error itself is expected from bash because steam sets failglob but the bootstrap failed, it shouldn't have tried to backup those files, they could be corrupt.
Like a lot of bugs open atm, I don't understand how Valve isn't able to address this? You literally have at least two reports showing exactly what is wrong and nothing end users can do about it.
h1z1,
Gentoo, being of the rolling release sort, doesn't have versions, so the (optional) variable here is indeed unset:
NAME=Gentoo
ID=gentoo
PRETTY_NAME="Gentoo/Linux"
ANSI_COLOR="1;32"
HOME_URL="https://www.gentoo.org/"
SUPPORT_URL="https://www.gentoo.org/support/"
BUG_REPORT_URL="https://bugs.gentoo.org/"
Stupid work around for those who need it until steam fixes this issue. get a drive with 40+gb space [ie atleast as large as your larges install.] make a dir for the library on it and add it as a library. close steam and rm the steam apps folder on that drive with space. use ln -s [nfs mount location] steamapps when you open steam it will show that folder with how ever much space is currently free on your local dummy drive. as long as you know you have plenty of space on the file share you can install/play to your hearts content...
I set a quota of 3TB and while Steam runs, if I try to install a game it tells me I don't have enough space.
# zfs list tank/homes/adam
NAME USED AVAIL REFER MOUNTPOINT
tank/homes/adam 784G 2.23T 229G /home/adam
# zfs get quota tank/homes/adam
NAME PROPERTY VALUE SOURCE
tank/homes/adam quota 3T local
If I instead create a zvol, format it ext4, move the steam directories to it and symlink those back to my home directory, then games install and run. I'm currently on Ubuntu 17.10 with zfs release 0.6.5.11-1ubuntu3.1, with Steam client on beta updates. About says package version 1508957438, built Oct 25 2017 at 00:42:26, dpkg says version 1:1.0.0.54+repack-2ubuntu5
EDIT: I realized that seemed old, and I hadn't run Steam in a while, so I waited and got an update, bringing me up to package version 1521764535, built Mar 22 2018 at 16:58:48 ... but I have the same problem. Despite a quota of 3T being set on my /home/user zfs volume, Steam complains when trying to install a game that there isn't enough space for it. There's plenty. Still works if I move the steam directories to an ext4-formatted zvol.
Setting the quota to 2T worked for me. Anything higher and it fails.
Just to chime in I get the same behavior as https://github.com/ValveSoftware/steam-for-linux/issues/4982#issuecomment-377550321 on:
$ modinfo zfs | head
filename: /lib/modules/4.15.15-1-ARCH/extra/zfs/zfs.ko.xz
version: 0.7.0-415_g74df0c5e2
license: CDDL
author: OpenZFS on Linux
description: ZFS
alias: devname:zfs
alias: char-major-10-249
srcversion: C56510077A308A2571DBAD4
depends: spl,znvpair,icp,zlua,zunicode,zcommon,zavl
retpoline: Y
# zfs get quota datavol/games
NAME PROPERTY VALUE SOURCE
datavol/games quota none default
# zfs set quota=2T datavol/games
# zfs get quota datavol/games
NAME PROPERTY VALUE SOURCE
datavol/games quota 2T local
# zfs list datavol/games
NAME USED AVAIL REFER MOUNTPOINT
datavol/games 1.02T 1005G 683G /mnt/datavol/games
Now I can install games again.
The quota workaround is working. I can set it to 2262G, not higher. But still, it's a workaround and I'd like to keep my whole datapool without quota.
Just chiming in as I've hit this problem too today. The quota tactic has also worked for me while installing a CSGO server in it's own zfs dataset.
#ZFS on Linux - version: 0.7.6-1.el7_4
#Dist and Kernel: CentOS7 - 3.10.0-693.2.2.el7.x86_64
zfs create storage/csgoserver-retakes
zfs set quota=30G storage/csgoserver-retakes #csgo takes about 15G on it's own
#Then executing further steamCMD install commands, works fine.
It's a shame steamcmd can't just see the total pool size and say "Ok that's our max". I imagine it's calculating against what ZFS has 'allocated' (that small cushion of Mb) to a volume rather than the pool's overall max storage space.
Setting this 'quota cap' must give steamcmd the answer's it's looking for, an actual, hard defined, max size. I guess I'll just have to expand that allocation manually if the content/game-updates get too large. But this does seem like a discovery and calculation problem for steamcmd , not anything ZFS's 'fault' but rather an incompatibility.
Yes. I'd much rather steam adapt to handle ZFS. It's bad enough to be forced to set a quota, but to also have it not work if the quota is over 2TB is baffling.
That said, yes, once I set a home quota to 2TB, it worked. Then to allow more space, I made my ~/.steam dir its own ZFS volume and set that quota to 2TB, since my home dir is often pretty full.
Considering it's not entirely strange any more to have 1) 2TB or more of space and 2) A steam library to fill that space. There are MANY threads about this going back to at least 2014ish.
Really quite baffling indeed. Then again we're talking about Valve.
ZFS 0.7.7 on Proxmox. Strange thing. Issue look like depending on phy device. On HDD with ZFS i have 0 bytes to write. On the ZFS SSD Raid everything is working fine. The datasets have the same settings.
Your system information
Please describe your issue in as much detail as possible:
Running Steam for the first time on fresh install, system fully updated. My homedirs are ZFS datasets. This has worked in the past, on an Ubuntu 16.04 system, same ZFS homedir setup, but that may have been over 6-10 months ago, last time I used it.
In current environment, running steam I get error window "Steam - Fatal Error" "Fatal Error: Steam needs at least 250MB of free disk space to update." Running from terminal produces output (gist)
df -h output (gist) -- every partition available has plenty of space.
apt-cache policy steam output (gist)
i also see in the terminal output, "Steam needs to be online to update" -- I have an active network connection. It is non-standard, being a bridge on top of a bonded interface, but this also worked in the past.
Steps for reproducing this issue: