utmapp / vm-downloads

Free UTM virtual machines
142 stars 11 forks source link

Add OS X Virtual Machines #11

Open M0REKZ opened 1 year ago

M0REKZ commented 1 year ago

This would be a nice addition to the vm downloads, mainly because this will let us run 32 bit software on Apple silicon.

porteusconf commented 1 year ago

Unsure if pre-packaged vm of macos can be made available legally. But see https://github.com/adespoton/utmconfigs/ which has full instructions for using utm to run almost any version of macos(x). I think 10.14 was last macosx able to run 32-bit apps aka i386 meaning intel. So intel-only macos may be quite slow on m1. It may run faster if you can try to find oldest version of macos which works for your 32-bit app.

For example, the 3.4MB Moose.app from 2008 is i386/ppc and not 64.bit http://www.zathras.de/angelweb/moose.htm If your 32-bit app is also quite old it may also be a fat binary able to run on ppc or i386. The newest 2008 version 3.5.7 of Moose was intended for macos 10.3 to 10.7 (tho it seems able to launch on my 10.14 intel mac). Usingfile command (comes with command-line tools I think) you can see if your app runs on ppc, as shown below. If it runs on ppc, then maybe try 10.3 or 10.4 in ppc mode and your old app may be faster in emulated ppc mac than emulated intel os. I think 10.3 was last ppc-only macos, and 10.14 was intel and ppc, as was 10.5 YMMV--- I have not tried any of this ;-) Does anyone know if rosetta2 can run 32-bit apps on m1 mac? If so, you could just try something like this on m1 mac:

    arch -i386 /Applications/Moose/Moose.app/Contents/MacOS/Moose

file /Applications/Moose/Moose.app/Contents/MacOS/Moose 
/Applications/Moose/Moose.app/Contents/MacOS/Moose: Mach-O universal binary with 2 architectures: [i386:Mach-O executable i386] [ppc:Mach-O executable ppc]
/Applications/Moose/Moose.app/Contents/MacOS/Moose (for architecture i386): Mach-O executable i386
/Applications/Moose/Moose.app/Contents/MacOS/Moose (for architecture ppc):  Mach-O executable ppc

32-bit-moose-357-on-1014