Fixing Steam for Mac on a case-sensitive filesystem.
by Dustin on May.12, 2010, under Gaming, Hacking, Mac OS X
While it should not be necessary, it is possible (with a bit of symlinking) to get Steam on OS X working with a case-sensitive boot volume.
This can be done as follows:
- Launch Disk Utility, and create a new disk image (File > New > Blank Disk Image…).
I used the following options:- Name: Case Insensitive
- Size: 100 GB
- Format: Mac OS Extended (Journaled)
- Partitions: Hard Disk
- Image Format: sparse bundle disk image
- In your new case-insensitive volume (mine is named “Case Insensitive”, so all paths used in this document will refer to it as such), create the following directories:
- /Applications
- /Home
- /Home/Library/Application Support/Steam
- /Home/Documents/Steam Content
NOTE: These paths are suitable for a single user. I chose to use /Users/dustin/…
- Download Steam and put Steam.app in /Volumes/Case Insensitive/Applications
- Symlink your Steam directories to the case-insensitive volume. In Terminal:
ln -s /Volumes/Case\ Insensitive/Home/Library/Application\ Support/Steam ~/Library/Application\ Support/Steam
ln -s /Volumes/Case\ Insensitive/Home/Documents/Steam\ Content ~/Documents/Steam\ Content - Create /volumes (lowercase) and symlink /Volumes/Case Insensitive into it as “case insensitive”. This is to get around the intentional lowercasing Steam does of all paths it comes into contact with.
mkdir /volumes
ln -s /Volumes/Case\ Insensitive /volumes/case\ insensitive - Launch Steam!
If that’s too much work, use this shell script. Save it to your home directory (or wherever, really), launch Terminal, and issue the following commands:
chmod +x ~/steamcase.sh
~/steamcase.sh 100g
Substitute 100g with your desired size. This script creates a sparse bundle disk image, so you don’t need to worry about having all 100 GiB (or whatever size you choose) available up-front.
Then proceed to install Steam.app to /Volumes/Case Insensitive/Applications. Run and enjoy!
Honestly, Valve, this shouldn’t even be necessary.
May 13th, 2010 on 12:44 AM
This is pathetic. Valve needs to get their act together.
May 13th, 2010 on 10:59 AM
Y’know, I thought about it for a while, and then realized something. Valve’s goal with forcing you to use a case-insensitive filesystem might have some merit beyond being a pain to power users.
1- Apple does ship all their systems case-insensitive in the first place, so a typical user will never notice this problem.
2- Valve does *not* control all the games published on Steam. While I dislike that they do path mangling to lowercase the folder names for where content is located, it’s very possible that games published on the Steam store might have never taken into account case-sensitivity. (Especially the ones ported from windows.)
I think Valve forcing Steam to be on case-insensitive volumes simplifies a lot of things for mac users in the long run, even if those of us with case-sensitive volumes have to go through this ugly workaround to play.
Course, if they do ever bring it to linux, developers are in for a world of hate on being case-insensitive.
May 14th, 2010 on 1:36 PM
scripts works like a charm!
May 15th, 2010 on 2:30 AM
Hey, thanks for the script! My mac seems to be too slow to play though. :/
How can I reverse the actions of the script?
Thanks!
May 15th, 2010 on 12:08 PM
The script worked well. It created the case insensitive volume. However, when attempting to run the Steam program I still get the same error about needing to run on a case insensitive volume.
What is wrong?
May 16th, 2010 on 7:00 AM
Hi there,
I got the same problem and tried to reinstall steam. First steam is updating but then the same error message occurs.
Yesterday I could play Portal with the same configuration ..
May 19th, 2010 on 5:50 AM
I used the script, but it doesn’t works for me. Keeps complaining about case sensitive file system
May 27th, 2010 on 4:09 PM
I’m still having the same problem, after using the script.
And the weird thing is, that my file system is not even set to support case sensitivity, it is a standard Mac OS Extended (Journaled) partition.