Howettblog®

On Case Sensitivity

by on May.09, 2010, under Annoyances, Gaming, Mac OS X

DUE TO A SHORTAGE OF LOWERCASE LETTERS, AND FAULTY CASE CHECKING, THE ENTIRETY OF THIS POST WILL BE WRITTEN IN CAPITAL LETTERS, JUST LIKE DOS 6.22.
DEAL WITH IT OR GO HOME.
Or, at least, that’s what you’re supposed to do when you try to use Steam (OS X), StarCraft II, or practically any Adobe product on a Mac with a case-sensitive boot volume.

Steam claiming that it requires a case-insensitive volume.

From the factory, a Mac ships with a case-insensitive filesystem. This seems to be an Apple simplification, as all UNIX-styled operating systems in recent history (for at least two decades, I imagine) have had case-sensitive filesystems. Apple must not want their users to be confused when files with the same name but different cases can coexist. However, I digress. To turn on case sensitivity system-wide on your Mac, you need to format your boot volume and reinstall the operating system.

This seems like a lot of work for some piddly little capital letters, no? However, the point of this article is not “why people choose case sensitivity,” it is “why won’t vendors support it?”

My argument boils down to a handful of simple points:

  1. Many operating systems in existence today use case-sensitive filesystems, by default. In fact, some even mandate the use of such filesystems.
  2. Supporting case-sensitive filesystems automatically grants support for case-insensitive filesystems. (Force your filenames to lowercase, refer to them as if they were lowercase; if a case-insensitive filesystem comes along and they are in uppercase, what does it matter? You’re not sensitive to case and the OS will fulfill your request.)
  3. Companies lose nothing except for bug reports (seems like something you’d want to lose?) for supporting case-sensitive filesystems. Supporting your paying customers should be a top priority.

Valve (the creators of the Steam content delivery system) and Blizzard (of StarCraft fame) are by no means the first companies to ignore this small but important segment of their market. Adobe is notorious for outright rejecting case-sensitivity (to the point where the installers for some of their products will not only fail to install on a case-sensitive volume, but will not let you install on another volume that is case-insensitive); some might even call them the poster child of caseism.

There are various workarounds to applications failing to work on case-sensitive volumes; herein are listed a few, in increasing order of complexity-

  • Whine and complain on your blog.
  • Simply don’t use the application, boycott the publisher until they stop being idiots. This solution, while being the easiest, is not always the most practical. Then again, none of these are particularly practical.
  • In the case of a simple “drag and drop into Applications” install, create a disk image containing a case-insensitive filesystem, and move all your caseist applications into it. This works for StarCraft II and, to some extent, Steam.
  • Create a horrible web of symbolic links into a case-sensitive volume.
  • In more extreme cases, you might have to resort to installing a separate copy of OS X on a case-insensitive volume. This is practically required for any Adobe application (or at least, was, before CS5. I do not know if they have fixed this. Their previous comments left me with little hope that they would.) They have not fixed this, and do not intend to.
  • The last option, which I choose to ignore because it’s patently absurd, is reinstalling your whole system on a case-insensitive volume.

As you can see, none of these solutions are particularly desirable; they are all one of: ridiculously cumbersome (install another copy of OS X?!), mildly cumbersome (mounting another volume is no big deal, really, but it’s still annoying), or downright impossible (say you need Adobe products in your line of work, you can’t go boycotting their software.) These tactics are met with mixed results.

  • StarCraft II fails to patch itself on a case-sensitive volume. Moving it to a case-insensitive volume fixes this problem, and the game works fine. NOTE: This shouldn’t really matter. StarCraft (like most other Blizzard games) stores its data in container files that abstract filesystem access.
  • Steam presents a warning: Steam requires /Applications/Steam.app/Contents/MacOS to be in a case-insensitive filesystem. Fixing this by moving it into a case-insensitive disk image simply yields another warning: Steam requires /Users/dustin/Library/Application Support/Steam to be in a case-insensitive filesystem. This is simply not possible for me. I refuse to reinstall everything I have here, and I refuse to dual-boot OS X just to play games. It is worth noting that Steam’s OS X beta used to work on case-sensitive filesystems, albeit in a broken manner. My game data was stored in /users/dustin/documents/steam content. It takes calculation to do this. This is intentional. The operating system provides the path of my home directory as /Users/dustin, and Steam EXPLICITLY lowercased it. What is the logic behind that? It seems like you could simply support case-sensitivity by requesting default paths from the operating system, in this case, and not modifying them. This is an even more concerning problem when you take into account the hints regarding a Steam client for Linux (which would absolutely require case sensitivity).
  • Adobe refuses to invest the time in fixing case issues. Thinking Digitally has a bit of information on this (w.r.t. Adobe CS3.) There is a huge discussion (which, after a while, starts to fall on deaf ears) at the Adobe Blog, here; just search for “sensitive”.

For the record, making a horrible web of symlinks works to fix Steam, but why should I have to do that?! That’s absurd!
More absurd is that it insists in writing data to /volumes/case insensitive… My case-insensitive volume is at a case-sensitive location. Ugh.

I would love for somebody else to shed some light on this issue. I would petition, but it wouldn’t get me anywhere. I would contact support, but hey, why would multi-million-dollar companies listen to one dude with a blog?
Why is it so difficult to be case-sensitive?

:, , , , , , , , , ,

8 Comments for this entry

  • L.v.R.

    wanna play. :(
    same problems here.

  • Curtis Schweitzer

    Although I’ve seen this solution posted as a workaround for those who have chosen a case-insensitive filesystem, there seems to be a bug in the Steam installer that causes it to incorrectly identify case-insensitive volumes as being case sensitive. I am experiencing this bug.

    For those users, even this workaround seems to fail (I am unable to create a .dmg that Steam recognizes)

    Just a note from another slightly stymied user.

  • Curtis Schweitzer

    Figured out the error– it has to do with an apparent permissions bug in OS X:

    READ FIRST: This is NOT a fix for users who have case-sensitive file-systems. This worked for me because my problem was NOT RELATED to case-sensitivity. I have a case-insensitive filesystem with permissions that appeared to be correctly set, but in actuality, were not.

    Steps that I performed prior to fix:

    1. Start Disk Utility and check/repair permissions on primary volume.

    2. Run a Time Machine backup.

    3. Ensured that I was set as the computer Administrator. < -This fix WILL NOT WORK if you are not an Administrator account.

    FIX FOR PERMISSIONS/CASE-SENSITIVE ERROR FOR USERS WITH CASE-INSENSITIVE VOLUMES

    Open your primary boot volume and navigate to your user directory. Right (or ctrl) click on the Library folder and select "get info".

    Under the "Sharing & Permissions" section, your account should be listed as having Read & Write access.

    If you are still getting the Permissions/Case-Sensitivity error after checking if this is set, open the info window again, click the lock at the bottom of the window, enter your password, and re-select "Read & Write" for your user.

    IMPORTANT: IT IS CRITICAL THAT YOU HAVE YOUR USER SET TO READ & WRITE. DO NOT SET YOUR USER TO ANY OTHER SETTING, ESPECIALLY THOSE THAT ARE MORE RESTRICTIVE.

    Even if your user is already set to "Read & Write" Access, you should still be able to re-select it from the menu. (Re)Select this setting.

    Click the small gear menu at the bottom and click Apply. Your machine will ask you if you are sure that you want to apply those changes. SO LONG AS YOU HAVE CONFIRMED AND DOUBLE-CHECKED THAT YOU HAVE *YOURSELF* SET AS HAVING READ & WRITE ACCESS, click OK.

    Your machine will apply the permissions to the folder and all subfolders.

    Run Steam, it should update and start correctly.

    As you can see, this issue was not a problem of case-sensitivity, but of incorrectly applied permissions. Unfortunately, if you have your volume set to be case-sensitive, there is nothing to be done until Valve choose to support case-sensitivity other than 1) reformatting with a case sensitive filesystem or 2) creating a case-sensitive .dmg with correct symbolic links. Instructions here:

    http://blog.howett.net/?p=85

    Hopefully users who have case-insensitive volumes but are still getting this error can now run Steam.

  • L.v.R.

    Is it possible to change the sensitive to an insensitive filesystem?

    I don’t want to re-format my hdd… :(

  • Samuel Minter

    Any possible solution here for non-admin accounts? I can get Steam to run fine on my admin account, but get the case-insensitivity error when running on my daughter’s non-admin account. I probably don’t want her to be an admin, but it would be nice to let her play games on her own account. The file system *is* case insensitive, and I have repaired permissions and made sure she had read/write to her library folder and such.

  • Samuel Minter

    To answer my own question, the instructions above basically work. You have to have the admin userid and password to make the change, but once the change is made, things will work for the non-admin user. In my case, the Library/Application\ Support\Steam folder in the non-admin user’s folder had read/write permissions for “system” and “everyone”. You’d think that would cover everything. But adding read/write expressly for the user in question seems to have let Steam get past the initial case-sensitivity error. I haven’t yet had my non-admin user go through the full process of buying, downloading and playing a game though. Maybe tomorrow.

  • pir

    actually, changing sensitive to insensitive file systems can be done with iPartition, without losing any data. beats reinstalling, and the utility is useful for resizing as well.

    or if you’re cheap you could use pdisk, apple’s partition map editor. it should go without saying that anyone playing with partitions should have backups.

    of course some of us are too stubborn to do that, because we actually LIKE our case-sensitive book disks, and are willing to wait until sufficient pressure makes vendors move into the 21st century.

    oh, and not only did adobe not fix this and has no intention to, but they have now made it completely impossible to install CS5 on a case sensitive drive that is NOT the boot drive. bastards. completely aside from the case sensitivity, they have no business deciding for me which drive their software should be on.

Leave a Reply

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!

Blogroll

A few highly recommended websites...