thenickdude / KVM-Opencore

OpenCore disk image for running macOS VMs on Proxmox/QEMU
https://www.nicksherlock.com/2021/10/installing-macos-12-monterey-on-proxmox-7/
GNU General Public License v3.0
1.28k stars 115 forks source link

Solution to running Ventura on AMD Ryzen 3-series #37

Open iansherr opened 2 years ago

iansherr commented 2 years ago

I was having a heck of a time getting this to work with my Ryzen machine, trying every every variant of KVM OpenCore I could find on GitHub. Turns out the problem wasn't with OpenCore, but instead with the Proxmox CPU args.

I'd tried a lot of different args, including Cascadelake-Server and Haswell, and trying +AVX,+AVX2 hoping that'd make a difference. I was only ever able to boot with 1 vcore, and never with more.

Turns out all the recommendations had too many args.

The answer came from https://github.com/Pavo-IM/Proxintosh, whose args were way simpler:

args: -device isa-applesmc,osk="YOU KNOW THIS" -smbios type=2 Cascadelake-Server,vendor=GenuineIntel,+invtsc,kvm=on,vmware-cpuid-freq=on

and

cpu: Cascadelake-Server

Booted into the Ventura install with 8 cores on the first try, and now everything's working. Hopefully this helps someone else too.

NeariX67 commented 2 years ago

As you are spoofing an Intel CPU, would this mean that a intel cpu on the host would work as well?

iansherr commented 2 years ago

I tried all sorts of different Intel CPU spoofs, including Haswell (as suggested in thenickdude's guide), and could only boot with one core. I also tried specifically adding AVX and AVX2 flags just in case that might help, and it didn't. So far, this is the only way I've been able to get the machine to boot with multiple cores -- and repeatedly. I just finished updating from Beta 6 to Beta 7 with zero problems. System seems solid so far.

Medizinmann-MD commented 2 years ago

As you are spoofing an Intel CPU, would this mean that a intel cpu on the host would work as well?

You mean working wth an Intel CPU Haswell and newer or spoofing features for older CPUs?

It will work with newer Intel CPUs. Don't know about spoofing features that aren't supported in the end - I would take a guess and say the system might crash at some point/stopp working/freeze - or will run and some applications won't work.

NeariX67 commented 2 years ago

No, my question is about running an intel cpu and spoofing an intel rather than running ryzen and spoofing intel.

Medizinmann-MD commented 2 years ago

As I said - you could spoof something - but you need at least the feature set needed - as Nicholas wrote in his blog - you need at least Haswell or newer. You could of course spoof a 12th gen CPU into somehting like Cascadelake.

Medizinmann-MD commented 2 years ago

@iansherr Which Apple Device Identifier do you use?

iansherr commented 2 years ago

@Medizinmann-MD you mean SMBIOS? I had the most success with iMac 19,1, but everyone seems to have a different experience based on their setup. It seems very finicky to get right.

Medizinmann-MD commented 2 years ago

Yes, I mean SMBIOS. For Monterey I used iMac 14,2 - I tried a Mac Pro 7,1 identifier before, but that didn't work with more than 8 cores.

iansherr commented 2 years ago

@Medizinmann-MD To be honest, I never tried more than 8 cores (I'm running Windows/Mac side by side and leaving a few cores for Proxmox). Before Ventura, I had the most luck with iMac Pro 1,1 or Mac Pro 7,1.