Frequently Asked Questions

 

What is the purpose of this site?

To provide access to compiled, signed and notarized versions of game source ports for the Mac.


 

What’s a source port?

A source port is the term used to describe someone’s effort to maintain a project derived from the source code to a game.

For example, id Software released Quake III: Arena in 1999. In 2005, after the game and engine’s commercial life was over, they released the source code freely under an open source license. Shortly thereafter the ioquake3 project was born and has been maintained ever since.

In this case, Quake III: Arena is the game, and ioquake3 is the source port. Although the original executables for Quake III: Arena have long since stopped working on modern Macs, source ports like ioquake3 have seen constant maintenance so they allow you to continue to play on modern Macs.


 

Does this site feature free games?

In some cases, when the content for a game has been released under a free license, we can offer a full download of the complete game. We label these as "full game" in their listing on the site.

In most cases though, a source port is just the executable code for the game, you still have to provide your own copy of the game's data.

So for example, using Quake III: Arena again, the game consists of both an executable and a set of data files (pk3 files, in this case). The download for ioquake3 is an executable that is up to date and has been maintained to work on modern Macs, but you still need to acquire the pk3 files from a legal source, such as an existing installation of the game from disc or Steam or GOG.


 

How do I get the data for the games? A lot of these don’t exist for the Mac on Steam, GOG, etc.

I'm constantly looking for better ways to get the data for the games but right now there's essentially three ways to do it:

a) If you have the Windows installer for the game from GOG, you can use our utility Extractor to extract the data from it. For games which can be acquired from GOG, this is probably the quickest and easiest method.

Extractor is essentially a GUI-based version of innoextract. If you'd prefer to use the command line you can use innoextract achieve the same goal. boggydigital has written a guide on how to do this, it can be found here, and Andrew Tsai has made a video demonstrating it here

b) Install the game on a Windows machine or virtual machine and copy over the game's data to your Mac, either via removable media or over a network.

c) If you own the game on Steam you can use SteamCMD to install the data for the Windows version to your Mac, and then copy the data into place. boggydigital has written a guide on how to do this, it can be found here.

Keep watching this space and follow us on our social media channels to keep up with the latest ways of getting the game data.


 

What does signing and notarization mean?

Briefly, unsigned code is when someone compiles an executable (the compiled program that actually runs) and doesn’t do anything else with it.

Signing code involves taking a certificate of some sort and using a utility to sign the resulting executable or libraries. In this case the certificate comes from the Apple Developer program.

macOS is increasingly encouraging the use of signed code. You can still run unsigned code but you have to authorize it in the Security Preferences settings, which is a pain.

Until recently, code signing was sufficient to not have to manually authorize code but Apple decided to go one step further and now requires notarization.

Notarization is basically the process of submitting the compiled code to Apple and having them check it for malware. This is not the same thing as submitting to the App Store where a human has to review it, this is an automated process.

On this site our goal is to provide signed and notarized builds of source ports and easy ways to get them.


 

Why are some source ports labeled as "Ad Hoc Signed"?

These are source ports that have not been signed with an Apple Developer certificate but the developer has run a code signing utility on them. Apple Silicon Macs will refuse to run anything that has not at least been Ad Hoc signed.

When you first run these applications you may be stopped by macOS from proceeding. The quickest way to proceed is to right-click the app bundle (the .app file) and select "Open". This tells macOS that you are aware it is Ad Hoc signed and wish to proceed. Subsequent runs will not prompt you further until or unless the app bundle is updated in the future.

At Mac Source Ports, we want to present you with fully signed and notarized builds whenever possible. We only link to Ad Hoc signed builds when we feel the circumstances merit it.


 

Did you create all these builds?

No, some projects come up with their own signed and notarized builds. But when there's not one available we help come up with the builds ourselves. In some cases I'm coordinating with the original source port maintainers.


 

Why are you making these builds?

In some cases source port projects make their own builds and we link to those here as well, but oftentimes the projects don’t have the resources to do it themselves. Code signing is relatively new and sort of tedious, notarization requires a paid account which not everyone is interested in obtaining, and not everyone even has a Mac in the first place. Windows machines are everywhere and Linux can be installed on anything but you have to buy a Mac to have macOS. And every so often Apple changes things, like the recent shift to Apple Silicon, so even people who do have a Mac have to buy new stuff.

Me personally, I'm adept at figuring out how to get them building and running so that’s where I’m trying to help out. Anything I have to modify (like build scripts, make files or source code) I keep on the GitHub account as a fork of the main project.


 

Why offer direct downloads? Why not use the Mac App Store?

The Mac App Store is great when you can use it but the nature of it is incongruent with the goals of source ports.

For example, I can’t put the full game of Quake on the Mac App Store because I don’t have the rights to do so. I could conceivably try to put a port of vkQuake on there without data files but anything you put on the App Store has to go through a vetting process and it’s not clear whether the staff has the ability to go through the process of acquiring the game data and running through the process themselves. And it’s unlikely I could call it vkQuake, so I’d have to name it something else and use a different icon which would confuse people.

The advantage of doing it this way is that I can make it simpler to find the game you want to play, give you a working source port, and show you how to provide your own data.


 

When I download one of your releases, why is Chrome telling me the file "is not commonly downloaded and may be dangerous"?

Apparently, Chrome displays this message for certain kinds of files or executables in certain situations until the file has been downloaded a certain number of times. I'm looking into ways to address this but in the meantime, if you are amongst the first people to download one of our releases you may see this message.


 

What does Universal 1 or Universal 2 mean?

The short version is that it’s a type of app that has multiple different architectures and you can run it on multiple different types of Macs. Apple came up with this to help when the Mac transitions to a new kind of processor.

The main thing to know is: if your Mac was made after 2008, you want the Universal 2 build.

The longer version is: Mac has been through five processor types

  • 1984-1994: Motorola 68k
  • 1994-2005: PowerPC
  • 2005-2008: Intel (32-bit)
  • 2008-2020: Intel (64-bit)
  • 2020-present: Apple Silicon
There’s some overlap (they’re still making and selling some Intel Macs today even while transitioning to Apple Silicon) but those are the general dates.

When transitioning from PowerPC to Intel they came up with the concept of a Universal App that had PowerPC and Intel 32-bit code in it. They only sold Intel 32-bit Macs for a few years so they expanded the concept further to have Intel 64-bit code as well. So a Universal App would have these three architectures in it.

When they announced the move to Apple Silicon they announced Universal 2 Apps which has code for 64-bit Intel processors as well as the Apple Silicon processors like the M1.

On this site we’re sticking with this paradigm and also using the retronym of Universal 1 to denote the older version of the apps.

You’ll find most of the time we just offer a Universal 2 app as our primary goal is to have these games running natively on Macs made since the 64-bit Intel transition.


 

Why don’t you have Game X?

I’m getting to it, provided it has source code and an actively maintained source port. If the source port is already doing the work of making the signed and notarized builds, I'll link to them here, otherwise I'll see if I can figure out how to do it myself. If a game doesn’t have an actively maintained source port it might require more work. If it doesn’t have source code available I can’t do anything with it (so, for example Quake 4 never released source code so I can't do anything with it)


 

Will you contribute your source code changes upstream to the main source port project?

Sure, but in some cases the way I choose to go about building and bundling/signing them might be incongruent with the goals of the original project. I’m going to maintain all my changes in forks from the original repositories on the MacSourcePorts GitHub account so anyone is free to do whatever they want with them.


 

How can I contact you?

You can email me at tom@macsourceports.com



Copyright © 2024 MacSourcePorts.com  |  Contact Us