MacOS Monterey as VM on TrueNAS Scale

pixelwave

Contributor
Joined
Jan 26, 2022
Messages
174
Is there any guide or video for installing MacOS (Monterey) on TrueNAS Scale as a VM?
 

danb35

Hall of Famer
Joined
Aug 16, 2011
Messages
15,504

sretalla

Powered by Neutrality
Moderator
Joined
Jan 1, 2016
Messages
9,703
Is there any guide or video for installing MacOS (Monterey) on TrueNAS Scale as a VM?

SCALE uses KVM for virtualization, so this may be relevant:

There are guides available for how to do that on Proxmox (which also uses QEMU/KVM and is debian-based, so those would almost certainly work).

But...

You need to make custom edits to the VM config, which in SCALE isn't an option (at least not yet), since the VM config is written (and overwritten) on the fly, so whatever can't be set in the GUI can't really be used.

You can use something like virt-manager to trick something into temporary existence (you need to first run a VM to make the endpoint discoverable, then use virt-manager to make the new VM and edit the config as required for the MacOS install... it's all far too much trouble for something that gets removed on reboot.

Do with that information what you will.
 

pixelwave

Contributor
Joined
Jan 26, 2022
Messages
174
...ok. Seems for now I will wait until there is more progress or maybe a guide out in the future.

Thanks for the info!
 

troonas

Dabbler
Joined
Dec 9, 2021
Messages
26
Small update for anyone trying to get this to work.

I went as far as trying to implement the ability to add extra QEMU args to the TrueNAS VM middleware codebase only to find... there has been support for this all along. It's not surfaced in the web UI, but you can get to it via the CLI.

To edit the command line arguments of a VM to include the extra stuff added in all the Proxmox tutorials:

Code:
$ sudo cli
[truenas]> service
[truenas] service> vm
[truenas] service vm> query
// Find the ID of your VM here. In this example, my MacOS VM has an ID of 4.
[truenas] service vm> update 4
// A text editor will now appear. Uncommand the "command_line_args:" section and
// add the following. Make sure to replace with the extracted OSK! Switch out the
// CPU part with the relevant AMD stuff in the proxmox tutorials if you use an AMD CPU.

-device isa-applesmc,osk="THE-OSK-YOU-EXTRACTED-GOES-HERE" -smbios type=2 -global nec-usb-xhci.msi=off -global ICH9-LPC.acpi-pci-hotplug-with-bridge-support=off -cpu host,kvm=on,vendor=GenuineIntel,+kvm_pv_unhalt,+kvm_pv_eoi,+hypervisor,+invtsc

// Hit escape, save, and you're done!


Unfortunately, I'm still unable to get my VM to boot, but I think it may be due to having a 13th gen Intel CPU that's not supported very well by the latest TrueNAS Scale kernel.

I'll revisit this following future updates.
 

Whattteva

Wizard
Joined
Mar 5, 2013
Messages
1,824
Before you get even further. I'm going to save you potentially some time and disappointment. Unless you have a supported GPU passed through to the VM, it will be near unusable. Unlike Windows or Linux which runs quite fine in a VM without a GPU, MacOS is SLOW as molasses without it. Just simple things like minimizing a window can lockup your VM for 5-10 seconds. I am not joking, it takes that long to animate that stupid thing. You can try to turn off some animations, but not everything can be turned off. MacOS seems to want to enforce animations on you even if you don't want it. Even if I avoid minimizing windows, the general feel of the VM is just sluggish and unpleasant. Enough to discourage me from daily driving it.

Source: I installed Ventura intending it to be my main iPhone development machine.... and let's just say it's sitting there unused. I mean it runs, it's usable, but it makes me want to pull my hair out and bang my head on the wall. It feels like using a computer from the 90s with HDD's.
 
Last edited:

troonas

Dabbler
Joined
Dec 9, 2021
Messages
26
Are you sure? I had a macOS VM running under Proxmox a while back and it was generally fine. Granted, I wasn't doing anything with it other than using it as an iMessage to Matrix bridge, but I don't recall the UI being unreasonably slow.
 

Whattteva

Wizard
Joined
Mar 5, 2013
Messages
1,824
I have it running right now under Proxmox as one of my VM's and this machine is beefy. It's a 10 core/20 threads Xeon Silver with 224G RAM. Let me show you the specs. You can see that I'm not in anyway choking it of resources. 16GiB RAM 4 cores should be plenty. It runs fine sure, but using it is painful.

1684954121508.png
1684954217121.png

1684954940353.png
 
Last edited:

Whattteva

Wizard
Joined
Mar 5, 2013
Messages
1,824
Are you sure? I had a macOS VM running under Proxmox a while back and it was generally fine. Granted, I wasn't doing anything with it other than using it as an iMessage to Matrix bridge, but I don't recall the UI being unreasonably slow.
Well, if that's all you use it for, I guess it's fine. As you can see, I had Xcode open (I'm a developer) and the performance for that kind of task was just unacceptable.

This Reddit thread confirms my experience. https://www.reddit.com/r/VFIO/comments/p3yusv/curious_about_macos_performance_without_gpu_pass/
 
Last edited:

pixelwave

Contributor
Joined
Jan 26, 2022
Messages
174
I got it working with Open Core v20 and it runs ok. Only issue I have a graphic glitch with Safari that webpages do not load properly. Chrome is fine. But since some OS apps also rely on Safari rendering .. without proper GPU not really useable.

AMD 5600, 32GB Ram no GPU (since my system does not have one and no available PCIe slot..
 

Whattteva

Wizard
Joined
Mar 5, 2013
Messages
1,824
I got it working with Open Core v20 and it runs ok. Only issue I have a graphic glitch with Safari that webpages do not load properly. Chrome is fine. But since some OS apps also rely on Safari rendering .. without proper GPU not really useable.

AMD 5600, 32GB Ram no GPU (since my system does not have one and no available PCIe slot..
Yeah, I have plenty of available PCIe lanes and slot, so I'm thinking of just getting an ultra cheap supported GPU and plug it in there just for the VM eventually.
 

troonas

Dabbler
Joined
Dec 9, 2021
Messages
26
I got it working with Open Core v20 and it runs ok. Only issue I have a graphic glitch with Safari that webpages do not load properly. Chrome is fine. But since some OS apps also rely on Safari rendering .. without proper GPU not really useable.

AMD 5600, 32GB Ram no GPU (since my system does not have one and no available PCIe slot..
Got it working under TrueNAS Scale?
 

troonas

Dabbler
Joined
Dec 9, 2021
Messages
26
Update: I got a VM fully working under TrueNAS Scale!

Turns out I needed to change the VM's machine type to "q35", architecture type to "x86_64" (both CLI-only settings), delete the "-global ICH9-LPC.acpi-pci-hotplug-with-bridge-support=off" arg and change the "-device usb-kbd,bus=ehci.0,port=2" setting to "-device usb-kbd,bus=usb.0,port=2".

I was able to follow the Proxmox tutorial following that without any issue. I'll write up a proper tutorial soon for others who want to do this.

Something to note: no hardware acceleration out of the box. Safari is basically useless and just shows nothing most of the time without it (you can't turn it off), so you'll need to install Chrome or Firefox for web browsing.

Going back to the first point mentioning sluggishness, I really don't notice anything like that at least for ordinary web browsing and file system tasks. All apps open and scroll at pretty much full speed. I'm a software dev, but don't use Xcode at all, so I can't comment on it really. I wouldn't be surprised if it heavily relies on hardware acceleration though hence the mentioned unusable performance.

Overall very happy with this and glad to be able to finally simplify my NAS by getting rid of Proxmox entirely!
 

Whattteva

Wizard
Joined
Mar 5, 2013
Messages
1,824

Straafe

Dabbler
Joined
Mar 24, 2023
Messages
33
I was referring to @troonas's quote about specifically for TNS: "I'll write up a proper tutorial soon for others who want to do this." But I am giving it a shot today using the resources here and that Proxmox tutorial.
 

Straafe

Dabbler
Joined
Mar 24, 2023
Messages
33
I think I almost got it, but ran into a seemingly silly issue that stopped me. For some reason, Open Core doesn't see my recovery image file so I do not have the install option here (my SS on left, tutorial SS on right). I tried OpenCorev15 as in tutorial, and latest v20
Oj6MIM8.png

I just added a CD Drive to the VM and pointed it at the recovery image file. In the tutorial, he changed a ProxMox config file for the CDRom devices to a type of "cache=unsafe" apparently for them to act more as hard drives? I am not sure how to make a similar change in TNS and maybe that has something to do with why I cannot see my image.
--
Edit: Changed to RAW file as AHCI instead of a CD Drive and the install option has appeared. Was able to continue on and successfully finish the installation and it works.
 
Last edited:

jgreco

Resident Grinch
Joined
May 29, 2011
Messages
18,680
Has anyone made anymore progress on this? Is there gonna be a write up?

This is a community forum. Participants are expected to participate. If there is something that you'd like to see that isn't currently here, by all means go ahead and create it.
 
Top