**VIDEO GUIDE** How to Install MacOS Mojave or High Sierra as a VM


SpaceInvaderOne

Recommended Posts

Just an update about MacPro7,1 smbios and gpu passthrough.

I have gtx titan black which work out of the box (without the need to install additional drivers), but maybe it is necessary to patch AppleGraphicsControl.kext (if you experience a "no-signal" to the monitor after the apple logo).

I used AGDPFix 1.3 to patch AppleGraphicsControl.kext but this was not enough since /System/Library/Extensions/AppleGraphicsControl.kext/Contents/PlugIns/AppleGraphicsDevicePolicy.kext/Contents/Info.plist doesn't contain any specification for the MacPro7,1 (Board-ID: Mac-27AD2F918AE68F61)

 

So add this line to the Info.plist in the ConfigMap section:

<key>Mac-27AD2F918AE68F61</key>
<string>none</string>

So it looks like:

<dict>
	<key>Mac-00BE6ED71E35EB86</key>
	<string>none</string>
	<key>Mac-031B6874CF7F642A</key>
	<string>none</string>
	<key>Mac-27ADBB7B4CEE8E61</key>
	<string>none</string>
	<key>Mac-42FD25EABCABB274</key>
	<string>none</string>
	<key>Mac-4B7AC7E43945597E</key>
	<string>none</string>
	<key>Mac-63001698E7A34814</key>
	<string>Config3</string>
	<key>Mac-65CE76090165799A</key>
	<string>none</string>
	<key>Mac-77EB7D7DAF985301</key>
	<string>none</string>
	<key>Mac-77F17D7DA9285301</key>
	<string>Config3</string>
	<key>Mac-7BA5B2D9E42DDD94</key>
	<string>Config4</string>
	<key>Mac-81E3E92DD6088272</key>
	<string>none</string>
	<key>Mac-AA95B1DDAB278B95</key>
	<string>Config3</string>
	<key>Mac-B809C3757DA9BB8D</key>
	<string>none</string>
	<key>Mac-BE088AF8C5EB4FA2</key>
	<string>Config3</string>
	<key>Mac-C3EC7CD22292981F</key>
	<string>none</string>
	<key>Mac-C9CF552659EA9913</key>
	<string>none</string>
	<key>Mac-DB15BD556843C820</key>
	<string>none</string>
	<key>Mac-F60DEB81FF30ACF6</key>
	<string>none</string>
	<key>Mac-FA842E06C61E91C5</key>
	<string>none</string>
	<key>Mac-FC02E91DDD3FA6A4</key>
	<string>none</string>
	<key>Mac-27AD2F918AE68F61</key>
	<string>none</string>
</dict>

 

UPDATE: instead of manually modifying the Info.plist file in /System/Library/Extensions/AppleGraphicsControl.kext/Contents/PlugIns/AppleGraphicsDevicePolicy.kext/Contents/ if you are using clover you can add a  KextsToPatch (Credits to Pike R. Alpha); this has the advantage to not modify at all the system kext; since usually all updates/security updates overwrite AppleGraphicsDevicePolicy.kext you will end up with a no-signal black screen on reboot after the update, so you need to connect through vnc to manually re-patch the kext. With this modification you won't need to modify the system kext.

All you have to do is open your clover configurator, mount your EFI folder, open your config.plist and add the following patch into the KextsToPatch section:

 

Name: com.apple.driver.AppleGraphicsDevicePolicy
Find* [HEX]: BA050000 00
Replace* [HEX]: BA000000 00
Comment: Prevent AGDP from loading

This works on Mojave 10.14.6 (18G103) and an NVIDIA GTX Titan Black. Take into account that the recovery will still be unaccessible with a no-signal to the monitor.

 

1.png.b37b53180aaba6a90360068669d481ad.png

 

2.png.d9f60a5a3045ffe17122c51e7d296c1f.png

 

UPDATE: thanks to Leoyzen, now Lilu and WEG are compatible with QEMU. So delete all the injections/patch for graphics and use only Lilu/WEG. Recovery is now accessible!

 

Edited by ghost82
Link to comment
18 hours ago, ghost82 said:

Just an update about MacPro7,1 smbios and gpu passthrough.

I have gtx titan black which work out of the box (without the need to install additional drivers), but maybe it is necessary to patch AppleGraphicsControl.kext (if you experience a "no-signal" to the monitor after the apple logo).

I used AGDPFix 1.3 to patch AppleGraphicsControl.kext but this was not enough since /System/Library/Extensions/AppleGraphicsControl.kext/Contents/PlugIns/AppleGraphicsDevicePolicy.kext/Contents/Info.plist doesn't contain any specification for the MacPro7,1 (Board-ID: Mac-27AD2F918AE68F61)

 

So add this line to the Info.plist in the ConfigMap section:


<key>Mac-27AD2F918AE68F61</key>
<string>none</string>

So it looks like:


<dict>
	<key>Mac-00BE6ED71E35EB86</key>
	<string>none</string>
	<key>Mac-031B6874CF7F642A</key>
	<string>none</string>
	<key>Mac-27ADBB7B4CEE8E61</key>
	<string>none</string>
	<key>Mac-42FD25EABCABB274</key>
	<string>none</string>
	<key>Mac-4B7AC7E43945597E</key>
	<string>none</string>
	<key>Mac-63001698E7A34814</key>
	<string>Config3</string>
	<key>Mac-65CE76090165799A</key>
	<string>none</string>
	<key>Mac-77EB7D7DAF985301</key>
	<string>none</string>
	<key>Mac-77F17D7DA9285301</key>
	<string>Config3</string>
	<key>Mac-7BA5B2D9E42DDD94</key>
	<string>Config4</string>
	<key>Mac-81E3E92DD6088272</key>
	<string>none</string>
	<key>Mac-AA95B1DDAB278B95</key>
	<string>Config3</string>
	<key>Mac-B809C3757DA9BB8D</key>
	<string>none</string>
	<key>Mac-BE088AF8C5EB4FA2</key>
	<string>Config3</string>
	<key>Mac-C3EC7CD22292981F</key>
	<string>none</string>
	<key>Mac-C9CF552659EA9913</key>
	<string>none</string>
	<key>Mac-DB15BD556843C820</key>
	<string>none</string>
	<key>Mac-F60DEB81FF30ACF6</key>
	<string>none</string>
	<key>Mac-FA842E06C61E91C5</key>
	<string>none</string>
	<key>Mac-FC02E91DDD3FA6A4</key>
	<string>none</string>
	<key>Mac-27AD2F918AE68F61</key>
	<string>none</string>
</dict>

1.png.b37b53180aaba6a90360068669d481ad.png

 

2.png.d9f60a5a3045ffe17122c51e7d296c1f.png

 

Do you have metal acceralation support?MacPro 7,1 added in catalina so there is not config in mojave. 

BTW, why your process shows 'Sconosciuto'?

Link to comment

Acceleration: yes, it seems to be ok

metal.png.1f62a721a0bd6306e2d3b90231418359.png

 

Yes, I know, mac pro 7,1 has not been officially released and it will run with catalina, so this explains why mojave lacks infos.

 

"Sconosciuto" means unknown, the processor is not recognized (I have 2x e5-2687w in my main board): it's only cosmetic, I patched in the past, then reinstalled the os, but since it's only cosmetic I don't mind to read Sconosciuto.

Edited by ghost82
Link to comment

I would like to thank Leoyzen> with his clover file my mojave is finally running fast and clean!

 

The only problem I have is an error in the log of the VM:

2019-09-22 12:06:55.495+0000: Domain id=3 is tainted: custom-argv

 

I once attached a picture of it and my xml as a text file. but despite the error message everything runs without problems

 

does anyone have a tip on how to get away?

 

System:

AMD 1950x @ 3.8 Ghz

64 GB Ram @ 3200 CL 14

Asrock Taichi Bios P3.50 and 3.60

Unraid 6.7.2

 

vm.jpg

XML_Mac.txt

Link to comment

Domain is tainted error can be safely ignored. I just means you're running a configuration or some component that is not officially supported by the maintainers of either KVM or QEMU. That means that if you ever need to contact them to report a bug or get help, you would need to adjust your configuration such that it is purely running their supported code and not "tainted" or they will not try to fix it, because they don't support that use or component added.

Link to comment
On 9/21/2019 at 4:51 PM, ghost82 said:

Tell me how to test, I'm not so expert

  1. gpu fan works properly? my gpu fan only runs when get 70C
  2. gpu memory works properly? my gpu memory alwary get full and never lower down....
  3. gpu benchmark compared to bare metal computer?

 

BTW, I add cpu features as much as possible, finally I get nearly same score (1200+ singlescore) from my windows. I don't know which feature is more important so I add them all.

Penryn,vendor=GenuineIntel,+hypervisor,-erms,+invtsc,kvm=on,+topoext,+svm,+invtsc,+fma,+mmxext,+avx,+avx2,+aes,+xsave,+xsaveopt,+ssse3,+sse4_2,+popcnt,+sse4a,+bmi1,+bmi2,+arat,+abm,+3dnowprefetch,+adx,+clflushopt,+cr8legacy,+fsgsbase,+fxsr_opt,+misalignsse,+movbe,+osvw,+pclmuldq,+pdpe1gb,+rdrand,+rdseed,+rdtscp,+sha-ni,+smap,+smep,+svm,+vme,+xgetbv1,+xsave,+xsavec,+ht,+clwb,+umip,+xsaves,+extapic,+ibs,+skinit,+tce,+wdt,+topoext,+perfctr-core,+perfctr-nb,+amd-ssbd,+wbnoinvd,check

Edit 2019.09.26:

It is also IMPORTANT to set fakecpuid to get avx2/bmi1/bmi2 etc recognized by MacOS(mention from here).

You can just set cpu model from Penryn to IvyBridge and remove topology from xml, this works too.

You can check with "sysctl -a|grep hw" or "sysctl -a|grep cpu" or "sysctl -a|grep avx" to see if the feature correctly recognized.

It will get better performance (for me, the system boots faster than before).

image.thumb.png.3c07cceab056632a1fecd790fbd77590.png

image.thumb.png.6ee574c9ad573ef627f3f11862481e51.png

 

image.png

Edited by Leoyzen
  • Like 1
Link to comment

Hi @Leoyzen

Thanks.

Here are my results:

 

CPU benchmark

OSX Mojave VM (Unraid): Single core score: 728 - Multicore score: 7089

Windows 10 native: Single core score: 743 - Multicore score: 7973

 

Comments: quite happy with the results

 

GPU Benchmark

OSX Mojave VM (Unraid): Score (metal): 25246 - Score (opencl): 8866

Windows 10 native: Score (opencl) : 23575 - Score (CUDA): 19605 - Score (Vulkan): 21994

 

Comments: Metal is ok, but I have a big difference for opencl...mmmm

---------------------------

 

I'm not able to monitor temperature/fan speed of the gpu: I tried some softwares but they can't detect anything, only qemu hd temperature.

How do you monitor fan speed/temperature of the gpu? How can I test for gpu memory?

 

My cpu args are as follows:

<qemu:arg value='Penryn,vendor=GenuineIntel,+hypervisor,-erms,+invtsc,kvm=on,+topoext,+invtsc,+avx,+aes,+xsave,+xsaveopt,+ssse3,+sse4_2,+popcnt,+arat,+pclmuldq,+pdpe1gb,+rdtscp,+vme,+xsave,+umip,+topoext,check,vmware-cpuid-freq=on,'/>

I just inserted all, as you, then removed the ones which were not compatible (by looking at unraid vm log).

 

Geekbench-OSX-VM.thumb.png.ffafb31c056a8ec8cac7b4196d1586af.png

 

OSX-Metal.png.9a4db006dd909d9382a15752450d2d01.png

 

Quote

It is also IMPORTANT to set fakecpuid to get avx2/bmi1/bmi2 etc recognized by MacOS(mention from here).

Unfortunately my cpus (E5-2687w) cannot manage these features.

Edited by ghost82
Link to comment

@ghost82 I use iStats Menu to monitor graphic die/mem frequency and mem usage, and manually monitor the fan by my eyes =0=

 

@david279 I face the same problem before when installing catalina using iMacPro1,1 then I switched to MacPro7,1 and it works. It is sucks if as you said the newest update got the same problem. I have no idea what the error is, seems some cpu feature check?May need some patch to make it work.

The full error log, seems mce support broken?

image.thumb.png.998f9470e3903f575a757fd7b2c252ca.png

 

2019.09.24 20:41

I found the similar issues from here, so maybe use latest Lilu and CPUFriend can avoid this panic. I will try later and report back. @david279

 

2019.09.24 22:33

Lilu and CPUFriend not work as expected, I dont familar with Lilu/CPUFriend, so maybe someone test again and give some feedback.

iMacPro1,1 and MacPro7,1 are important for those who use hackintosh in VM and want to get native GPU HW acceralation.

 

2019.09.24 23:38

I've found a solution to disable AppleIntelMCEReporter when using iMacPro1,1 or MacPro7,1 by using the kext from here.

You can download the kext from attachment then unzip the kext into clover/kext/other folder then reboot

 

MCEReporterDisabler.kext.zip

Edited by Leoyzen
  • Thanks 1
Link to comment
4 hours ago, Leoyzen said:

@ghost82 I use iStats Menu to monitor graphic die/mem frequency and mem usage, and manually monitor the fan by my eyes =0=

Ok, I did some more tests:

- GPU memory seems ok, it ranges between 15% and 20% for "regular activity" (total memory 6Gb) and it frees without problems

- GPU fan seems ok too, it spins (not at full speed) from the start of the os

- GPU frequency seems ok too

 

GPU memory:

memory.png.90f7a913c93bad21e1c416e0d41d5d66.png

 

GPU frequency (peaks refer to geekbenchmark tests and some blender usage)

frequency.png.38767e43c2d192ed0ed77ac18b67263b.png

 

What about your opencl benchmark? Did you get consistent results with metal benchmark? I read somewhere this is regular, somewhere else it's not ok.

Edited by ghost82
Link to comment

@ghost82 My RX580 get 22k+ score so your opencl score definately incorrect(maybe nvidia webdirver related, I'm not sure).

image.thumb.png.bf2caeff779ba0595717419297a88ddd.png

image.thumb.png.e2fdfd0135514788387a3c3c9f2a7ff8.png

My GPU memory always get full and fan not spin up untils get 70+ degrees, I don't know if it pm related issues or bios related even AMD related....

 

 

I've got VirtIO network work in Catalina and finally get 20Gb+/s network in Hackintosh VM, awesome!

Edit: but still unstable for daily use, it become buggy when reboot .... I should find a way to make it work.

image.thumb.png.1f5e541bc00606082a83ab9cc99af19b.png

 

Edited by Leoyzen
  • Thanks 1
Link to comment

Very strange for the fan and memory, there should be something wrong..is it with all OSXs you tried or only with catalina?

70 °C are too much in my opinion for the fan to begin to spin..)Did you try it with a windows system?Does the fan spin at startup of your workstation (not the vm)?

Did you notice problems for the GPU when istat reports the memory is near full?If you are not experiencing any problem it could worth a try to try another app to monitor the memory (I had luck with HWSensors-3_r240 and by installing some kexts (included in the package)).

What is the version of the bios of the gpu?

 

Sorry, but I'm reading 20k not 200k for the opencl (it should be 130-140k)! mmmm.....(Edit: seen now you changed to 22k, however it should be near 60k for the rx460)

Good to know for the virtIO network! Thank you, I will try to investigate more about these "issues".

Edited by ghost82
Link to comment
1 hour ago, ghost82 said:

Very strange for the fan and memory, there should be something wrong..is it with all OSXs you tried or only with catalina?

Cannot be a feature of the rx580 that spins the fan until some load is applied (however 70 °C are too much in my opinion for the fan to begin to spin..)?I read somewhere that the rx580 has a decent cooler; did you try it with a windows system?Does the fan spin at startup of your workstation (not the vm)?

Did you notice problems for the GPU when istat reports the memory is near full?If you are not experiencing any problem it could worth a try to try another app to monitor the memory (I had luck with HWSensors-3_r240 and by installing some kexts (included in the package)).

 

Sorry, but I'm reading 20k not 200k for the opencl! mmmm.....

Good to know for the virtIO network! Thank you, I will try to investigate more about these "issues".

1. yeah, it is the same whether mojave or catalina, it always get full

2. my grahpics is Sapphire RX460 but I flashed Rx560 bios(I checked the memory manufacture)

3. I'm not facing any problem but the degree is high and the memory seems something wrong for me.

4. I will try other sensors to see any difference. Because I've hear somewhere that after mojave the graphic PM ONLY works with CPU PM (X86PlatformPlugin and etc), which we won't have. So I guess maybe something related.

Link to comment

I found that it is clover which breaks vmxnet3 and virtio-net, maybe during clover devices initializing.

After hotplug the ethernet devices after clover initialization, I've got a much better throughput performance:

1. virtio-net works(works properly) and get 20Gb/s+ performance(before won't work, osx can't get correct mac address after clover handled the devices)

2. vmxnet3 works properly and get 4Gb/s+ performance (before only 100Mb/s+ and quiet buggy)

 

I will try to find the specific issues where the clover break. Maybe we are closed to get a much more efficient ethernet option which works property

 

Steps to make virtio-net work:

1. do not add virtio-net in vm xnl

2. boot vm, when in clover boot selection section, go to 3

3. [IMPORTANT] virsh attach-device --live Catalina /boot/config/ethernet-virtio.xml

4. [IMPORTANT] add clover boot args: keepsyms=1 debug=0x100

 

the ethernet-virtio.xml looks like this:

<interface type='bridge'>
  <mac address='52:54:00:d6:ac:37'/>
  <source bridge='br0.100'/>
  <model type='virtio'/>
</interface>

 

Edited by Leoyzen
  • Like 1
  • Thanks 1
Link to comment
4 hours ago, ghost82 said:

Not able to replicate with vmxnet3, I'm not getting 4Gb/s+ but 2Gb/s+ (for sure not 100Mb/s) (Clover 5091)

 

iperf3.thumb.png.ce577e84ffc0219a096f46007fcf0632.png

Do you have vmxnet3 as primary ethernet interface?

When I use vmxnet3 as primary ethernet interface then the iperf3 is much slower.....But with another interface then it turns to be correct.

Link to comment
On 9/18/2019 at 9:02 PM, Leoyzen said:

Here U are, those files attached are my clover files for Catalina and Mojave as nearly bare metal VM, both works for VNC or Real Monitor with Graphics passthrough:

Something should notice:

* Catalina: MacPro7,1(which iMacPro1,1 not works for me it get reboot cyclely with "x86_topo_lock error")

* Mojave: iMacPro1,1

** It do not need any kext to make function work **

Both files contains OOB patch (for AMD RX560/570/580 patch to make hardware acceralation(HEVC & H264) work also to avoid black screen (make graphics in acpi gfx0 position should avoid this)) and Clover as new as possible (v5058, the latest wont boot for me).

Remember you should change SMBios UUID to avoid conflict.

Using this then you can get an OOB Hackintosh(Mojave or Catalona) works like charm.

As I explained above, you should take some patches from clover to make iMacPro1,1 work for Mojave, also MacPro7,1 for Catalina(check my clover.plist).

mojave.clover.qcow2 12.56 MB · 14 downloads catalina.clover.qcow2 22 MB · 13 downloads

 

Edit:

some steps to make rx560/570/580 works natively in mojave and catalina to support hevc/h264 hardware acceraltion without IGPU:

  1. change your SMBios to iMacPro1,1(mojave) or MacPro7,1(Catalina)
  2. select ACPI --> Add DTGP in clover:add some method in acpi for later use.
  3. select ACPI --> FixDisplay:  in order to change your grahpic to gfx0
  4. select KernalAndDriverPathes --> Black Screen Patch Vega 56/64, RX580 etc. (c)Pike R. Alpha: fix blackscreen issues
  5. (Optional)If not work, then add LILU/WEG to you kexts directory.

 

Here are some screen shots about my VM:

image.thumb.png.27e8e039b717ab993755fcaf30d862fe.png

Geekbench 5 with 4 cores/ 8 threads of my 3700x:

image.thumb.png.c968fad74abb0f5474d8a62848493465.png

You mentioned "Both files contains OOB patch (for AMD RX560/570/580 patch to make hardware acceralation(HEVC & H264) work also to avoid black screen (make graphics in acpi gfx0 position should avoid this))". So does mojave.clover.qcow2 that you uploaded works with Vega 64? You only mentioned RX580. If not, what should I do to patch it for Vega 64?

 

Thank you!

Link to comment
On 9/19/2019 at 2:14 AM, ghost82 said:

I found out what was the problem with my attempts to update clover without success, I'm sharing it here, maybe it will be of some help for other people.

My problem was that clover hanged at "scan entries": thanks to Leoyzen who shared its working EFI folder I could find out that my EFI folder structure was wrong.

To update clover I always downloaded the iso image from sourceforge, made my modifications, mounted the EFI folder inside osx and copied the new updated efi folder.

Somewhere in the past the folder structure of clover changed, more into details folder CLOVER/drivers64UEFI changed into CLOVER/drivers/UEFI.

So I maintained the new folder structure inside my efi folder (CLOVER/drivers/UEFI) : the error is here, CLOVER/drivers/UEFI is not the correct structure, CLOVER/drivers64UEFI is the correct one!

The scan entries error was because no driver was loaded and clover couldn't find any hd to boot from! With the new folder structure I'm able to update clover without problems; v.5089 works for me on mojave.

 

Thanks again Leoyzen!

Hi, you mentioned Leoyzen shared his EFI folder. I wanted to take a look as well. I wonder where is the post, since I could not find it. Thank you!

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.