5

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?

4
  • 1
    As someone in the same situation, I'm shocked copying the games worked at all! Have you tried non-source games?
    – chmullig
    Apr 2, 2013 at 1:26
  • 2
    It probably deleted the files for the other OS when you copied them over and validated them with Steam. You might not be able to prevent that if you're trying to use the same files dual-booting. Apr 2, 2013 at 3:10
  • I just installed Steam for Mac and pointed it at the Windows steam folder, and it detected CS:GO. After a 40mb download, it works fine. CS:GO is still working on Windows. However, other games were not detected automatically on OS X.
    – danielcg
    Apr 2, 2013 at 20:26
  • @chmulig It probably won't work with non-Source engine games, unless they work the same way (using the same content files across operating systems)
    – danielcg
    Apr 2, 2013 at 20:35

1 Answer 1

3

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.

5
  • 2
    On Mac there is the usual unix command: ln -si <real file/folder path> <link name>. They'd have to be symbolic links (the -s part) rather than hard links, since it's across different logical drives, and some programs will not follow symlinks, seeing them instead as normal (and empty) files. Apr 2, 2013 at 6:07
  • 2
    Steam would have to be installed on both operating systems since the Steam executable isn't a universal executable. Its also likely the asset files are not exactly the same depending if the same engine is used. It really depends on the specific game in question.
    – Ramhound
    Apr 2, 2013 at 17:57
  • I'm okay with two copies of the Steam client, or even small OS specific files for games. But two copies everything won't work, I don't have enough disk space. Even if I did it would bother me that I was wasting my space.
    – danielcg
    Apr 2, 2013 at 20:28
  • I tried simply installing Steam for Mac and pointing it at the Steam library folder on my Windows partition; and it worked a little. CounterStrike Global Offensive was detected automatically, and after a ~40MB download works fine. Other games, however, were not. If I install and then verify integrity via Steam, it sits at 100% forever and simply downloads the game in the background. I'm going to try the linked files method, probably in a few hours.
    – danielcg
    Apr 2, 2013 at 20:44
  • Oops, forgot about this for a few years. I don't remember if the symlinks worked (they probably did) but I remember that I ended up putting the games in one ssd and the operating systems in another, then configured Steam to look for games on the second drive.
    – danielcg
    Jul 9, 2020 at 9:25

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .