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


Recommended Posts

16 minutes ago, david279 said:

Headless will not get any sound without using some kinda fancy audio software to route the sound. So you have a little hill to climb. 

Can you recommend a software?  I'm not familiar with one.

 

The HDMI 2K is a device called a "Headless Ghost" HDMI adapter.  It essentially fakes the GPU into thinking a monitor is attached.  Its the only way I could get the GPU to initialize with a display.

Link to comment
37 minutes ago, chalboly said:

New version seems to have few KVM-QEMU related fixes based on the release notes.

yes, I reported the issue about 2 weeks ago, it was related to opencore scanning for cpu type, which had a problem when it is passed through to the vm. The issue happened on qemu 5, which I had on another non unraid box, but better to be ready for next release.

Thanks for the notice about the supplemental update.

  • Thanks 1
Link to comment

I was able to get a working copy of Catalina 15.5 up and running recently.  However, when I benchmark the performance of the VM, with the same number of CPUs (E5-2690v2) against a similar Catalina 15.5 VM I have running in ESXi (same number of CPUs and same processor model), I'm getting significant performance deficiency vs the ESXi VM.  

 

Using Cinebench, the Unraid VM gets around 1500-1600 Cinebench score, vs 3300 with the ESXi VM.  Any thoughts on what could be causing such a a large performance difference? 

Link to comment

Hi. I use Opencore 0.5.9 with 10.15.1 macos version and not detect correctly the FSB frequency. In BIOS write 99 MHz and in the debug log write 91 MHz. The CPUFrequency detect perfect same in BIOS and same in debug log 3393 MHz. How can i solve this? The system clock is slow and sound is crackling.

I use AMD kernel patches.

My config:

Motherboard: Gigabyte GA-F2A88XM-D3H
CPU: AMD Athlon x4 750K
GPU: Sapphire PULSE Radeon RX 580 8GB GDDR5
OS: Catalina 10.15.1

Link to comment
On 6/5/2020 at 2:05 AM, ghost82 said:

Just a link to enable content cache on our mac os vms:

Setting -hypervisor and kvm=off didn't work for me, I still have the VMM flag.

Patching the kernel works, but for example sysctl will not read cpu flags.

I've got a simpler kernel patch that will remove the VMM flag without breaking sysctl, see here. It works well for me, please try it out.

  • Like 1
  • Thanks 1
Link to comment

I feel Ive touched on this before but can't seem to find it anywhere in the forum did we ever sort out the multiple CPU's and displaying correct topology to Mac when not using Penryn CPU's

127936762_ScreenShot2020-06-20at12_05_13pm.png.a881571b5d258d5cd596f869233441f5.png

Thanks if anyone is able to shed some light on this or see if its the same for everyone else

 

<vcpu placement='static'>8</vcpu>
  <vcpus>
    <vcpu id='0' enabled='yes' hotpluggable='no' order='1'/>
    <vcpu id='1' enabled='yes' hotpluggable='yes' order='2'/>
    <vcpu id='2' enabled='yes' hotpluggable='yes' order='3'/>
    <vcpu id='3' enabled='yes' hotpluggable='yes' order='4'/>
    <vcpu id='4' enabled='yes' hotpluggable='yes' order='5'/>
    <vcpu id='5' enabled='yes' hotpluggable='yes' order='6'/>
    <vcpu id='6' enabled='yes' hotpluggable='yes' order='7'/>
    <vcpu id='7' enabled='yes' hotpluggable='yes' order='8'/>
  </vcpus>
  <iothreads>1</iothreads>
  <cputune>
    <vcpupin vcpu='0' cpuset='1'/>
    <vcpupin vcpu='1' cpuset='7'/>
    <vcpupin vcpu='2' cpuset='2'/>
    <vcpupin vcpu='3' cpuset='8'/>
    <vcpupin vcpu='4' cpuset='3'/>
    <vcpupin vcpu='5' cpuset='9'/>
    <vcpupin vcpu='6' cpuset='4'/>
    <vcpupin vcpu='7' cpuset='10'/>
    <iothreadpin iothread='1' cpuset='3,9'/>
  </cputune>
  <features>
    <acpi/>
    <apic/>
  </features>
  <cpu mode='host-passthrough' check='none'>
    <topology sockets='1' cores='8' threads='1'/>
  </cpu>

 

Edited by tpruszin
Link to comment
5 hours ago, tpruszin said:

did we ever sort out the multiple CPU's and displaying correct topology to Mac when not using Penryn CPU's

I'm not 100% sure about this, but I had the same issue and now it's gone and the mac is dyspaying correct topology:

 

topology.png.43e6077e9e5c9a8d54f410b831d95b1c.png

 

topology2.png.7cd3f3cb62aaf53a990200d7840ea2cc.png

 

I think this changed when I changed something in the config.plist of opencore, so you should check:

1- Kernel patches: I have "algrey - cpu_topology_sort -disable _x86_validate_topology" and "algrey - cpuid_set_cpufamily - force CPUFAMILY_INTEL_PENRYN"

2- PlatformInfo data: I think this did the trick, but again I'm not 100% sure: I changed from automatic to manual, spoofing also the cpu type, here is the rellevant part with some fields redacted.

 

	<key>PlatformInfo</key>
	<dict>
		<key>Automatic</key>
		<false/>
		<key>DataHub</key>
		<dict>
			<key>ARTFrequency</key>
			<integer>0</integer>
			<key>BoardProduct</key>
			<string>Mac-7BA5B2D9E42DDD94</string>
			<key>BoardRevision</key>
			<data>CQ==</data>
			<key>DevicePathsSupported</key>
			<integer>1</integer>
			<key>FSBFrequency</key>
			<integer>0</integer>
			<key>InitialTSC</key>
			<integer>0</integer>
			<key>PlatformName</key>
			<string>platform</string>
			<key>SmcPlatform</key>
			<data>ajEzNwAAAAA=</data>
			<key>StartupPowerEvents</key>
			<integer>0</integer>
			<key>SystemProductName</key>
			<string>iMacPro1,1</string>
			<key>SystemSerialNumber</key>
			<string>REDACTED</string>
			<key>SystemUUID</key>
			<string>REDACTED</string>
		</dict>
		<key>Generic</key>
		<dict>
			<key>AdviseWindows</key>
			<false/>
			<key>MLB</key>
			<string>REDACTED</string>
			<key>ROM</key>
			<data>OAFkyD5Q</data>
			<key>SpoofVendor</key>
			<true/>
			<key>SystemProductName</key>
			<string>iMacPro1,1</string>
			<key>SystemSerialNumber</key>
			<string>REDACTED</string>
			<key>SystemUUID</key>
			<string>REDACTED</string>
		</dict>
		<key>PlatformNVRAM</key>
		<dict>
			<key>BID</key>
			<string>Mac-7BA5B2D9E42DDD94</string>
			<key>FirmwareFeatures</key>
			<data>/Y/1PgAAAAA=</data>
			<key>FirmwareFeaturesMask</key>
			<data>/5//PwAAAAA=</data>
			<key>MLB</key>
			<string>REDACTED</string>
			<key>ROM</key>
			<data>OAFkyD5Q</data>
		</dict>
		<key>SMBIOS</key>
		<dict>
			<key>BIOSReleaseDate</key>
			<string>05/13/2020</string>
			<key>BIOSVendor</key>
			<string>Acidanthera</string>
			<key>BIOSVersion</key>
			<string>1037.120.87.0.0</string>
			<key>BoardAssetTag</key>
			<string></string>
			<key>BoardLocationInChassis</key>
			<string></string>
			<key>BoardManufacturer</key>
			<string>Acidanthera</string>
			<key>BoardProduct</key>
			<string>Mac-7BA5B2D9E42DDD94</string>
			<key>BoardSerialNumber</key>
			<string>REDACTED</string>
			<key>BoardType</key>
			<integer>10</integer>
			<key>BoardVersion</key>
			<string>iMacPro1,1</string>
			<key>ChassisAssetTag</key>
			<string></string>
			<key>ChassisManufacturer</key>
			<string>Acidanthera</string>
			<key>ChassisSerialNumber</key>
			<string>REDACTED</string>
			<key>ChassisType</key>
			<integer>13</integer>
			<key>ChassisVersion</key>
			<string>Mac-7BA5B2D9E42DDD94</string>
			<key>FirmwareFeatures</key>
			<data>/Y/1PgAAAAA=</data>
			<key>FirmwareFeaturesMask</key>
			<data>/5//PwAAAAA=</data>
			<key>MemoryFormFactor</key>
			<integer>9</integer>
			<key>PlatformFeature</key>
			<integer>32</integer>
			<key>ProcessorType</key>
			<integer>2561</integer>
			<key>SystemFamily</key>
			<string>iMac Pro</string>
			<key>SystemManufacturer</key>
			<string>Acidanthera</string>
			<key>SystemProductName</key>
			<string>iMacPro1,1</string>
			<key>SystemSKUNumber</key>
			<string></string>
			<key>SystemSerialNumber</key>
			<string>REDACTED</string>
			<key>SystemUUID</key>
			<string>REDACTED</string>
			<key>SystemVersion</key>
			<string>1.0</string>
		</dict>

About the invtsc you need also migratable=no, but you should already have it sorted out.

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

algrey - cpuid_set_cpufamily - force CPUFAMILY_INTEL_PENRYN"

Thankyou that seems to have fixed the topology and interestingly identifies as a QuadCore i7-8700 which obviously doesn't exist. Intel power Gadget showed low Processor Freq which was mainly why I didn't use the Penryn Family flag as to not try and reduce performance but as you can see the benchmark is quite respectable for running 8/12 threads overall. Not overly important I don't think? but I am not able to boot with a rom loaded for my GPU is this necessary anymore but when I define the rom file in XML I can't even show the Post Screen for UEFI so ill keep looking into that. Has anyone noticed any significant differences by loading the ROM? 

Screen Shot 2020-06-21 at 4.47.45 pm.png

Screen Shot 2020-06-21 at 4.48.58 pm.png

Screen Shot 2020-06-21 at 4.56.39 pm.png

Screen Shot 2020-06-21 at 4.54.51 pm.png

Edited by tpruszin
Link to comment
On 6/21/2020 at 9:31 AM, tpruszin said:

but I am not able to boot with a rom loaded for my GPU is this necessary anymore but when I define the rom file in XML I can't even show the Post Screen for UEFI so ill keep looking into that. Has anyone noticed any significant differences by loading the ROM? 

If you can boot without the gpu rom and you don't have issues, you don't need it ;)

Are you sure you are using a proper rom file?Don't download from external website, make a dump of your own gpu.

Link to comment
1 hour ago, ghost82 said:

If you can boot without the gpu rom and you don't have issues, you don't need it ;)

Are you sure you are using a proper rom file?Don't download from external website, make a dump of your own gpu.

Yep Dumped it by dual booting into windows! But that's great if there's no benefit from it then it works fine without 🙂

 

Link to comment

Not unexpected and a bit early in the game ;-)

But just released developer beta for Big Sur, just gave it a spin on my catalina (latest) opencore vm , but immediately stuck .

No surprice there, but just for the records...

 

Still see a cpu core pinned to 100% so who knows what it is doing. Will see when i wake up in the morning ;-)

 

1847971567_bigsur.jpg.e19db454064eadaba541fc7152ae0314.jpg

Edited by glennv
Link to comment
Not unexpected and a bit early in the game wink.png&key=25b749846ccc4c9d0fa70ed42e970abbf1aff065209da624d746163f368ef41c

But just released developer beta for Big Sur, just gave it a spin on my catalina (latest) opencore vm , but immediately stuck .

No surprice there, but just for the records...

 

Still see a cpu core pinned to 100% so who knows what it is doing. Will see when i wake up in the morning wink.png&key=25b749846ccc4c9d0fa70ed42e970abbf1aff065209da624d746163f368ef41c

 

1847971567_bigsur.jpg.e19db454064eadaba541fc7152ae0314.jpg

Thanks for trying it out! I don’t think it’ll work until there is official support with Opencore.

 

One of the new features of macOS 11 is a signed system volume, similar to iOS, I hope that doesn’t affect anything in the hackintosh world (beside the transition to a custom silicon).

Link to comment

Recently purchased a usb controller to get my DAC (Schiit Modi 3) to work with my Catalina build... And while MOST usb devices work like mouse and keyboard, Unfortunately, sound devices do not.

 

USB Controller: https://www.ebay.com.au/itm/PCI-E-PCI-Express-USB-3-0-4-Port-Card-Adapter-Host-Controller-5-Gbps-Win-XP-7-10/124149693629?ssPageName=STRK%3AMEBIDX%3AIT&_trksid=p2057872.m2749.l2649

 

I followed the guide and HDMI audio through my RX 580 works fine, but all usb sound devices do not work. I've tested with my DAC above and also a small CloudX 7.1 mini soundcard.

 

Has anyone encountered and solved this issue?

 

Attaching XML for reference.

<?xml version='1.0' encoding='UTF-8'?>
<domain type='kvm' id='34' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
  <name>MacinaboxCatalina</name>
  <uuid>863be435-328c-4c29-becd-2ef1d059621e</uuid>
  <description>MacOS Catalina</description>
  <metadata>
    <vmtemplate xmlns="unraid" name="Windows 10" icon="/mnt/user/domains/MacinaboxCatalina/icon/catalina.png" os="Catalina"/>
  </metadata>
  <memory unit='KiB'>25165824</memory>
  <currentMemory unit='KiB'>25165824</currentMemory>
  <memoryBacking>
    <nosharepages/>
  </memoryBacking>
  <vcpu placement='static'>3</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='1'/>
    <vcpupin vcpu='1' cpuset='2'/>
    <vcpupin vcpu='2' cpuset='3'/>
  </cputune>
  <resource>
    <partition>/machine</partition>
  </resource>
  <os>
    <type arch='x86_64' machine='pc-q35-3.1'>hvm</type>
    <loader readonly='yes' type='pflash'>/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd</loader>
    <nvram>/etc/libvirt/qemu/nvram/863be435-328c-4c29-becd-2ef1d059621e_VARS-pure-efi.fd</nvram>
  </os>
  <features>
    <acpi/>
    <apic/>
  </features>
  <cpu mode='host-passthrough' check='none'/>
  <clock offset='utc'>
    <timer name='rtc' tickpolicy='catchup'/>
    <timer name='pit' tickpolicy='delay'/>
    <timer name='hpet' present='no'/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/local/sbin/qemu</emulator>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2' cache='writeback'/>
      <source file='/mnt/user/domains/MacinaboxCatalina/Clover.qcow2' index='3'/>
      <backingStore/>
      <target dev='hdc' bus='sata'/>
      <boot order='1'/>
      <alias name='sata0-0-2'/>
      <address type='drive' controller='0' bus='0' target='0' unit='2'/>
    </disk>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='writeback'/>
      <source file='/mnt/user/domains/MacinaboxCatalina/Catalina-install.img' index='2'/>
      <backingStore/>
      <target dev='hdd' bus='sata'/>
      <alias name='sata0-0-3'/>
      <address type='drive' controller='0' bus='0' target='0' unit='3'/>
    </disk>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='writeback'/>
      <source file='/mnt/user/domains/MacinaboxCatalina/macos_disk.img' index='1'/>
      <backingStore/>
      <target dev='hde' bus='sata'/>
      <alias name='sata0-0-4'/>
      <address type='drive' controller='0' bus='0' target='0' unit='4'/>
    </disk>
    <controller type='pci' index='0' model='pcie-root'>
      <alias name='pcie.0'/>
    </controller>
    <controller type='pci' index='1' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='1' port='0x8'/>
      <alias name='pci.1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0' multifunction='on'/>
    </controller>
    <controller type='pci' index='2' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='2' port='0x9'/>
      <alias name='pci.2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
    </controller>
    <controller type='pci' index='3' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='3' port='0xa'/>
      <alias name='pci.3'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
    </controller>
    <controller type='pci' index='4' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='4' port='0x13'/>
      <alias name='pci.4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x3'/>
    </controller>
    <controller type='pci' index='5' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='5' port='0xb'/>
      <alias name='pci.5'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x3'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <alias name='virtio-serial0'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
    </controller>
    <controller type='sata' index='0'>
      <alias name='ide'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
    </controller>
    <controller type='usb' index='0' model='ich9-ehci1'>
      <alias name='usb'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x7'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci1'>
      <alias name='usb'/>
      <master startport='0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x0' multifunction='on'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci2'>
      <alias name='usb'/>
      <master startport='2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x1'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci3'>
      <alias name='usb'/>
      <master startport='4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x2'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:f8:d1:15'/>
      <source bridge='br0'/>
      <target dev='vnet0'/>
      <model type='e1000-82545em'/>
      <alias name='net0'/>
      <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
    </interface>
    <serial type='pty'>
      <source path='/dev/pts/0'/>
      <target type='isa-serial' port='0'>
        <model name='isa-serial'/>
      </target>
      <alias name='serial0'/>
    </serial>
    <console type='pty' tty='/dev/pts/0'>
      <source path='/dev/pts/0'/>
      <target type='serial' port='0'/>
      <alias name='serial0'/>
    </console>
    <channel type='unix'>
      <source mode='bind' path='/var/lib/libvirt/qemu/channel/target/domain-34-MacinaboxCatalina/org.qemu.guest_agent.0'/>
      <target type='virtio' name='org.qemu.guest_agent.0' state='connected'/>
      <alias name='channel0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    </channel>
    <input type='tablet' bus='usb'>
      <alias name='input0'/>
      <address type='usb' bus='0' port='1'/>
    </input>
    <input type='mouse' bus='ps2'>
      <alias name='input1'/>
    </input>
    <input type='keyboard' bus='ps2'>
      <alias name='input2'/>
    </input>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
      </source>
      <alias name='hostdev0'/>
      <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0' multifunction='on'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x01' slot='0x00' function='0x1'/>
      </source>
      <alias name='hostdev1'/>
      <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x1'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
      </source>
      <alias name='hostdev2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
    </hostdev>
    <memballoon model='none'/>
  </devices>
  <qemu:commandline>
    <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='Penryn,kvm=on,vendor=GenuineIntel,+invtsc,vmware-cpuid-freq=on,+pcid,+ssse3,+sse4.2,+popcnt,+avx,+avx2,+aes,+xsave,+xsaveopt,check'/>
  </qemu:commandline>
</domain>

 

Edited by rjbernaldo
Link to comment
1 minute ago, rjbernaldo said:

Recently purchased a usb controller to get my DAC (Schiit Modi 3) to work with my Catalina build... Unfortunately, it's not working.

 

USB Controller: https://www.ebay.com.au/itm/PCI-E-PCI-Express-USB-3-0-4-Port-Card-Adapter-Host-Controller-5-Gbps-Win-XP-7-10/124149693629?ssPageName=STRK%3AMEBIDX%3AIT&_trksid=p2057872.m2749.l2649

 

Most likely, the USB controller chip on that card is not supported by macOS. The eBay listing doesn't specify which it uses; are you able to read the printing on the chip?

 

There is a long post in the MacRumors > Mac Pro forum about supported USB3 cards; the current recommendation is those based on the ASM3142 chip. There are a few around on eBay/Aliexpress. I have one of these these in the mail, I can definitely advise when it arrives if it works correctly.

Link to comment
2 minutes ago, ofawx said:

Most likely, the USB controller chip on that card is not supported by macOS. The eBay listing doesn't specify which it uses; are you able to read the printing on the chip?

 

There is a long post in the MacRumors > Mac Pro forum about supported USB3 cards; the current recommendation is those based on the ASM3142 chip. There are a few around on eBay/Aliexpress. I have one of these these in the mail, I can definitely advise when it arrives if it works correctly.

It's weird though because my keyboard and mouse work, it's only when I plug in usb audio devices...

Link to comment
19 hours ago, rjbernaldo said:

It's weird though because my keyboard and mouse work, it's only when I plug in usb audio devices...

Well, the keyboard and mouse work but its shady, I have to restart the VM around 3 times before the devices plugged into the usb controller actually gets recognised... Sigh.

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.