Jump to content

Steam on a case-sensitive system

Mac OS Extended Case-sensitive Journaled Steam OS X Terminal hdiutil plist PlistBuddy JHFSX

  • Please log in to reply
2 replies to this topic

#1
slemblod

slemblod

    InsanelyMac Protégé

  • Members
  • PipPip
  • 84 posts
  • Gender:Not Telling

Hi!

 

I sometimes use Steam for games on my Hackintosh, but I partitioned my disk as Mac OS Extended (Case-sensitive, Journaled) which is incompatible with Steam. Instead of creating a whole new partition table for a small application, you can create a disk image of a case-insensitive format and run Steam from there. These Terminal commands will create this disk image. If you do not create a separate SteamApps folder, replace 500m (on row 26) with a byte size that can fit your games aswell, eg 40g.

#!/bin/bash
mkdir -p /Applications/Steam.app/Contents/Resources
mkdir -p /Applications/Steam.app/Contents/MacOS
plist=/Applications/Steam.app/Contents/Info.plist
/usr/libexec/PlistBuddy -c "Add CFBundleExecutable string 'Steam'" $plist
/usr/libexec/PlistBuddy -c "Add CFBundleInfoDictionaryVersion string '1.0'" $plist
/usr/libexec/PlistBuddy -c "Add CFBundlePackageType string 'APPL'" $plist
/usr/libexec/PlistBuddy -c "Add CFBundleSignature string '????'" $plist
/usr/libexec/PlistBuddy -c "Add CFBundleVersion string '1.0'" $plist
/usr/libexec/PlistBuddy -c "Add CFBundleIconFile string 'steam.icns'" $plist
bin=/Applications/Steam.app/Contents/MacOS/Steam
echo '#!/bin/bash'                                                                               > $bin
echo 'hdiutil detach /Volumes/Steam'                                                            >> $bin
echo 'if [ != /Volumes/Steam ]'                                                                 >> $bin
echo '  then hdiutil detach -force /Volumes/Steam'                                              >> $bin
echo 'fi'                                                                                       >> $bin
echo ''                                                                                         >> $bin
echo 'hdiutil attach -noverify -nobrowse /Applications/Steam.app/Contents/Resources/Steam.dmg'  >> $bin
echo '/Volumes/Steam/Steam.app/Contents/MacOS/steam.sh'                                         >> $bin
echo ''                                                                                         >> $bin
echo 'hdiutil detach /Volumes/Steam'                                                            >> $bin
echo 'if [ -e /Volumes/Steam ]'                                                                 >> $bin
echo '  then hdiutil detach -force /Volumes/Steam'                                              >> $bin
echo 'fi'                                                                                       >> $bin
chmod +x /Applications/Steam.app/Contents/MacOS/Steam
hdiutil create -size 500m -fs "Journaled HFS+" -volname Steam /Applications/Steam.app/Contents/Resources/Steam.dmg
hdiutil attach -noverify -nobrowse /Applications/Steam.app/Contents/Resources/Steam.dmg
mkdir -p /Volumes/Steam/Steam
ln -s /Volumes/Steam/Steam $HOME/Library/Application\ Support/Steam
curl http://media.steampowered.com/client/installer/steam.dmg -o $TMPDIR/steam.dmg
hdiutil attach -noverify -nobrowse $TMPDIR/steam.dmg
cp -RX /Volumes/Steam\ 1/Steam.app /Volumes/Steam/
cp -X /Volumes/Steam\ 1/Steam.app/Contents/Resources/steam.icns /Applications/Steam.app/Contents/Resources/
chmod +x /Volumes/Steam/Steam.app/Contents/MacOS/steam.sh
rm $TMPDIR/steam.dmg
hdiutil detach /Volumes/Steam
if [ -e /Volumes/Steam ]
  then hdiutil detach -force /Volumes/Steam
fi
hdiutil detach /Volumes/Steam\ 1
if [ -e /Volumes/Steam\ 1 ]
  then hdiutil detach -force /Volumes/Steam\ 1
fi

When you are prompted to accept a license, just press QY and , in chronological order. After running all the commands, reboot and start Steam from the application in /Applications. You may have to create a firewall exception, by opening System Preferences, Security & Privacy, Firewall and Firewall Options…



#2
STLVNUB

STLVNUB

    InsanelyMac Legend

  • Coders
  • 1,137 posts
  • Gender:Male

To save all the rigmarole , try "Source Finagler.app", allows you to put SteamApps folder to different location.

 

Good tute, script none the less.



#3
slemblod

slemblod

    InsanelyMac Protégé

  • Members
  • PipPip
  • 84 posts
  • Gender:Not Telling

IIRC, the SteamApps folder can reside on a case-sensitive partition without affecting Steam. You can also add alternate SteamApps directories from the native Steam Preferences, in the Downloads section.







Also tagged with one or more of these keywords: Mac OS Extended, Case-sensitive, Journaled, Steam, OS X, Terminal, hdiutil, plist, PlistBuddy, JHFSX


0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users

© 2014 InsanelyMac  |   News  |   Forum  |   Downloads  |   OSx86 Wiki  |   Mac Netbook  |   PHP hosting by CatN  |   Designed by Ed Gain  |   Logo by irfan  |   Privacy Policy