Sanity Check: Steam Play on ZFS on Linux

So I built a PC in a PS3 case and am trying to use it as an HTPC. I installed Gentoo on it with ZFS on root (because why not), then I installed Steam, and we’re good. Playing Linux native games works fine. It’s still an R5 2400G but things are playable. Howerver, I can’t get any steam play games to launch, regardless of what version of Proton I use.

I saw a few people online saying steam play only works on ext4 and btrfs, but I haven’t seen anything official on this. I do have ext4 support in the kernel and NTFS as a module (idk if that’s needed).

So I’m just wondering, has anyone run steam play games on ZFS and/or is there documentation saying this isn’t possible?

It won’t work you need to have the hard drive formatted as EXT4 for Proton to work correctly.

Like you I felt the pain.

Can you point me to some documentation on that? (not that I don’t believe you). And would it be stupid overkill to create a ZVOL, mount it somewhere and use that as an additional steam library?

I’m searching for some documentation.

1 Like

I found this:

Looks like it actually is possible but you will have to mount games to their own datasets to be able to mess with the case sensitivity. PITA but possible.

I think even Btrfs is not compatible in 100% because the inodes are 64bit… on ZFS the problem is even bigger because it’s 128bit fs afaik.
That’s windows technology holding back modern operating systems, kinda ironic given the kernel name is “NT” (New Technology).

1 Like

My proton games run as well or as badly on the zfs array as on the ext4 partition on my system.
I have root on a normal ext4, with a zfs dataset mounted at /home/me/steamFolder .
I installed Steam as normal, and it generates it’s own folder under .steam in the home folder, then I added the /home/me/steamFolder as an additional library under settings->downloads->add library.
Steam does not like more than one folder in the same partition under Windows, and I think the same was true under Linux, but it works okay for me :man_shrugging:
I have not tried marking a dataset like /steamFolder, so not sure if that is a factor.
Also when making datasets, the mountpoint might default to root, but I didn’t have to change any flags for case sensitivity, nor for permissions.

Running Ubuntu 20.04 and zfs 0.8.3

Iirc, the NT4 kernel was “Network Terminal” 4

I can play regular games fine, but I just have problem with “Windows Only” games via steam play/proton.

But did you set any fancy options when creating that dataset?

I just change the atime to off, set the recordsize to 1M, compression=on and the mountpoint.
Will do a zfs get all when I’m home, in case anything else is not default.

The only games I’ve run are Fallout 4 (ran, video issue with title screen, fixed) space engineers (runs) skyrim (a bit glitchy, but runs) and subnautica (missing textures)

yeah, just the 4 changed dataset properties. Also I have fallout 76 through steam, and it actually runs Okay.
Needed adjustments like on protondb, but like 3 patches or something.

Ok, I think I have some other dataset properties that it’s inheriting (xattr=sa, etc.). I’ll play around with that and report back here if anything changes

1 Like