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


Leoyzen

Recommended Posts

Commit 9324c9e:

https://github.com/acidanthera/OpenCorePkg/commit/9324c9e32c8b1cb714f2869b4fdde72f92d58bf4

in opencore 0.7.2 increases the default MinDate and MinVersion of APFS driver date/version to that of Big Sur.

If you have default values of MinDate and MinVersion (equal to integer=0) in your config.plist, you are running an os older than big sur and you updated opencore to a version equal or subsequent to that commit, you need to either disable, setting MinDate and MinVersion to -1 (integer) (not recommended), or manually set MinDate and MinVersion in the config.plist.

For example, if you're running Catalina, with MinDate and MinVersion equal to zero, you will not be able to boot, since the minimum date/version of the apfs driver is that of big sur.

 

To boot Catalina (at least 10.15.4) you need to set these values in the apfs section of the config.plist:

			<key>MinDate</key>
			<integer>20200306</integer>
			<key>MinVersion</key>
			<integer>1412101001000000</integer>

 

Other values:

High Sierra (10.13.6 - 17G12034)

MinDate: 20180621

MinVersion: 748077008000000

 

Mojave (10.14.6 - 18G4032)

MinDate: 20190820

MinVersion: 945275007000000

Edited by ghost82
Link to comment
17 hours ago, pavo said:

Let me know what you guys think.... https://github.com/Pavo-IM/Hackinabox

Hi,

after reading the readme.md here are some suggestions:

1.

Quote

4.4) Next, scroll down on the page and select "3.0 qemu XHCI" from the drop down menu for USB Controller. This is really personal preference regarding the selection of USB Controller, and doesn't really matter since macOS doesn't support any of them.

Not sure I understood well, it's true that 3.0 qemu XHCI is not supported by mac os, but ich9-ehci and ich9-uhci emulated usb 2/1 controllers are perfectly fine.

 

2.

Quote

4.5) Make sure that Network Bridge is set to "br0" from the dropdown menu, and Network Model is set to "virtio-net" from the appropriate drop down selection as well.

this is very minor, but virtio instead of virtio-net, though it's older, performs better, at least in iperf3 tests.

 

3.

Quote

paste it at the end of line 118 as shown in the corresponding picture, making sure to change the last zero in function='0x0' to function='0x1' after you're done doing the prior pasting job, since it needs to be changed, also.

1.png.63bdfd59c4bedb54ffe5682b7a50a0ed.png

Referring to the above image, I think there's something wrong: multifunction='on' should not be inside <source></source> but inside <address>

Also, function 0x01 should be in line 127.

In line 118 function should be 0x0 since it's the source video.

 

4.

Quote

4.10) On the line below 120 it says bus=‘0x03’ well at 127 change bus=‘0x04’ to 0x03 to match the gpu thats sets it as one device so the audio works.

1.png.63bdfd59c4bedb54ffe5682b7a50a0ed.png

Same here, note that both images are the same.

 

5.

BigSur.xml

The emulated ethernet is connected to bus 0x08: I would connect it to bus 0x00 to have it built-in without adding any additional code to config.plist

 

6. In config.plist:

<key>csr-active-config</key>

<data>

AAAAAA==

</data>

 

I would delete at all this.

This is a "hack" to have more control over sip, but csrutil will not work in recovery in big sur; issue was added here:

https://github.com/acidanthera/bugtracker/issues/1728

 

Turned out it was an issue with my config.plist, with WriteFlash=false; right value for WriteFlash is true.

 

(7.)

<qemu:arg value='host,vendor=GenuineIntel,+invtsc,kvm=on'/>

 

Premise: I don't own any amd cpu, but cpu=host means that you are able to boot without any amd patch?I'm asking because host means cpu passthrough.

Edited by ghost82
Link to comment
10 minutes ago, ghost82 said:

1.

Not sure I understood well, it's true that 3.0 qemu XHCI is not supported by mac os, but ich9-ehci1 and ich9-uhci1 emulated usb 2/1 controllers are perfectly fine.

Good to know... thank you.

11 minutes ago, ghost82 said:

2.

this is very minor, but virtio instead of virtio-net, though it's older, performs better, at least in iperf3 tests.

Will have to test this out because I have 10Gb transfer rate from external NAS without any issues.

 

12 minutes ago, ghost82 said:

3.

Referring to the above image, I think there's something wrong: multifunction='on' should not be inside <source></source> but inside <address>

Also, function 0x01 should be in line 127.

In line 118 function should be 0x0 since it's the source video.

4.

Same here, note that both images are the same.

Completely agree... Forgot to fix the picture

 

12 minutes ago, ghost82 said:

5.

BigSur.xml

The emulated ethernet is connected to bus 0x08: I would connect it to bus 0x00 to have it built-in without adding any additional code to config.plist

Will have to test this, I use SSDTs to create ACPI devices for all my passed-through devices which makes them show as internal.

 

14 minutes ago, ghost82 said:

6. In config.plist:

<key>csr-active-config</key>

<data>

AAAAAA==

</data>

 

I would delete at all this.

This is a "hack" to have more control over sip, but csrutil will not work in recovery in big sur; issue was added here:

https://github.com/acidanthera/bugtracker/issues/1728

Have been using these settings for both BigSur and Monterey and csrutil works perfectly fine in recovery. Having control over SIP doesn't mean you should. With using kext injection within OpenCore and the varies plugins you can use for Lilu, I haven't ran into any reason to make changes too SIP. Plus it makes it more secure operationally.

 

17 minutes ago, ghost82 said:

(7.)

<qemu:arg value='host,vendor=GenuineIntel,+invtsc,kvm=on'/>

 

Premise: I don't own any amd cpu, but cpu=host means that you are able to boot without any amd patch?I'm asking because host means cpu passthrough.

Correct using `cpu=host` does mean host passthrough, but in order to make a AMD cpu have a vendor-id of `GenuineIntel` You must provide the cpu type before it, hence the reason for cpu=host. Using it this way doesn't require any AMD kernel patches and passes through ALL host CPU features that is supported by the OS, including 7leaf cpu features. As you can see I am also using a Intel CPUID in the config.plist for OpenCore to emulate an Intel CPU.

  • Like 1
Link to comment
25 minutes ago, pavo said:

Will have to test this out because I have 10Gb transfer rate from external NAS without any issues.

Well, in theory nothing changes..I'm using the emulated ethernet to connect to my host with smb, so the transfer speed is limited by the writing performance of my sata ssd.

However iperf3 tests are much better with virtio. Here were my test results:

 

25 minutes ago, pavo said:

I use SSDTs to create ACPI devices for all my passed-through devices which makes them show as internal

This is without any doubt a valid solution, together with device properties inside config.plist, but I prefer also to have the most correct topology in the xml; again this is not a must, it's more my "obsession" for keeping things in their more correct places.

 

25 minutes ago, pavo said:

Have been using these settings for both BigSur and Monterey and csrutil works perfectly fine in recovery

Then it seems it's my issue, it's very strange that if I add that nvram variable csrutil doesn't work and if I delete it it works without issue...will see what (and if) acidanthera will say about it.

 

25 minutes ago, pavo said:

Correct using `cpu=host` does mean host passthrough, but in order to make a AMD cpu have a vendor-id of `GenuineIntel` You must provide the cpu type before it, hence the reason for cpu=host. Using it this way doesn't require any AMD kernel patches and passes through ALL host CPU features that is supported by the OS

Good to know, thanks, I though you needed the "ton of patches" with cpu "host".

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

@ghost82 - I can use some help from you. I am on OC 0.7.2 with Monterey Public beta (macOS 12.0 21A5294g).

I have a ASUS PRIME Z490-A z490 motherboard with i9-10850K CPU. 

My IOMMU groups are attached - I have passed through the following to the VM

  1. RX 560
  2. USB PCI card FL1100
  3. BCM4360 802.11ac Wireless Network Adapter - This one is a Fenvi T919

I have everything working fine (wifi/ continuity/handoff/ unlock using Apple Watch) though I do see that USB devices have some issues after sleep/wake. I think it is due to what you described in your post on page 32. I have tried injecting the 'USBPowerFresco.kext' which does not seem to help (Added to the kexts folder and in config.plist - also set it to enabled)

I compared your IOReg to mine and after injection nothing changes for me. 

 

Maybe I need to inject all 3 - which I tried but it did not seem to help. Maybe I am doing it wrong because I do not understand the LIBVIRT XML too well.  I tried reading your post on it and went over my head. 

 

The following is my XML and Hackintool PCI details.  I can provide some IOreg screenshots if needed. 

Any help is appreciated !

 

<?xml version='1.0' encoding='UTF-8'?>
<domain type='kvm' id='23' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
  <name>MacOS Monterey</name>
  <uuid>8439805b-181f-eee5-7d63-3c7265084a34</uuid>
  <metadata>
    <vmtemplate xmlns="unraid" name="Linux" icon="linux.png" os="linux"/>
  </metadata>
  <memory unit='KiB'>16777216</memory>
  <currentMemory unit='KiB'>16777216</currentMemory>
  <memoryBacking>
    <nosharepages/>
  </memoryBacking>
  <vcpu placement='static'>8</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='2'/>
    <vcpupin vcpu='1' cpuset='12'/>
    <vcpupin vcpu='2' cpuset='4'/>
    <vcpupin vcpu='3' cpuset='14'/>
    <vcpupin vcpu='4' cpuset='6'/>
    <vcpupin vcpu='5' cpuset='16'/>
    <vcpupin vcpu='6' cpuset='8'/>
    <vcpupin vcpu='7' cpuset='18'/>
  </cputune>
  <resource>
    <partition>/machine</partition>
  </resource>
  <os>
    <type arch='x86_64' machine='pc-q35-5.1'>hvm</type>
    <loader readonly='yes' type='pflash'>/usr/share/qemu/ovmf-x64/OVMF_CODE_Mac.fd</loader>
    <nvram>/etc/libvirt/qemu/nvram/OVMF_VARS_Mac.fd</nvram>
  </os>
  <features>
    <acpi/>
    <apic/>
  </features>
  <cpu mode='host-passthrough' check='none' migratable='on'>
    <topology sockets='1' dies='1' cores='4' threads='2'/>
    <cache mode='passthrough'/>
  </cpu>
  <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='raw' cache='writeback'/>
      <source file='/mnt/disks/Samsung_SSD_860_EVO_1TB_S5B3NR0NA06756R/macos_disk.img' index='1'/>
      <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>
    <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='0xb'/>
      <alias name='pci.4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x3'/>
    </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='qemu-xhci'>
      <alias name='usb'/>
      <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:3b:85:02'/>
      <source bridge='br0'/>
      <target dev='vnet0'/>
      <model type='e1000-82545em'/>
      <alias name='net0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </interface>
    <input type='mouse' bus='ps2'>
      <alias name='input0'/>
    </input>
    <input type='keyboard' bus='ps2'>
      <alias name='input1'/>
    </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'/>
      <rom file='/mnt/user/isos/vbios/amd560.rom'/>
      <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='0x03' slot='0x00' function='0x0'/>
      </source>
      <alias name='hostdev2'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x70' slot='0x00' function='0x0'/>
      </source>
      <alias name='hostdev3'/>
      <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
    </hostdev>
    <memballoon model='none'/>
  </devices>
  <seclabel type='dynamic' model='dac' relabel='yes'>
    <label>+0:+100</label>
    <imagelabel>+0:+100</imagelabel>
  </seclabel>
  <qemu:commandline>
    <qemu:arg value='-device'/>
    <qemu:arg value='isa-applesmc,osk=xxxx'/>
    <qemu:arg value='-cpu'/>
    <qemu:arg value='host,vendor=GenuineIntel,+hypervisor,+invtsc,kvm=on,vmware-cpuid-freq=on'/>
  </qemu:commandline>
</domain>

 

 

 

Screenshot 2021-08-08 at 8.44.45 PM.png

 

 

Edited by ab5g
Link to comment
32 minutes ago, ab5g said:

 

I compared your IOReg to mine and after injection nothing changes for me

Hi, I'm currently on vacation but I'll return on monday evening.

I need a copy of you ioreg to be able to make the kext.

just run ioregistry explorer, then file-> save (or something similar) and attach the saved file here: I will take a look at it and make the power kext when I'll come back.

  • Like 1
Link to comment
On 8/8/2021 at 9:35 PM, ghost82 said:

Hi, I'm currently on vacation but I'll return on monday evening.

I need a copy of you ioreg to be able to make the kext.

just run ioregistry explorer, then file-> save (or something similar) and attach the saved file here: I will take a look at it and make the power kext when I'll come back.

 

Thanks for taking a look here's the IOREG. I did try to read your instructions again and here's what I came up with for the USBPower kext. I Think it's working now after creating a USB map. I did delete some USB controllers not in use.

 

Appreciate if you can look through once. Is my USB map correct. I selected only a few ports but a lot seem to be green. 

 

Attached is the config.plist , Ioreg and the modified kext.

 

config0.7.2.plist USBPower.kext.zip

Screenshot 2021-08-09 at 3.17.00 PM.png347145986_Screenshot2021-08-09at3_45_33PM.thumb.png.80cdbc696be470777a47c7aa3a693341.png176281455_Screenshot2021-08-09at3_44_45PM.thumb.png.4ca9c59b803ba8bd9deb1ce2ecf571f2.png1901956328_Screenshot2021-08-09at3_44_24PM.thumb.png.f00c1b50ee5ac3db09fbf8754a3b4018.png1676604448_Screenshot2021-08-09at3_43_59PM.thumb.png.1a40b4523c7ba9b2f370ea31a867f13b.png

 

Edited by ab5g
Link to comment
15 hours ago, ab5g said:

Attached is the config.plist , Ioreg and the modified kext.

 

Ok, let's try..

I see that you have an emulated controller too, the qemu-xhci: this is new for me, as I thought it didn't work with apple, I knew that only ehci (usb 2) and uhci companion (usb 1) worked with apple, but things may have changed and I need to test it (in the following days).

In the meantime, since you don't have attached anything to that emulated controller, delete it from the xml of the vm, so to exclude any possible issue; delete this block of code:

    <controller type='usb' index='0' model='qemu-xhci'>
      <alias name='usb'/>
      <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
    </controller>

 

Then, download the attached kext (only for your fresco), which maps ports and inject power values.

 

In the config.plist disable the usb part (set Enabled to false) :

			<dict>
				<key>Comment</key>
				<string>USB 2.0 Injection</string>
				<key>Enabled</key>
				<false/>
				<key>Path</key>
				<string>SSDT-EHCI.aml</string>
			</dict>

 

Can you describe more into details what issues you have with usb devices?

How are you managing sleep/wake?is it set in the vm?How are you waking the vm?

 

I don't use at all sleep/wake in the mac os vm, but if you describe what you are doing since I have the same fresco card I can try to reproduce the issue..

USBPower.kext.zip

Edited by ghost82
  • Like 1
Link to comment
11 hours ago, ghost82 said:

Can you describe more into details what issues you have with usb devices?

How are you managing sleep/wake?is it set in the vm?How are you waking the vm?

 

I don't use at all sleep/wake in the mac os vm, but if you describe what you are doing since I have the same fresco card I can try to reproduce the issue..

 

 

Thank you for the updated Kext. 

I get the system to sleep from the Apple Menu  then Sleep.  I have disabled automatic sleep. I would generally get the system to sleep when im away. I wake it up through a 'apple shortcut' command on my iPhone. The command logs onto the unraid server using SSH and runs the 'virsh resume guest1' to resume it from sleep. 

 

Sleep/wake generally works fine

  1. My watch is able to unlock the machine when it wakes up
  2. Bluetooth mouse and keyboard connect automatically 

 

with the following exceptions

  1. Sometimes some USB devices like webcam and speaker would not connect. Unplugging and plugging brings them back on >> I am thinking this should be now fixed with the USBPower kext. I'll test it for a while and update you.
  2. The second issue is painful. Sometimes while shutting down/ restarting the VM, the unraid server becomes unresponsive and I have to force a manual reboot. I don't have a clue on why this happens. This generally happens when the VM has been up for some time and has also gone through a few sleep/wake cycles. 

 

Edit : For #2 I am thinking its a controller related issue described here - although I'm unsure. 

 

And a possible fix here - https://dortania.github.io/OpenCore-Post-Install/usb/misc/shutdown.htmlal

 

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

For #2 I am thinking its a controller related issue described here - although I'm unsure. 

 

And a possible fix here - https://dortania.github.io/OpenCore-Post-Install/usb/misc/shutdown.htmlal

 

I think it's different: it describes that mac os sometimes restarts instead of shutting down, but it never hangs.

I know these issues, as I had one in my linux box last year related to a bugged bios, which didn't let me completely shutdown my workstation and it took about a year to track and fix the issue...

Moreover, if it's hardware related to the usb controller, all that cards should have the same issue, and it's not the case.

When this happens save a copy of diagnostic maybe there's something useful to track what's happening.

Edited by ghost82
  • Like 1
Link to comment
On 8/9/2021 at 4:24 AM, ab5g said:

Attached is the config.plist , Ioreg and the modified kext.

 

I just noticed from the hackintool screenshots that there was something wrong: you can see all ports were duplicated.

UsbConnector were also wrong: ss are superspeed (usb3), hs are high speed (usb2) and yours were set all to usb3.

Can you attach a new hackintool screenshot with the new kext, just to be sure that everything is ok.

Link to comment
On 8/8/2021 at 2:01 PM, ab5g said:

@ghost82 - I can use some help from you. I am on OC 0.7.2 with Monterey Public beta (macOS 12.0 21A5294g).

I have a ASUS PRIME Z490-A z490 motherboard with i9-10850K CPU. 

My IOMMU groups are attached - I have passed through the following to the VM

  1. RX 560
  2. USB PCI card FL1100
  3. BCM4360 802.11ac Wireless Network Adapter - This one is a Fenvi T919

I have everything working fine (wifi/ continuity/handoff/ unlock using Apple Watch) though I do see that USB devices have some issues after sleep/wake. I think it is due to what you described in your post on page 32. I have tried injecting the 'USBPowerFresco.kext' which does not seem to help (Added to the kexts folder and in config.plist - also set it to enabled)

I compared your IOReg to mine and after injection nothing changes for me. 

 

Maybe I need to inject all 3 - which I tried but it did not seem to help. Maybe I am doing it wrong because I do not understand the LIBVIRT XML too well.  I tried reading your post on it and went over my head. 

 

The following is my XML and Hackintool PCI details.  I can provide some IOreg screenshots if needed. 

Any help is appreciated !

 












<?xml version='1.0' encoding='UTF-8'?>
<domain type='kvm' id='17' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
  <name>macOS Monterey</name>
  <uuid>dbb25c8a-e8c1-41c1-a80f-51df8a7e2357</uuid>
  <description>macOS Monterey</description>
  <metadata>
    <vmtemplate xmlns="unraid" name="Windows 10" icon="default.png" os="osx"/>
  </metadata>
  <memory unit='KiB'>16777216</memory>
  <currentMemory unit='KiB'>16777216</currentMemory>
  <memoryBacking>
    <nosharepages/>
  </memoryBacking>
  <vcpu placement='static'>8</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='0'/>
    <vcpupin vcpu='1' cpuset='10'/>
    <vcpupin vcpu='2' cpuset='2'/>
    <vcpupin vcpu='3' cpuset='12'/>
    <vcpupin vcpu='4' cpuset='4'/>
    <vcpupin vcpu='5' cpuset='14'/>
    <vcpupin vcpu='6' cpuset='6'/>
    <vcpupin vcpu='7' cpuset='16'/>
  </cputune>
  <resource>
    <partition>/machine</partition>
  </resource>
  <os>
    <type arch='x86_64' machine='pc-q35-4.2'>hvm</type>
    <loader readonly='yes' type='pflash'>/mnt/user/system/custom_ovmf/Macinabox_CODE-pure-efi.fd</loader>
    <nvram>/etc/libvirt/qemu/nvram/dbb25c8a-e8c1-41c1-a80f-51df8a7e2357_VARS-pure-efi.fd</nvram>
  </os>
  <features>
    <acpi/>
    <apic/>
  </features>
  <cpu mode='host-passthrough' check='none' migratable='on'>
    <topology sockets='1' dies='1' cores='4' threads='2'/>
    <cache mode='passthrough'/>
  </cpu>
  <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='raw' cache='writeback'/>
      <source file='/mnt/disks/Samsung_SSD_860_EVO_1TB/macos_disk.img' index='1'/>
      <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>
    <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='0x14'/>
      <alias name='pci.5'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x4'/>
    </controller>
    <controller type='pci' index='6' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='6' port='0xb'/>
      <alias name='pci.6'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x3'/>
    </controller>
    <controller type='pci' index='7' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='7' port='0xc'/>
      <alias name='pci.7'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x4'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <alias name='virtio-serial0'/>
      <address type='pci' domain='0x0000' bus='0x05' 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:3b:85:02'/>
      <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-17-macOS Monterey/org.qemu.guest_agent.0'/>
      <target type='virtio' name='org.qemu.guest_agent.0' state='disconnected'/>
      <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'/>
      <rom file='/mnt/user/isos/vbios/amd560.rom'/>
      <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='0x03' slot='0x00' function='0x0'/>
      </source>
      <alias name='hostdev2'/>
      <address type='pci' domain='0x0000' bus='0x06' slot='0x00' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x70' slot='0x00' function='0x0'/>
      </source>
      <alias name='hostdev3'/>
      <address type='pci' domain='0x0000' bus='0x07' slot='0x00' function='0x0'/>
    </hostdev>
    <memballoon model='none'/>
  </devices>
  <seclabel type='dynamic' model='dac' relabel='yes'>
    <label>+0:+100</label>
    <imagelabel>+0:+100</imagelabel>
  </seclabel>
  <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='isa-applesmc,osk=xxxxx'/>
    <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,+aes,+xsave,+xsaveopt,check'/>
  </qemu:commandline>
</domain>

 

 

 

Screenshot 2021-08-08 at 8.44.45 PM.png

Screenshot 2021-08-08 at 8.57.35 PM.png

 

I'm having a few small issues with USB devices also. Am using an FL1100 but not doing anything with kexts etc. Everything works fine 99% of the time but occasionally have a few minor issues. Is there any intro or how to on what kexts and other config needs to be configured?

 

 

Link to comment
2 hours ago, paulmorabi said:

I'm having a few small issues with USB devices also

Please be more accurate and describe what are these issues in details.

You need port map and usb power applied, that's what you can read in the above posts and at page 32 for example.

If you are not able share what @ab5g shared here.

Link to comment
1 hour ago, ghost82 said:

Please be more accurate and describe what are these issues in details.

You need port map and usb power applied, that's what you can read in the above posts and at page 32 for example.

If you are not able share what @ab5g shared here.

 

Issues are minor but mostly with USB devices which go to sleep and then not wake unless disconnected and reconnected. Also, when I reboot with my webcam plugged in, boot hangs on BIOS screen. Hand-off is also not working (blank screen) but doubt this is related. And more generally, also want to learn how to inject kexts and get this working properly.

 

Am running Unraid 6.9.2 on Gigabyte Aorus Pro X570 with AMD 3600XT. I'm passing through an RX570, Fenvi T919 and an FL1100 cards. Running Open OpenCore 0.7.1 and Big Sur 11.5.1 in the VM.

 

The XML config is:

 

<?xml version='1.0' encoding='UTF-8'?>
<domain type='kvm' id='5' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
  <name>OSX</name>
  <uuid>c1cad360-c374-42a3-5160-db74ac775f67</uuid>
  <metadata>
    <vmtemplate xmlns="unraid" name="Linux" icon="BigSur.png" os="linux"/>
  </metadata>
  <memory unit='KiB'>16777216</memory>
  <currentMemory unit='KiB'>16777216</currentMemory>
  <memoryBacking>
    <nosharepages/>
  </memoryBacking>
  <vcpu placement='static'>6</vcpu>
  <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'/>
  </cputune>
  <resource>
    <partition>/machine</partition>
  </resource>
  <os>
    <type arch='x86_64' machine='pc-q35-5.0'>hvm</type>
    <loader readonly='yes' type='pflash'>/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd</loader>
    <nvram>/etc/libvirt/qemu/nvram/c1cad360-c374-42a3-5160-db74ac775f67_VARS-pure-efi.fd</nvram>
  </os>
  <features>
    <acpi/>
    <apic/>
  </features>
  <cpu mode='host-passthrough' check='none' migratable='on'>
    <cache mode='passthrough'/>
    <feature policy='require' name='topoext'/>
  </cpu>
  <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='raw' cache='writeback'/>
      <source file='/mnt/user/domains/OSX Catalina/BigSur.img' index='2'/>
      <backingStore/>
      <target dev='hdc' bus='sata'/>
      <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='qcow2' cache='writeback'/>
      <source file='/mnt/user/domains/OSX Catalina/opencorebasicbigsur.qcow2' index='1'/>
      <backingStore/>
      <target dev='hde' bus='sata'/>
      <boot order='1'/>
      <alias name='sata0-0-4'/>
      <address type='drive' controller='0' bus='0' target='0' unit='4'/>
    </disk>
    <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>
    <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='0x10'/>
      <alias name='pci.1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0' multifunction='on'/>
    </controller>
    <controller type='pci' index='2' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='2' port='0x11'/>
      <alias name='pci.2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1'/>
    </controller>
    <controller type='pci' index='3' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='3' port='0x14'/>
      <alias name='pci.3'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x4'/>
    </controller>
    <controller type='pci' index='4' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='4' port='0x12'/>
      <alias name='pci.4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x2'/>
    </controller>
    <controller type='pci' index='5' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='5' port='0x13'/>
      <alias name='pci.5'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x3'/>
    </controller>
    <controller type='pci' index='6' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='6' port='0x15'/>
      <alias name='pci.6'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x5'/>
    </controller>
    <controller type='pci' index='7' model='pcie-to-pci-bridge'>
      <model name='pcie-pci-bridge'/>
      <alias name='pci.7'/>
      <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <alias name='virtio-serial0'/>
      <address type='pci' domain='0x0000' bus='0x03' 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>
    <serial type='pty'>
      <source path='/dev/pts/1'/>
      <target type='isa-serial' port='0'>
        <model name='isa-serial'/>
      </target>
      <alias name='serial0'/>
    </serial>
    <console type='pty' tty='/dev/pts/1'>
      <source path='/dev/pts/1'/>
      <target type='serial' port='0'/>
      <alias name='serial0'/>
    </console>
    <channel type='unix'>
      <source mode='bind' path='/var/lib/libvirt/qemu/channel/target/domain-5-OSX/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>
    <input type='keyboard' bus='usb'>
      <alias name='input3'/>
      <address type='usb' bus='0' port='3'/>
    </input>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x0a' slot='0x00' function='0x0'/>
      </source>
      <alias name='hostdev0'/>
      <rom file='/mnt/user/domains/OSX Catalina/Ellesmere.rom'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x0a' slot='0x00' function='0x1'/>
      </source>
      <alias name='hostdev1'/>
      <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x06' slot='0x00' function='0x0'/>
      </source>
      <alias name='hostdev2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x0b' slot='0x00' function='0x0'/>
      </source>
      <alias name='hostdev3'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
    </hostdev>
    <memballoon model='none'/>
  </devices>
  <seclabel type='dynamic' model='dac' relabel='yes'>
    <label>+0:+100</label>
    <imagelabel>+0:+100</imagelabel>
  </seclabel>
  <qemu:commandline>
    <qemu:arg value='-device'/>
    <qemu:arg value='isa-applesmc,osk=xxxxxx(c)AppleComputerInc'/>
    <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,+aes,+xsave,+xsaveopt,check'/>
  </qemu:commandline>
</domain>

 

IOMMU groups on Unraid:

image.thumb.png.ea2f2fe11f304a1d4310e07549b24ef7.png

 

Hackintool shows the FL1100 but says nothing about the ports:image.thumb.png.37946174c692a897d7218a082fe38d94.png

 

ioreg shows this for the FL1100:

 

image.thumb.png.9deec8a3bb26611a09099a92278ef202.png

 

I know I need to update the config.plist, add SSDT and load some kexts but not sure which kexts and what to put in each of the files. From reading page 32, I need to copy the kexts, and then update the config.plist with the attached text and good to go?

 

 

 

 

Link to comment
6 hours ago, ghost82 said:

2137260728_Screenshot2021-08-10at9_53_03PM.thumb.png.1fb53004fa7522d84d0613f62d1f575a.png

I just noticed from the hackintool screenshots that there was something wrong: you can see all ports were duplicated.

UsbConnector were also wrong: ss are superspeed (usb3), hs are high speed (usb2) and yours were set all to usb3.

Can you attach a new hackintool screenshot with the new kext, just to be sure that everything is ok.

 

Thank you - The ports looka lot better now. I can't seem to delete the additional USB controller - it keeps coming back in the XML for some reason. Today I updated to RC-6.10 (a possible bug maybe).

Link to comment
3 hours ago, paulmorabi said:

ioreg shows this for the FL1100

Please share a copy of ioreg (file--> save) and a copy of config.plist of your opencore (feel free to send this with a private message if you care about sensite data, like serial number and smbios data)

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

it keeps coming back in the XML for some reason. Today I updated to RC-6.10 (a possible bug maybe).

Thank you; if you are sure you can open a bug report in the appropriate section, to report it.

As far as I know, for a q35 machine, qemu only force injects the sata controller at 00:1f.2, the isa bridge at 00:1f.0, the smbus at 00:1f.3 and the host pci bridge at 00:00.0; I don't know why the qemu developers chose to hardcode the sata controller, I wished we could delete it (for example if we passthorugh a nvme or a sata controller) but it's not possible.

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

Please share a copy of ioreg (file--> save) and a copy of config.plist of your opencore (feel free to send this with a private message if you care about sensite data, like serial number and smbios data)

 

I've just sent over both to you via private message. Thank you!

Link to comment
19 hours ago, paulmorabi said:

 

I've just sent over both to you via private message. Thank you!

Config.plist was sent in pm (replace it in EFI/OC/)

- I added USBPower.kext to config.plist: USB map and power injection, changed writeflash to true (setting it to false caused to me some issues with sip in recovery mode);

 

Copy the attached kext USBPower.kext into EFI/OC/Kexts

 

In your xml replace this;

    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x0a' slot='0x00' function='0x0'/>
      </source>
      <alias name='hostdev0'/>
      <rom file='/mnt/user/domains/OSX Catalina/Ellesmere.rom'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x0a' slot='0x00' function='0x1'/>
      </source>
      <alias name='hostdev1'/>
      <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
    </hostdev>

 

With this:

    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x0a' slot='0x00' function='0x0'/>
      </source>
      <alias name='hostdev0'/>
      <rom file='/mnt/user/domains/OSX Catalina/Ellesmere.rom'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0' multifunction='on'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x0a' slot='0x00' function='0x1'/>
      </source>
      <alias name='hostdev1'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x1'/>
    </hostdev>

 

Having hdmi audio on a different bus causes issues.

 

Check again the usb map in hackintool and let me know.

 

Edited by ghost82
Link to comment
26 minutes ago, ghost82 said:

Config.plist was sent in pm (replace it in EFI/OC/)

- I added USBPower.kext to config.plist: USB map and power injection, changed writeflash to true (setting it to false caused to me some issues with sip in recovery mode);

 

Copy the attached kext USBPower.kext into EFI/OC/Kexts

 

In your xml replace this;



    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x0a' slot='0x00' function='0x0'/>
      </source>
      <alias name='hostdev0'/>
      <rom file='/mnt/user/domains/OSX Catalina/Ellesmere.rom'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x0a' slot='0x00' function='0x1'/>
      </source>
      <alias name='hostdev1'/>
      <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
    </hostdev>

 

With this:



    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x0a' slot='0x00' function='0x0'/>
      </source>
      <alias name='hostdev0'/>
      <rom file='/mnt/user/domains/OSX Catalina/Ellesmere.rom'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0' multifunction='on'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x0a' slot='0x00' function='0x1'/>
      </source>
      <alias name='hostdev1'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x1'/>
    </hostdev>

 

Having hdmi audio on a different bus causes issues.

 

Check again the usb map in hackintool and let me know.

USBPower.kext.zip 2.21 kB · 1 download

 

Thanks for this. I replaced the config.plist and also added the kext.  System froze on Apple logo and loading screen. Is there anything I can do to test further?

 

EDIT just noticed in config.plist it is referring to custom/SSDT-EC-USBX.aml. Do I need this file?

 

I made the other change to the XML also. Thanks.

Edited by paulmorabi
Link to comment
12 hours ago, ghost82 said:

Thank you; if you are sure you can open a bug report in the appropriate section, to report it.

As far as I know, for a q35 machine, qemu only force injects the sata controller at 00:1f.2, the isa bridge at 00:1f.0, the smbus at 00:1f.3 and the host pci bridge at 00:00.0; I don't know why the qemu developers chose to hardcode the sata controller, I wished we could delete it (for example if we passthorugh a nvme or a sata controller) but it's not possible.

 

I suffered another freeze today morning after I tried to reboot the VM. I have the syslog being written to flash and only got nothing on it. The server froze around 10:45

 

Unraid Logs

Aug 11 10:28:54 Jarvis emhttpd: read SMART /dev/sdb
Aug 11 10:48:27 Jarvis kernel: Linux version 5.13.8-Unraid (root@Develop) (gcc (GCC) 10.3.0, GNU ld version 2.36.1-slack15) #1 SMP Wed Aug 4 09:39:46 PDT 2021

 

I also looked at logs in the MacVM and didn't find anything different between a clean reboot and a system Hang. So it must be something to do with KVM.

 

System Freeze on Reboot

1353742177_Screenshot2021-08-11at11_31_59AM.thumb.png.3f3acf47b5b89cad493e676b6f7abccf.png

 

Clear Reboot

582447445_Screenshot2021-08-11at11_36_09AM.thumb.png.a817a2afb11cb14326ca7dc0f5365b3e.png

Would you have any recommendations that I should try ?

 

Edited by ab5g
Link to comment
11 hours ago, paulmorabi said:

EDIT just noticed in config.plist it is referring to custom/SSDT-EC-USBX.aml. Do I need this file?

Yes, you need to inject the fake EC device and USBX.

4 hours ago, ab5g said:

System Freeze on Reboot

1353742177_Screenshot2021-08-11at11_31_59AM.thumb.png.3f3acf47b5b89cad493e676b6f7abccf.png

 

mmm..you are running monterey! Not sure, but you may need to update the whole bootloader. I will prepare one efi; from your xml I think you copied the bootloader in the primary mac os disk and you don't have a separate image file; if this is the case, please pack your efi folder, upload it somewhere (workupload, mega, etc.) and share the link in private message, so I can prepare a new updated efi.

Edited by ghost82
Link to comment
15 minutes ago, ghost82 said:

Yes, you need to inject the fake EC device and USBX.

 

mmm..you are running monterey! Not sure, but you may need to update the whole bootloader. I will prepare one efi; from your xml I think you copied the bootloader in the primary mac os disk and you don't have a separate image file; if this is the case, please pack your efi folder, upload it somewhere (workupload, mega, etc.) and share the link in private message, so I can prepare a new updated efi.

 

I actually have custom/SSDT-EC-USBX.aml already and still freezing on boot. Anything else I should try?

Link to comment
4 minutes ago, paulmorabi said:

Anything else I should try?

 

20 minutes ago, ghost82 said:

mmm..you are running monterey! Not sure, but you may need to update the whole bootloader. I will prepare one efi; from your xml I think you copied the bootloader in the primary mac os disk and you don't have a separate image file; if this is the case, please pack your efi folder, upload it somewhere (workupload, mega, etc.) and share the link in private message, so I can prepare a new updated efi.

 

  • Like 1
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.