Become a MacRumors Supporter for $50/year with no ads, ability to filter front page stories, and private forums.
Thanks, that makes some sense, it probably has to do with how the game sets its paths. So for some games, protobuf needs to be with the other dynamic libraries, and for some it needs to be next to the game binary.

You're welcome. I've acquired a few more games and when my schedule is less hectic, I'll post about the outcome of patching them and the results on more recent macOS versions such as Ventura. 🙂
 
You can buy lots of video games on Steam. Many of them support old versions of OS X! In fact, many of them only support old versions of OS X, because Apple removed 32-bit support in macOS 10.15 Catalina.

Too bad Steam only supports macOS 10.15 and above! And most Steam games need Steam to run. Oops.

Let's fix that. I managed to build a version of the "Goldberg Emulator" for Mac. This is a replacement library you can drop into a game's app bundle to make it work without Steam. Whenever the game asks Steam for a status update, the replacement library will pinky-promise that Steam is totally running right now, and everything is going just fine thank you very much. Source code (mostly recovered from a deleted gitlab branch) and build instructions are included in the package.

Download from: https://github.com/Wowfunhappy/Wowf...b2a621bf8bcb/downloads/steam-api-emulator.dmg. I compiled the libraries on Snow Leopard, which means they should work on OS X 10.6 and above.

(To be fair to Steam, at the moment it can still be used at least as far back as macOS 10.13 High Sierra; the client no longer receives updates but the old version still connects. But we don't know how long that will last, and older operating systems like OS X 10.9 Mavericks don't work at all.)

I must admit that I've only tested one game so far, Bit.Trip Flux. (This all started because I accidentally bought a Steam key for Bit.Trip Flux earlier this week; I'd thought the game would be DRM-Free like other entries in the series.) That said, it was also the first game I tried, and it worked perfectly. I don't particularly like Steam and don't own many Steam games, so I'd be delighted if others could help test more titles. I do expect the emulator to work with any single player game, unless it contains additional DRM beyond what Steam provides by default (which does exclude a lot of large titles). Please share your results!

Note: I do not like piracy. I am sharing this project so that people can play games they purchased on otherwise incompatible computers and operating systems. If anyone in this thread even hints at using this project to play games they did not pay for, I will personally report their post to the mods and reconsider whether I should share stuff like this in the future. Thanks.
Hello! are you still available to help with this? I'm having some trouble following the instructions included.
 
I have yet to get this to work on any game. I tried Portal first, it doesn't work at all.
While I don't know anything in particular, it wouldn't surprise me if those games from the very early days of Steam worked differently.

As it happens, Portal shouldn't need an emulator to work, just launch with -game portal. https://www.pcgamingwiki.com/wiki/Portal

You can probably edit the startup script in the app bundle to do this automatically?

For other games, remember to try putting libprotobuflite next to the game binary as TheShortTimer discovered. As I've tried with more titles (recent ones were Hover and Evergarden), this seems to actually be needed in many or even most cases.
 
Last edited:
Unfortunately on 10.9.5 both games tested, Portal 2 and Left 4 Dead (downloaded from the latest pre-removal depot versions) result in a crash shortly after starting, looks like when it tries to initialize the P2P networking:

Crashed Thread: 0 Dispatch queue: com.apple.main-thread

Exception Type: EXC_BAD_ACCESS (SIGBUS)
Exception Codes: KERN_PROTECTION_FAILURE at 0x0000000099e8996f

VM Regions Near 0x99e8996f:
__TEXT 0000000099dfb000-0000000099e00000 [ 20K] r-x/r-x SM=COW /usr/lib/system/libsystem_c.dylib
--> __TEXT 0000000099e00000-0000000099e8e000 [ 568K] r-x/rwx SM=COW /usr/lib/system/libsystem_c.dylib
mapped file 0000000099e8e000-000000009a000000 [ 1480K] r-x/rwx SM=COW /private/var/db/*

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 libsteam_api.dylib 0x0048bd38 Steam_Networking::GetP2PSessionState(CSteamID, P2PSessionState_t*) + 248
1 libsteam_api.dylib 0x0048e046 non-virtual thunk to Steam_Networking::GetP2PSessionState(CSteamID, P2PSessionState_t*) + 38
2 engine.dylib 0x08bada7b SV_InitGameDLL() + 1211
3 engine.dylib 0x08a79d85 Host_Init(bool) + 2901
4 engine.dylib 0x08bc89f8 Sys_InitGame(void* (*)(char const*, int*), char const*, void*, int) + 392
5 engine.dylib 0x08bcef57 CEngine::Load(bool, char const*) + 87
6 engine.dylib 0x08bcc100 CModAppSystemGroup::Main() + 176
7 engine.dylib 0x08c25d98 CAppSystemGroup::Run() + 72
8 engine.dylib 0x08bcc8b3 CEngineAPI::RunListenServer() + 115
9 launcher.dylib 0x00133f08 CAppSystemGroup::Run() + 72
10 launcher.dylib 0x00133f08 CAppSystemGroup::Run() + 72
11 launcher.dylib 0x0013bf52 MainFunctionThread(void*) + 82
12 launcher.dylib 0x0013c2bc ValveCocoaMain + 140
13 launcher.dylib 0x0012a5a1 LauncherMain + 625
14 hl2_osx 0x00001d66 start + 54
 
Register on MacRumors! This sidebar will go away, and you'll see fewer ads.