top | item 25809640

Sosumi Snap – Download and Install macOS in Ubuntu

323 points| macco | 5 years ago |github.com | reply

124 comments

order
[+] jabberwcky|5 years ago|reply
A Canonical employee releasing a wrapper to download and run unlicensed MacOS, and shipping it via Ubuntu's explicitly for-profit app store? There is noooo way this was approved

"Sofireme" seems way more appropriate, or maybe "Sosumyemployer"

edit: double eek: https://github.com/popey/sosumi-snap/blob/master/snap/local/...

[+] userbinator|5 years ago|reply
As pointed out in the other comments here, the EULA definitely allows you to run macOS in Ubuntu if you're using Apple's hardware.
[+] kodah|5 years ago|reply
> shipping it via Ubuntu's explicitly for-profit app store

Can you clarify "explicitly for-profit"? I don't think that's true: https://en.wikipedia.org/wiki/Snap_(package_manager)

Snap is practically the opposite of that. It's a package manager that is almost entirely out of the hands of Canonical, which was one of the criticisms of apt.

If you mean to criticize that some of Snap is proprietary, that is legitimate, but that doesn't seem to be the aim here.

[+] panpanna|5 years ago|reply
There are fully working osx vagrant images on GitHub, so why should this surprise you?
[+] You-Are-Right|5 years ago|reply
You good law and order man! Earth is such a nice planet because many of you exist!
[+] protoman3000|5 years ago|reply
Sosumi Snap uses Clover internally.

[1] showed how to boot macOS in KVM without the usual Clover / Opencore setup but is not maintained for newer versions anymore. [2] shows how to run current macOS versions without Clover or Opencore in VirtualBox by changing the VM's ACPI(?) entries and loading variables into the NVRAM. [3] uses KVM but also uses Opencore.

I tried to translate [2] to QEMU but was never successful.

Does anybody know some resources how to have a pure KVM macOS VM without any hackintoshing?

[1] https://www.contrib.andrew.cmu.edu/~somlo/OSXKVM/

[2] https://github.com/myspaghetti/macos-virtualbox

[3] https://github.com/kholia/OSX-KVM

[+] chubs|5 years ago|reply
Hilarious that they named it after 'sosumi' which was apple's cheeky name for a sound effect that iirc was a response to a legal claim that their computers were not permitted to produce audio: 'so sue me'.
[+] technothrasher|5 years ago|reply
It wasn't that their computers weren't permitted to produce audio, its that they had made an agreement with The Beatles' Apple Corps that they wouldn't use the "Apple" trademark for products which were principally for creating music. The dust up was when the Apple IIGS contained a dedicated sound processor. Apple Corps thought that was too close of comfort and sued.
[+] pan69|5 years ago|reply
Excuse my ignorance, I have two questions:

1) How legal is this (assuming I have a a valid macOS licence that comes with my Apple hardware/laptop)?

2) Can this be used to do iOS development?

[+] kccqzy|5 years ago|reply
It's fine if you install Linux on a Mac and then install macOS as a VM on that Linux installation. It's permitted starting from 10.7 Lion. It's not allowed by the EULA if you do it on a non-Apple computer, but Apple likely won't care enough to take any action.
[+] TheDong|5 years ago|reply
Maybe I'm misunderstanding the PsyStar case, but this seems likely to be illegal.

Psystar, among other things, released "Rebel EFI" (https://en.wikipedia.org/wiki/Psystar_Corporation#Rebel_EFI), which was a way to circumvent OSX's checks that you were running on mac hardware.

Judge Alsup ruled that Rebel EFI was a circumvention technology, and thus not legal under the DMCAs anti-circumvention provisions.

The snap is not running macOS on mac hardware. Even if you run it on a mac laptop, it's using virtualized qemu hardware. It includes a magic hardware string to make macOS run (https://github.com/popey/sosumi-snap/blob/def1652e916f/snap/...). That magic string is a circumvention measure which dodges a check macOS makes on boot to see if it's on legitimate hardware, and so I think this project is performing circumvention, similar to Rebel EFI.

[+] arsome|5 years ago|reply
The name is literally "So Sue Me".
[+] fiddlerwoaroof|5 years ago|reply
IIRC, Apple explicitly allows running macOS virtualized, as long as the physical device is an Apple device: VMWare Fusion and Parallels both sell software designed to make this easy.
[+] everyone|5 years ago|reply
I tried many times to get MacOS to run on my AMD cpu windows machine so I could build my mobile games to iOS from Unity. I tried virtualbox and VMware and a few different ways of installing macOS on both. In some cases MacOS would install and run ok, but I could never connect to the iphone over usb and actually build to it. I ended up buying a 2nd hand mac mini. I still feel dirty paying £300 for such a low spec machine. it runs like absolute garbage. But it has Catalina and I can actually finally build to iOS.. very very very slowly.

[Updating xcode today took 6 hours]

I wonder if I should try this? Do ye think theres any chance of it working on the same hardware that failed to work in virtualbox and VMware on Windows?

[+] jeroenhd|5 years ago|reply
I've installed a Hackintosh on my machine (only High Sierra because I have a Pascal Nvidia GPU and Nvidia and Apple are still throwing a tantrum) and it's working quite painless.

The old style of installing a Hackintosh (configuring clover and some random binaries based on forum threads) never worked for me, but Dortania's OpenCore Install Guide [1] worked great out of the box.

If your GPU works on macOS (so recent-ish AMD or old Nvidia), I definitely recommend giving it a try. You're missing out on a few performance optimisations and stuff like iMessage and Facetime don't work, but it's definitely good enough to just run and debug builds, possibly even with hardware acceleration inside the necessary emulators (not VMs).

If you want to go the VM route, you'll probably run into trouble because Apple's OS assumes that the processor is made by Intel (not strange, because all of their x64 processors are bought from Intel). There's a few patches you can download and install to make the OS boot on macOS though, and with those the VM should work in VirtualBox, VMWare, KVM, this snap, and that Docker image running qemu that someone posted at some point. Details about what to patches you may need can be found somewhere in [1], as well as a list of limitations. For example, running virtual machines on an AMD Hackintosh is practically impossible.

If you want to get the bare basics working in a virtual machine, running through the opencore install guide inside the VM will most definitely work, though the GUI will be slow as molasses because of the lack of GPU acceleration. That's still fine for running a build task over something like SSH though. There's options!

[1]: https://dortania.github.io/OpenCore-Install-Guide/

[+] ianlevesque|5 years ago|reply
A 6-hour upgrade sounds like that mini is probably still on spinning rust. Rather than mess around just get the cheapest SSD you can find and install that. Also from what I've heard it comes down to certain AMD CPUs missing instructions macOS assumes are present, so any modern virtual machine that doesn't emulate every instruction can't help there.
[+] kristopolous|5 years ago|reply
I've pulled it off on my threadripper but I can't seem to assign it more than 8 cores. Other than that there's a problem with connecting an iphone. It's not perfect, but it's not bad. I'm on debian.
[+] stereo|5 years ago|reply
I build my macOS stuff using GitHub actions, which is relatively fast and works fine. Would something like this maybe work for you?
[+] PaulDavisThe1st|5 years ago|reply
Mojave and High Sierra work fine here on an AMD Ryzen ThreadRipper 2950X, using QEMU/KVM.
[+] josteink|5 years ago|reply
This might come of as a weird question for Mac-users...

But as an Ubuntu-user, why would I want or need this? Are there any OSX software people consider essential? I mean... I barely even use Wine :)

[+] carlmr|5 years ago|reply
Not a mac user myself, but i think some music and video editing applications are considered basically essential on Mac.
[+] gattilorenz|5 years ago|reply
To compile native Mac and iOS apps, or to test compatibility of multiplatform apps, for example
[+] xrd|5 years ago|reply
I've tried various different ways to get an OSX iso booted on Linux (system76 laptop) and it's been very problematic.

Is the trick to run Linux on mac hardware and then run the VM host on top of that? If so, why do that, why not just run a VM using virtual box, for example, with OSX inside OSX. Does the lower resource Linux host make it so you can run more VMs (or better specs)?

I'm definitely interested in building a bunch of development images as VMs. The setup of Apple development (signing and notarizing) is so opaque that I'm always terrified our CI will get broken with some small upgrade that I want to save stable images frequently, and this seems perfect for that.

[+] StavrosK|5 years ago|reply
Is there any chance that this won't be terribly slow/janky? I had tried installing OS X under QEMU a while back, and you could use KVM to make it faster (IIRC), but it was very tricky to set up.
[+] meibo|5 years ago|reply
This basically has no hardware acceleration, if you don't mess around with GPU passthrough and even then you won't have a great experience - so you won't be doing any heavy work or browsing. It'll be quite choppy, even on a relatively modern CPU.

If you need to build your app or use that note-taking app that's so nice but macOS exclusive, you'll be fine though.

[+] fragebogen|5 years ago|reply
Impressive! Excuse an ignorant question, but there’s no support for Nvidia cards, I guess?
[+] car|5 years ago|reply
Drivers for really old ones are baked into macOS apparently. PCI pass through then delivers native graphics performance.

Edit: All Kepler GPUs are supported.

[+] Triv888|5 years ago|reply
Apple doesn't like things like that for some odd reasons ...
[+] hanniabu|5 years ago|reply
Anybody try this out that also has experience with Hackintosh that can give a comparison review?
[+] sneak|5 years ago|reply
our hard work

by these words guarded

you wouldn't download a car

[+] hi5eyes|5 years ago|reply
this is like a physical version of spacedesk?
[+] bochoh|5 years ago|reply
I tried this, naively, on WSL2 and had no luck. May try again tomorrow.
[+] tyingq|5 years ago|reply
You'll need to build a new kernel. The one in WSL2/Ubuntu isn't compiled with KVM support. Once you do that, it should work fine.