FileVault Incompatibility

Mac Technical Support
So it looks like Blizzard has declared war on Apple and FileVault, and therefore entered the ranks of mediocre programmers who "write their own" instead of learning to use the tools present in the OS. This makes me physically sick. Not only the gross incompetence of a (usually) professional company, but the FUD (fear, uncertainty, & doubt) surrounding this issue.

Let me clear a few things up:

This is like going to a gourmet restaurant and demanding to make your own food in the kitchen and next to everyone else's meals.

FileVault is driver-level encryption Apple has added as a basic feature in its operating system. It's powerful, extremely effective, and perfectly transparent to the user and any competent developer. It's not a 'program' - it's an integral part of the OS.

To use FileVault, programs ask the OS to read and write whatever data you need to whichever volume you wish to use. The OS will do so, in compliance with the UNIX permission system. (Ever wonder why malware is so rare on Macs? Look no further.) The only way you could run into problems is if you're arrogant enough to write your own file-access routine that tried to circumvent the Apple filesystem and drivers. Apparently Blizzard has done just that (with DIII and now with WoW). Beyond frustrating, this scares me.

This means Blizzard's programs (which ask for UNIX root password during installation) are doing direct filesystem writes. This is fundamentally NOT cool.

Look, I'll be blunt: I do NOT trust Blizzard to know what they're doing writing directly to my filesystem and hacking around my Apple-provided system-level protections against stupid developers. (Note: this is exactly what malware typically does in windows to bypass anti-virus software. It should be noted that I've reinstalled WoW a dozen times because the software destroys its own install. During this time I've never reinstalled Apple's OS X for any fault of the OS.)

Blizzard borrows your front car key and feels that's permission to go play with the wiring in your Ferrari.

Writing a game (or any program) that so blatantly bypasses system-level services in an advanced operating system is sloppy, amateur, and unprofessional. Blizzard can do better and we as users should demand it. Ask yourself who's smarter, the guys writing at Blizzard or the filesystem engineers writing the filesystem behind iPhones, iPods, iPads, Apple TVs and Macs.

As far as why they did it- I suspect something like this, please correct where I'm wrong: Blizzard has to make game files that are larger and be accessed faster than the crap file system in Windows can deal with efficiently. Therefore they created their own micro 'nested' filesystem (MPQ) to do it. (This is just like what Killer NIC's do for the IP stack; Windows' TCP stack sucks.) This MPQ system has been cross-compatible for years. But now, Blizzard decided to unify the code-base a little and that means doing direct drive writes instead of going through the OS. Our OS doesn't suffer the problems, but we have to deal with Blizzard potentially damaging our filesystem by its ham-fisted attempts to write to HFS+ as if they know what they're doing.

I'm a WoW player, I'm not impressed with DIII - and certainly not enough to deal with this crap. SCII isn't even on my radar because of it. I'll focus on developers who know their place and don't go messing under the hood when they ask to borrow my keys.
great article... but, how do i get it to work lol.

when i try and disable firevault to install wow it says i need an ungodly amount of free memory.

any suggestions?
Thnk you for this detailed insight on this peculiar problem. Never before have I seen File Vault at all mentioned on a system requirements page. I'm not even sure why I looked on that page before upgrading to the latest expansion.

If this problem really is in all Blizzard games, then there is nothing I can buy from Blizzard.

Maybe they will refund the credit in my account. Maybe even my purchases that may no longer work. Will pre-Mists of Pandoria work?

I guess this is goodbye to Blizzard on the Mac.
MPQ predated FileVault by nearly a decade. The original post is more FUD than anything I've seen on Mac Tech Support in years.

Do you have any evidence that Blizzard is bypassing the OS X APIs to read/write MPQ files? This seems pretty unlikely. Think of them like ZIP files -- ways to store large of amounts of data in a compressed format, being decompressed and loaded into main memory only when and while needed.

WoW and other Blizzard games need to store game textures on your disk. The MPQ format is used as a convenience to you -- it makes their games take up significantly less space than they would. And at 27 GB compressed, I don't even want to think about the space requirements if these textures were stored uncompressed.

When Blizzard needs a texture, it's going to look something like this:
1. Get a resource handle to the MPQ file containing the texture they need
2. Pass handle to an MPQ reading library they wrote
3. MPQ library probably provides access to a given texture by ID

It's probably not very different from a .zip API:

Why don't they just use .zip? Probably because zip is general purpose, and MPQ is optimized for reading, writing, and most importantly storing the file types they commonly use. Read here for more details:

So Blizzard comes up with this cross-platform compression library that works well for them, and Apple comes up with a proprietary disk encryption API. Blizzard can choose to adjust their library to support this, or not. They clearly evaluated the option, and chose not to. We don't have their data, but there are many possible, valid reasons they might have chosen not to support FileVault:

- Not many people using FileVault
- Not worth the cost to implement
- Not enough Mac devs to justify the time required
- Not enough Mac players
- Complexities of mixing cross platform C++ file access code and Obj-C calls to FileVault API
- FileVault only prevents installation of the game, not the usage of it -- Blizzard may have figured users sufficiently interested in this feature will figure this out
- etc

You make a lot of attacks and claims, but bring no evidence to support your claims. It's hard to take the post seriously. Do you even have any evidence the MPQ format is the reason FileVault is unsupported? It seems to me like it's just a headache for Blizzard that they see no compelling reason to deal with.
(oops, double post)
Well said phine. In fact, file vault has had many bugs throughout it's iterations and blizz by no means isn't only dev to not care much for it. Personally I avoid it and time machine completely. Spotlight I put pretty much most applications on exclusion to avoid the mdprocess going crazy every time blizzard even touches an mpq cache file (which is often).

Blizz and other companies often try to work with apple and often it's apple that does the refusing. Heck, bugs blizz has reported to apple over things like expose have gone unanswered for years, forcing blizzards hand to write hacks to fix apple bugs, so if anything you should be praising blizzard and shouting at apple.

Join the Conversation

Return to Forum