Steam – Configure Steam on dual-boot system to share installed games

macossource-enginesteamwindows

How would I set up two copies of Steam running in two different OSes on the same machine (Bootcamp on Mac, for example) to use one copy of each installed game asset? For example, I'd like to play Counter Strike on either OS but have both of them look at the same files when I launch the game. I know some files aren't compatible, but I'm thinking that Steam will check for updates and then download the correct executable files when you launch it from one OS or the other.

Update: After following some answers to this post, it works with CounterStrike, but not with every game in my library. I wonder why?

Best Answer

A lot of the files, such as assets (images, textures, models), config files etc, are shared between Windows & Mac - They are the same files and can be used on both Windows and Mac without problems as proved here:

Do Mac and Windows versions of Source games contain the exact same files?.

However, the actual executables (.exe for Windows, .app for Mac) and library files .dll for Windows, .a for Mac) differ greatly (and are written differently, so you can't just change the extension and hope for the best).

Assuming Steam doesn't remove the Windows executables when you verify game cache on the Mac side (as SevenSidedDie fears), then theoretically you could get away with installing Steam (just Steam!) on the Mac side of things, and creating symbolic links to the files and folders that you need.

You will need to create symbolic links to

  • The Game's directory in the steamapps folder
  • Any Source .GCF files in the main directory (I can't remember what they're called off the top of my head, I will have a look when I get home, otherwise feel free to edit them in!)

Here is an answer I posted about creating symbolic links in Windows: Team Fortress 2 won't install on custom location.

Just remember to create Directory links for entire directories, and File links for individual files.

Edit:
Thanks to SevenSidedDie, I now know how to create symbolic links on a Mac! :) The command is:

ln -si <real file/folder path> <link name>

As pointed out, some programs wont follow symbolic links, but I've never had a problem doing this for Steam on Windows.