Steam for Linux

Steam for Linux

Steam performance on btrfs?
Many distros may make btrfs the default choice of filesystem in the installer in the near furture. When I was running Steam and TF2 under wine on a btrfs filesystem, I was starting to get really long loading times on TF2 when joining a server or switching maps and even some high disk i/o latency causing the game to temporarily lock up for a few seconds. I suspect it is due to the fragmentation caused by the copy-on-write mechanism of btrfs when updates where applied to the larger gcf files. At one point, one of my gcf files had over 30,000 fragments. I have since reformatted and am now mounting my btrfs filesystem with the nodatacow mount option. Performance is much improved. Has there been any thought as to optimizing Steam for copy-on-write filesystems?
< >
Showing 1-15 of 39 comments
blackout24 Oct 27, 2012 @ 11:29am 
No one forces you to use filesystems that are still declared as experimental.
BULLY_HUNTER_69 Oct 27, 2012 @ 11:35am 
BTRFS works great everywhere else, I'm not sure why it would choke on Steam.

That said, with a lot of file activity you may want to scrub the volumes a bit more regularly. BTRFS is anything but experimental, it's quite stable and very functional, already included in many mainstream and enterprise distributions' installers...
Qantourisc Oct 27, 2012 @ 11:35am 
No expert but this is what I think:
Steam can't do much about that, if the file-system writes your data all over the place ... then you are screwed. I don't know much about btfs, but I'm assuming it's also using COW per file, and not per data, and steam is using large files iirc...
How long is "really long"? My desktop often takes upwards of 3-5 minutes on Windows 7.
Kaiser Oct 27, 2012 @ 12:09pm 
BTRFS is still unstable, and isn't included in RHEL just yet.

WickedSick correctly points out that as a copy on write filesystem, making a small change in a large file can be quite laborious
Spacefish Oct 27, 2012 @ 1:00pm 
i think btrfs has it´s problem with large files that change just a little and get fragmented.. You see the same problem if you try to run a VM with the diskfile in a btrfs volume.
I think it´s somehow the same problem with the big packed files with textures and so on that tf2 uses..
shatsky Oct 27, 2012 @ 1:03pm 
Filesystems must be designed to show high performance under workloads produced by typical software, not vice versa.
Kung Fu Jesus Oct 27, 2012 @ 1:44pm 
It seems odd that Oracle would write a COW filesystem without a sophisticated caching mechanism.
DRayX Oct 27, 2012 @ 2:06pm 
No matter what anybody says, btrfs isn't really production ready. About half of the planned features haven't even started their development cycle. Furthermore, I really question the future of the filesystem as it is developed by Oracle, yet it competes with ZFS which is their primary selling point for RHEL (which is a not insubstantial source of income).
Last edited by DRayX; Oct 27, 2012 @ 2:06pm
It doesn't matter if btrfs is production ready or not. The point is that if Ubuntu were to make btrfs the default install option in their next release (or the release thereafter), most people will be using it. Most people install Ubuntu clicking next -> next -> next -> next. They usually don't do next -> next -> change btrfs to other fs -> next. If Steam has awful performance on Ubuntu compared to Windows due to it running on btrfs, most people will conclude that Linux is a horrible OS for gaming.
blackout24 Oct 27, 2012 @ 3:15pm 
Canonical isn't even making systemd default. They are busy fiddeling with the UI an Amazon. It's extremely unlikely that they will change the default filesystem. btrfs is still slower than ext4 in a variety of benchmarks and to make use of the advanced features it over you have to do a bit of extra work.
DRayX Oct 27, 2012 @ 3:22pm 
There is no way Ubuntu will switch to btrfs until it is production ready, and I think it is unlikely they will adopt it as long as it is maintained by Oracle. They just in Ubuntu 12.10 switched to Python3 and Java 7 as the defaults, subversion 1.7 is finally available on the default repos, the latest version of boost available is 1.49 (9 months old), and they are still working on the X11 to Wayland switch. While Ubuntu moves faster than Debian (since it is based on Debian testing), they still are not very quick to adopt new technologies (or even the latest versions of existing applications and libraries). I would be surprised if we see btrfs as the default before 14.10 (there is no way they will switch before the next LTS release).

Edit: Good call, I forgot about the whole init to systemd thing.
Last edited by DRayX; Oct 27, 2012 @ 3:25pm
Spacefish Oct 27, 2012 @ 3:35pm 
i don´t think ubuntu will switch to btrfs, they don´´t even make 64bit the default download option. Furthermure ext4 is faster than btrfs for most workloads!
I used to write a little on the btrfs mailing list, in my opinion there is this one oracle dev that does anything, if someone proposes a feature / implements it like SSD Caching, the patches are not included in mainline, even if the dev from oracle don´t complain about code quality whatsoever.. I think ext5 will simply outperform btfs and the features done in btrfs are already there on other layers inside the kernel like raid via md and things like that. Its much easier with btrfs to do a raid, but it can´t be generalized.
Sometimes Ubuntu does adopt new technologies. Are they not still trying to push Wayland into the OS? How does Oracle contributing to most of the development of btrfs have anything to do with btrfs adoption?
< >
Showing 1-15 of 39 comments
Per page: 15 30 50

Date Posted: Oct 27, 2012 @ 10:46am
Posts: 39