Open SandonV opened 10 years ago
Bug confirmed with Leaf 4 Dead 2. Installed in a XFS 64 bit partition it says:
Unable to load module /data/ubuntu_steam/.local/share/Steam/SteamApps/common/Counter-Strike Source/bin/filesystem_steam.so!
Confirmed; native 64-bit XFS here as well.
Portal 2. Ubuntu 15. filesystem_steam.so. XFS. Created a library on an ext4 partition. Works like a charm.
Really? This is still a thing?
Note that this is no longer limited to XFS with recent systems, as ext4 and btrfs may also use 64-bit inodes. Why is this not fixed yet? Because Steam is only supported on 32-bit Ubuntu LTS? Sorry, that’s too old to work on my hardware.
I mean, I can still play really old ports like UT99 or RTCW or Doom 3 on my system without messing around with filesystems, but almost none of the Valve titles work. Why isn’t this absolutely trivial problem fixed yet?
Surprising this hasn't been fixed... here's my work-around:
I have computer serving as a NAS with xfs exported over nfs. I have a client computer running steam. Sure enough, several games didn't load.
It's not feasible to make changes to my NAS drives, so I did the following:
create a sparse file image:
dd if=/dev/zero of=steam.img bs=1 count=0 seek=128G
create xfs filesystem that doesn't use 64bit inodes:
mkfs.xfs steam.img
Mount via automount in /etc/auto.misc:
steam -fstype=xfs :/nfs/path/steam.img
Then going to:
/misc/steam
it will mount the 32bit xfs image over nfs.
In case anyone else is looking for a work around...
My work-around, since they don't care to fix this, was to create a Wintendo.
Steam for Linux is practically abandoned.
I'm also affected by this issue. Can somebody estimate when a fix gets released? Thanks
Hello @gnuheidix, no estimates are given until there is a fix pending in a future update.
Can someone confirm whether filesystem_steam.so
actually exists within their Steam Library Game's directory?
I am seeing this error too, and also am using a large XFS RAID volume for the Steam Library directory. However, it seems more likely that I'd see an inode access issue on a file that actually exists. Searching inside the entire ~/.steam
directory does not return any file named filesystem_steam.so
.
$ find /media/terabyte/games/steam/ -iname 'filesystem_steam.so'
$ echo $?
0
@Tele42, @kisak-valve: Maybe this is just a game packaging issue, and this .so
library is just missing?
The error I see is:
Unable to load /media/terabyte/games/steam/steam/steamapps/common/Portal/bin/filesystem_steam.so
Ok, bug definitely confirmed!
Just tried moving files for Portal
over to an ext4
volume instead:
mkdir ~/.steam-xfs-64bit-bugtest/
rsync -av /media/terabyte/games/steam/steam/steamapps/common/Portal ~/.steam-xfs-64bit-bugtest/
ln -s ~/.steam-xfs-64bit-bugtest/Portal /media/terabyte/games/steam/steam/steamapps/common/Portal
Launching game now works using this workaround! So this still appears to be an issue. Also tested Half Life 2. It probably affects these at least:
$ find /media/terabyte/games/steam/steam/steamapps/common/ -iname 'hl2_linux' | xargs -I{} dirname '{}' | xargs -I{} basename '{}'
GarrysMod
Half-Life 2
Half-Life 1 Source Deathmatch
Half-Life 2 Deathmatch
Counter-Strike Source
Day of Defeat Source
Team Fortress 2
Portal
Trying to launch Half-Life 1 gives a different error: COM_LoadFile: not enough space for game.tga
I stumbled across a workaround here: http://www.tcm.phy.cam.ac.uk/sw/inodes64.html
Description from the website:
One can use LD_PRELOAD to produce a wrapper which targets the three stat() functions and readdir() that are the main cause of trouble, and returns a mangled inode number as above. This has the advantage that it only impacts certain 32 bit applications, and saner applications continue to get correct 64 bit inode numbers.
The only difference is I had to change the gcc command to the following:
gcc -c -fPIC -m32 -fno-stack-protector inode64.c
I've tried Half-Life, Half-Life 2, and Portal with this and they all appear to work without issue.
After bought HL2 Episode Two and install it on my OpenSUSE over XFS partition, I got that "COM_Loadfile: Not enough space for ... ". I asked on Steam forum, but no one replied. Now, here, reading this post, I discovered the problem is related to the format of the partition. I read some workarounds here but one of them is a parameter in compilation of the game. I can't do it, so if Steam knows this , why they don't make a better compilation?
On Sunday, February 9, 2020 3:58:32 AM CET Rafael Linux User wrote:
After bought HL2 Episode Two and install it on my OpenSUSE over XFS partition, I got that "COM_Loadfile: Not enough space for ... ". I asked on Steam forum, but no one replied. Now, here, reading this post, I discovered the problem is related to the format of the partition. I read some workarounds here but one of them is a parameter in compilation of the game. I can't do it, so if Steam knows this , why they don't make a better compilation?
What, you expect them to bend over backwards and spend 5 painstaking minutes to fix the build flags? Why? Gamers may moan and complain about how bad Steam has been treating them, but at the end of the day they are still giving Valve their money and their free labor and free viral marketing all the time. Valve doesn’t need to care about a platform that makes up less than one percent of Steam’s users. They don’t even need to make games.
Bug confirmed with Leaf 4 Dead 2. Installed in a XFS 64 bit partition it says:
Unable to load module /data/ubuntu_steam/.local/share/Steam/SteamApps/common/Counter-Strike Source/bin/filesystem_steam.so!
I have this issue with all Valve games I tried except CS:GO. I tried Portal 1 and 2 and L4D2. I noticed this problem after I use setup MergerFS on my home partition to extend it's capacity with free space from a second drive. Both partitions are Ext4.
I got it working on mergerfs if I left off the use_ino option, I mount with
/mergerfs/120G:/mergerfs/320G /mergerfs/mnt fuse.mergerfs allow_other,category.create=mfs 0 0
as my fstab line
The file is just missing on left-4-dead-2, I don't understand how they ship a broken game, especially when they announce vulkan support week. Maybe it's a bug in steam?
The file is just missing on left-4-dead-2, I don't understand how they ship a broken game, especially when they announce vulkan support week. Maybe it's a bug in steam?
@YellowOnion filesystem_steam is an obsolete library, it shouldn't be used in "modern" games.
The file is just missing on left-4-dead-2, I don't understand how they ship a broken game, especially when they announce vulkan support week. Maybe it's a bug in steam?
Still an issue. Just installed L4D2 and that file is missing.
nearing the end of 2022 and this issue still exists. I just verified it on L4D2 using xfs.
I think Steam will not fix any issue related to filesystems they don't use by default in their systems. XFS is a more robust filesystem than Ext4 or NTFS so it have no less functionalities than any of them to let work any game on it. It's more to "want to fix" than "it's difficult to fix".
Just tested here on Arch Linux, with linux-zen 6.2.12 and xfs on root. Portal 1 & 2, left 4 dead 2 and basically all my other games are working just fine, on both native builds and proton (using proton-ge 7-55)
Usually you have home and root partitions separated. Steam install games on your home partition. Is your home partition in XFS format too or you have a unique partition for all?
I have a single XFS partition for both root and home, and those games were installed on that partition too. But then I have to say that a friend of mine tested a game called Civilization 5 and it just crashed at launch, but it was installed via Heroic Games Launcher and using wine-ge. I'm not sure if all my games still works on a separated partition because I got no time. I'm dealing with some hard drive failures here.
Anyway, you should try games described here to have issues on XFS partitions. Is not any game, but some games (as Half Life Episode Two).
this issue also happen on goldsource and source 2
And since the issue won't ever affect a supported Steam Deck configuration, they are still unlikely to fix it.
Anyway, you should try games described here to have issues on XFS partitions. Is not any game, but some games (as Half Life Episode Two).
Linux port was not made for steam deck only It exist (far) before steam deck is out
Please see this issue for the problem that the steam client had which is now fixed (now the problem is the games):
https://github.com/ValveSoftware/steam-for-linux/issues/2610
Anyone with XFS and a file-system > 1 TiB should be using the inode64 mount option which enables the usage of 64-bit inodes. The problem is if 32-bit programs are storing inode data in a 32-bit. I doubt steam games will be reduced on 64-bit to fix this issue so alternatively stats can be moved to stat64 or if you use this compiler flag:
It will usually fix the issue on existing code.
Here is the error I get trying to load a source game:
A library with > 32 bit int inode number:
System info: