** Hackintosh ** Tips to make a bare metal MacOS


Recommended Posts

15 hours ago, Balooforever said:

How make automatic start on partition 1 ?

I have an asterisks beside partition one, which boot automatically after xx seconds.

You can change the timeout in the config.plist:



but I prefer to leave this default, to have some time to read and to choose where to boot, especially during updates.

Edited by ghost82
Link to comment
On 11/24/2019 at 7:38 AM, tpruszin said:

but I had to have my wifi card as built in 0x1 to make handoff and AppStore work properly

True, when I had only one emulated ethernet it resulted as built-in (en0); after attaching the wifi dongle (en1), ethernet was en0 but no more built-in.

An easy way to fix the built-in is through opencore/clover: in opencore: DeviceProperties --> Devices --> add

Use gfxutil to find the address of the ethernet you want to be built-in:

./gfxutil -f ethernet

In my case result was:

DevicePath = PciRoot(0x1)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x1,0x0)

So, add PciRoot(0x1)/Pci(0x1,0x0)/Pci(0x0,0x0)/Pci(0x1,0x0) in the Devices column, add key "built-in" (without ""), value "01" (without ""), Type: DATA.


Clover has similar section to add devices.

Edited by ghost82
Link to comment

Sharing my findings on mac os network with smb servers.

This is not related to vm but to mac os operating system.

The problem was a very slow speed from my macbook pro (no vm) to unraid smb (setting with min. protocol v.2).

The same macbook pro was transferring a lot faster with a windows operating system with file sharing (smb).

This could be useful if you use your mac os virtual machine connected directly to a smb server via tcp.


After searching, I found that the problem is in tcp delayed ack: by default, in mac os it is set to 3 (should auto detect when to employ delayed ack, 4 packets per ack), check it with the following terminal command:

sysctl net.inet.tcp.delayed_ack

If you are in this same situation try to set net.inet.tcp.delayed_ack to 0 (disabled):

For a temporary solution (it will reset to 3 at every reboot), just to try if it fixes the issue, type in a terminal window:

sudo sysctl -w net.inet.tcp.delayed_ack=0

If this solves the issue, make the change permanent:

- in /etc/sysctl.conf (if you don't have this file create it) write this line and save the file:


..and reboot


Now my speed is consistent with the windows server

  • Thanks 1
Link to comment

For your information, in OpenCore (I remove it from my EFI OpenCore) :



AptioFixPkg is now part of AppleSupportPkg and OpenCore, please use them instead:

AptioMemoryFix.efi is split into OpenCore and FwRuntimeServices.efi.

AptioInputFix.efi is moved to AppleGenericInput.efi.

CleanNvram.efi and VerifyMsrE2.efi are now part of AppleSupportPkg.


EDIT : I clean the OpenCore.efi I get here, all work fine :)

Edited by Balooforever
Link to comment
  • 3 weeks later...



@LeoyzenI5 8400 ,opencore 5.4,only update liu and weg, other configurations are the same as yours .But Geekbench score  too low.


    <qemu:arg value='-device'/>
    <qemu:arg value=''/>
    <qemu:arg value='-smbios'/>
    <qemu:arg value='type=2'/>
    <qemu:arg value='-cpu'/>
    <qemu:arg value='host,kvm=on,+invtsc,+hypervisor,+avx,+avx2,+fma,+popcnt,+xsave,check'/>


Link to comment
On 12/27/2019 at 6:00 PM, Young_Max said:



@LeoyzenI5 8400 ,opencore 5.4,only update liu and weg, other configurations are the same as yours .But Geekbench score  too low.


    <qemu:arg value='-device'/>
    <qemu:arg value=''/>
    <qemu:arg value='-smbios'/>
    <qemu:arg value='type=2'/>
    <qemu:arg value='-cpu'/>
    <qemu:arg value='host,kvm=on,+invtsc,+hypervisor,+avx,+avx2,+fma,+popcnt,+xsave,check'/>


I used geekbench 5, so this score is probably normal.

Link to comment
2 hours ago, Young_Max said:

I used geekbench 5, so this score is probably normal.

My suggestion is to look at the details of the analysis, for example in latest 5.1.0 version geekbench is not able to pass some tests in my vm (I don't remember if it was for the cpu or the gpu, most probably the latter), and this is the cause of the lower benchmark score.

Edited by ghost82
Link to comment
  • 3 weeks later...

What's the catch to get clover to boot past OS selection? As soon as I select a boot entry I get stuck on a black screen. This only happens when I use <qemu:arg value='host..... I'm using a Xeon W-2155, both Penryn or IvyBridge args do work.


<?xml version='1.0' encoding='UTF-8'?>
<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
  <description>MacOS Catalina</description>
    <vmtemplate xmlns="unraid" name="MacOS" icon="/mnt/user/domains/MacinaboxCatalina/icon/catalina.png" os="Catalina"/>
  <memory unit='KiB'>62390272</memory>
  <currentMemory unit='KiB'>62390272</currentMemory>
  <vcpu placement='static'>20</vcpu>
    <vcpupin vcpu='0' cpuset='0'/>
    <vcpupin vcpu='1' cpuset='10'/>
    <vcpupin vcpu='2' cpuset='1'/>
    <vcpupin vcpu='3' cpuset='11'/>
    <vcpupin vcpu='4' cpuset='2'/>
    <vcpupin vcpu='5' cpuset='12'/>
    <vcpupin vcpu='6' cpuset='3'/>
    <vcpupin vcpu='7' cpuset='13'/>
    <vcpupin vcpu='8' cpuset='4'/>
    <vcpupin vcpu='9' cpuset='14'/>
    <vcpupin vcpu='10' cpuset='5'/>
    <vcpupin vcpu='11' cpuset='15'/>
    <vcpupin vcpu='12' cpuset='6'/>
    <vcpupin vcpu='13' cpuset='16'/>
    <vcpupin vcpu='14' cpuset='7'/>
    <vcpupin vcpu='15' cpuset='17'/>
    <vcpupin vcpu='16' cpuset='8'/>
    <vcpupin vcpu='17' cpuset='18'/>
    <vcpupin vcpu='18' cpuset='9'/>
    <vcpupin vcpu='19' cpuset='19'/>
    <type arch='x86_64' machine='pc-q35-3.1'>hvm</type>
    <loader readonly='yes' type='pflash'>/mnt/user/domains/MacinaboxCatalina/ovmf/OVMF_CODE.fd</loader>
  <cpu mode='host-passthrough' check='none'/>
  <clock offset='utc'>
    <timer name='rtc' tickpolicy='catchup'/>
    <timer name='pit' tickpolicy='delay'/>
    <timer name='hpet' present='no'/>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2' cache='writeback'/>
      <source file='/mnt/user/domains/MacinaboxCatalina/Clover.qcow2'/>
      <target dev='hdc' bus='sata'/>
      <boot order='1'/>
      <address type='drive' controller='0' bus='0' target='0' unit='2'/>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='writeback'/>
      <source file='/mnt/user/domains/MacinaboxCatalina/Catalina-install.img'/>
      <target dev='hdd' bus='sata'/>
      <address type='drive' controller='0' bus='0' target='0' unit='3'/>
    <disk type='block' device='disk'>
      <driver name='qemu' type='raw' cache='none' io='native'/>
      <source dev='/dev/disk/by-id/scsi-3600508e07e72617712548cae0a67320f'/>
      <target dev='hdf' bus='virtio'/>
      <boot order='2'/>
      <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
    <controller type='usb' index='0' model='ich9-ehci1'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x7'/>
    <controller type='usb' index='0' model='ich9-uhci1'>
      <master startport='0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0' multifunction='on'/>
    <controller type='usb' index='0' model='ich9-uhci2'>
      <master startport='2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x1'/>
    <controller type='usb' index='0' model='ich9-uhci3'>
      <master startport='4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x2'/>
    <controller type='sata' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
    <controller type='pci' index='0' model='pcie-root'/>
    <controller type='pci' index='1' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='1' port='0x10'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0' multifunction='on'/>
    <controller type='pci' index='2' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='2' port='0x11'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1'/>
    <controller type='pci' index='3' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='3' port='0x12'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x2'/>
    <controller type='pci' index='4' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='4' port='0x13'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x3'/>
    <controller type='virtio-serial' index='0'>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
    <interface type='bridge'>
      <mac address='52:54:00:1b:48:4a'/>
      <source bridge='br0'/>
      <model type='e1000-82545em'/>
      <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
    <serial type='pty'>
      <target type='isa-serial' port='0'>
        <model name='isa-serial'/>
    <console type='pty'>
      <target type='serial' port='0'/>
    <channel type='unix'>
      <target type='virtio' name='org.qemu.guest_agent.0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    <input type='tablet' bus='usb'>
      <address type='usb' bus='0' port='1'/>
    <input type='mouse' bus='ps2'/>
    <input type='keyboard' bus='ps2'/>
    <graphics type='vnc' port='-1' autoport='yes' websocket='-1' listen='' keymap='en-us'>
      <listen type='address' address=''/>
      <model type='qxl' ram='65536' vram='65536' vgamem='16384' heads='1' primary='yes'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
    <hostdev mode='subsystem' type='usb' managed='no'>
        <vendor id='0x046d'/>
        <product id='0xc52b'/>
      <address type='usb' bus='0' port='2'/>
    <memballoon model='virtio'>
      <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
    <qemu:arg value='-usb'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='usb-kbd,bus=usb-bus.0'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='************************'/>
    <qemu:arg value='-smbios'/>
    <qemu:arg value='type=2'/>
    <qemu:arg value='-cpu'/>
    <qemu:arg value='host,+hypervisor,migratable=no,-erms,+invtsc,kvm=on,+topoext,+invtsc,+avx,+aes,+xsave,+xsaveopt,+ssse3,+sse4_2,+popcnt,+arat,+pclmuldq,+pdpe1gb,+rdtscp,+vme,+umip,check'/>


Link to comment

So I'm having a torrid time attempting to get  HEVC enabled on my RX570 in Mojave VM. Hopefully someone here can offer some insights.


I have a long-standing Mojave VM booting from a physical SSD.  EFI partition is on the SSD as well, so only one disk configured in VM XML.


Clover v. 4xxx is installed in EFI. RX570 is passed through and is working with Metal support and H.265 reported in VidProc. HEVC remains resolutely disabled in VidProc despite my best attempts.


I've configured my SMBIOS to  be a wide variety of systems from MacPro 1,1 through 7,1 and iMacPro 1,1, all to no avail.


There are a few points of note;

  • I cannot get Clover to load Lilu/WEG from the /other folder. I must install to /library/extensions using HackInTool for it to show as loaded in ioRegistry. (I have checked that load kexts is set to 'yes' in clover configurator)
  • Despite WEG being loaded, my GPU remains stubbornly attached to parent S28@5 in ioRegistry. I understand this should be GFX0 - but I cannot make this happen
  • I've tried updating to Clover 5xxxx but this just hangs at 'scanning devices'. (I understand that newer versions are more trouble than they are worth - I just thought an update might load kexts from 'other'.


The VM is running very smoothly and is very stable. i'd just like to have it as close to bare metal as possible and HEVC is that elusive functionality I'm chasing.


I want to make one last attempt at this before I go through a full fresh install.


Any tips appreciated.




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.

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.