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


Leoyzen

824 posts in this topic Last Reply

Recommended Posts

16 minutes ago, paulmorabi said:

Regarding the iso, I did as per this how to and used dmg2img (which technically made a disk image rather than iso).  Then added that as a disk to the VM and booted from it.

Ok, if it boots it works :)

I never tried, so I wrote an alternative which I'm 100% sure it works.

 

16 minutes ago, paulmorabi said:

Not too fussed about nested virtualization so I'll leave it for now.

Something is moving for amd cpu and nested virtualization (if you search around you will find some posts in other forums about this), I have intel, so I cannot test directly, all I know is that you can enable nested virtualization in unraid for amd, but I think it will not work yet in qemu.

 

Quote

BTW when you said the two EFI are compatible, which did you mean? The one in the Github link on the first page? If so, you should be able to upgrade to Big Sur without any EFI change?

My EFI is heavily customized because of different injected device properties, network, audio, custom smbios data, lpc,.., I started to use opencore before that github page.

However, I'm quite sure the actual efi to boot catalina will work for big sur, opencore team is adjusting things and I'm sure it will be ready for the official stable release.

My efi to boot Catalina is working to boot big sur (I'm speaking about general quirks, not customized ones).

 

As you can see differences are:
1- different address to specify en0 built-in (not critical to boot)

2- added injected kext for my usb wifi (not critical to boot)

3- different bootpicker (not critical to boot)

4- different scan policy (not critical to boot)

5- different boot args (vsmcgen=1 needed in my case to install)

6- different specification for csr-active-config (not critical to boot)

 

differences.thumb.png.e89b3a944a909aa2ca2fa45a048faa4f.png

Edited by ghost82
Link to post
  • Replies 823
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

It is time to start a new thread and share my tips, and we can discuss here. For those who don't have much information, see  SpaceInvaderOne's **VIDEO GUIDE** How to Install MacOS Mojave or High

Good news, no more AMD reset bug with RX 6xxx XT series GPUs in macOS 11.4 beta 1 on UnRAID.

Latest release of OVMF_CODE.fd and OVMF_VARS.fd from edk2, v. 202102 published today. Compiled in kali linux with gcc, tested and working. Enjoy edk2-OVMF-202102-Stable-RELEASE-GCC5-Kali.

Posted Images

12 minutes ago, ghost82 said:

Ok, if it boots it works :)

I never tried, so I wrote an alternative which I'm 100% sure it works.

 

Something is moving for amd cpu and nested virtualization (if you search around you will find some posts in other forums about this), I have intel, so I cannot test directly, all I know is that you can enable nested virtualization in unraid for amd, but I think it will not work yet in qemu.

 

My EFI is heavily customized because of different injected device properties, network, audio, custom smbios data, lpc,.., I started to use opencore before that github page.

However, I'm quite sure the actual efi to boot catalina will work for big sur, opencore team is adjusting things and I'm sure it will be ready for the official stable release.

My efi to boot Catalina is working to boot big sur (I'm speaking about general quirks, not customized ones).

 

I'll do some searching for nested virtualization in AMD. Thanks.

 

Re: EFI, I'll start with the GitHub link and wait for OpenCore to get updated when Big Sur is officially released. I noticed minor glitches in my Proxmox based Big Sur OSX VM after upgrading between the betas so better to stay stable than on the cutting edge!

 

Link to post
2 minutes ago, paulmorabi said:

better to stay stable than on the cutting edge!

100% agree. I installed big sur in a different vm only for fun and to test and report bugs/issues in opencore, so to be ready for the stable release.

Not to be used, at least in my opinion as an everyday machine.

Edited by ghost82
Link to post

edk2-OVMF 202008 stable released 5 days ago.

Attached compiled OVMF_CODE.fd and OVMF_VARS.fd

Tested and working good with opencore and Catalina/Big Sur (latest versions)

 

Update: attachment removed, please read here:

 

Edited by ghost82
Link to post

Hi,

 

I've set up my Unraid and am trying to get OpenCore sorted and my VM booted.

 

Firstly, my libvirt config is her:

 

<?xml version='1.0' encoding='UTF-8'?>
<domain type='kvm'>
  <name>OSX Catalina</name>
  <uuid>fe4fb58e-51df-092b-3abf-9214097e89fc</uuid>
  <metadata>
    <vmtemplate xmlns="unraid" name="Linux" icon="default.png" os="linux"/>
  </metadata>
  <memory unit='KiB'>8388608</memory>
  <currentMemory unit='KiB'>8388608</currentMemory>
  <memoryBacking>
    <nosharepages/>
  </memoryBacking>
  <vcpu placement='static'>3</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='0'/>
    <vcpupin vcpu='1' cpuset='2'/>
    <vcpupin vcpu='2' cpuset='4'/>
  </cputune>
  #<os>
  #  <type arch='x86_64' machine='pc-q35-5.0'>hvm</type>
  #  <loader readonly='yes' type='pflash'>/usr/share/qemu/osx/OVMF_CODE.fd</loader>
  #  <nvram>/etc/libvirt/qemu/nvram/OSX_OVMF_VARS.fd</nvram>
  #</os>
  <os>
    <type arch='x86_64' machine='pc-q35-5.0'>hvm</type>
    <loader readonly='yes' type='pflash'>/usr/share/qemu/ovmf-x64/OVMF-pure-efi.fd</loader>
    <nvram>/etc/libvirt/qemu/nvram/fe4fb58e-51df-092b-3abf-9214097e89fc_VARS-pure-efi.fd</nvram>
    </os>
  <features>
    <acpi/>
    <apic/>
  </features>
  <cpu mode='host-passthrough' check='none'>
    <topology sockets='1' dies='1' cores='3' threads='1'/>
    <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/vdisk1.img'/>
      <target dev='hdc' bus='sata'/>
      <address type='drive' controller='0' bus='0' target='0' unit='2'/>
    </disk>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='writeback' io='threads'/>
      <source file='/mnt/user/domains/OSX Catalina/Catalina-installer.img'/>
      <target dev='hdd' bus='sata'/>
      <address type='drive' controller='0' bus='0' target='0' unit='3'/>
    </disk>
    <disk type='file' device='disk'>
      <driver name='qemu' type='qcow2' cache='writeback'/>
      <source file='/mnt/user/domains/OSX Catalina/OpenCoreEFI.qcow2'/>
      <target dev='hde' bus='sata'/>
      <boot order='1'/>
      <address type='drive' controller='0' bus='0' target='0' unit='4'/>
    </disk>
    <controller type='usb' index='0' model='ich9-ehci1'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x7'/>
    </controller>
    <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>
    <controller type='usb' index='0' model='ich9-uhci2'>
      <master startport='2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x1'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci3'>
      <master startport='4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x2'/>
    </controller>
    <controller type='sata' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
    </controller>
    <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>
    <controller type='pci' index='2' model='pcie-to-pci-bridge'>
      <model name='pcie-pci-bridge'/>
      <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
    </controller>
    <controller type='pci' index='3' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='3' port='0x11'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1'/>
    </controller>
    <controller type='pci' index='4' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='4' port='0x12'/>
      <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'/>
      <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='0x14'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x4'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:6e:40:06'/>
      <source bridge='br0'/>
      <model type='virtio-net'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x01' function='0x0'/>
    </interface>
    <serial type='pty'>
      <target type='isa-serial' port='0'>
        <model name='isa-serial'/>
      </target>
    </serial>
    <console type='pty'>
      <target type='serial' port='0'/>
    </console>
    <channel type='unix'>
      <target type='virtio' name='org.qemu.guest_agent.0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    </channel>
    <input type='tablet' bus='usb'>
      <address type='usb' bus='0' port='1'/>
    </input>
    <input type='mouse' bus='ps2'/>
    <input type='keyboard' bus='ps2'/>
    <graphics type='vnc' port='-1' autoport='yes' websocket='-1' listen='0.0.0.0' keymap='en-us'>
      <listen type='address' address='0.0.0.0'/>
    </graphics>
    <video>
      <model type='qxl' ram='65536' vram='65536' vgamem='16384' heads='1' primary='yes'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
    </video>
    <memballoon model='virtio'>
      <address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
    </memballoon>
  </devices>
  <qemu:commandline>
    <qemu:arg value='-cpu'/>
    <qemu:arg value='Penryn,vendor=GenuineIntel,+hypervisor,+invtsc,kvm=on,+fma,+avx,+avx2,+aes,+ssse3,+sse4_2,+popcnt,+sse4a,+bmi1,+bmi2'/>
    </qemu:commandline>
</domain>

 

When I generate a OpenCore qcow2 image myself using the instructions provided, the system boots but the VNC connection flickers between a small and big screen endlessly. If I quit and reconnect then it shows only a blank screen. I notice someone had a similiar issue and a debug image was provided. If I use this, I can boot OSX but get the following error:

 

Quote

AAPL: [EB|`B:WFDW] Err(0xE), 0 @ LocHB 71B4903C-14EC-42C4-BDC6-CE1449930E49

AAPL: [EB|#LOG:DT] 2020-05-04T18:01:36

AAPL: [EB|#LOG:EXITBS:START] 2020-05-04T18:01:36

 

From a search around, this can be because of missing drivers or kexts?

 

Any help with this would be really appreciated. I had OSX running well under Proxmox but am completely new to Unraid.

 

Thanks!

Link to post
10 minutes ago, david279 said:

Try removing this topology line in your xml and try to boot it again.

 

<topology sockets='1' dies='1' cores='3' threads='1'/>

 

Also it may be fixed but hack VMs used to act funny with odd assignments of cores to the VM.

 

 

Removing that line moves me forward a little. I get a Kernel panic now.

 

I tried changing CPU cores to 2 and it gave the same panic.

Link to post
3 hours ago, david279 said:

Can you get a pic of the panic?

Here

 

EDIT: I've tried changing various aspects of the config such as graphics, adding the smbios and Apple key flags etc. and the error is always the same. If it helps, I'm using the latest beta Unraid.

 

EDIT 2: I tried the latest qcow2 images from kholia/OSX-KVM repository. The standard one OpenCore.qcow2 gives the same kernel panic. The passthrough image hangs at the Apple logo. I keep reading about people loading kexts etc. but from what I've seen within this thread, it should be possible to use these images to get up and running with USB, GPU pass-through etc. I'm really stumped!

Edited by paulmorabi
Link to post
9 hours ago, david279 said:

If you have any kernel patches in the config.plist disabled them. If they are marked as true change them to false.

OK so using the OpenCore from Leoyzen. I disabled first WhateverGreen and Lilu. This led to a bootloop at the Tiancore logo. I then disabled all of the other kernel modules and it's doing the same thing.

 

Re-enabling them, and at the point where it should boot the UEFI the screen flashes and changes size between big and small and occasionally displays a graphical glitch.

Edited by paulmorabi
Link to post

Find these in the config.plist and set them to false

 

<dict>
				<key>Base</key>
				<string>_cpu_topology_sort</string>
				<key>Comment</key>
				<string>algrey - cpu_topology_sort -disable _x86_validate_topology</string>
				<key>Count</key>
				<integer>1</integer>
				<key>Enabled</key>
				<true/>
				<key>Find</key>
				<data>6AAA//8=</data>
				<key>Identifier</key>
				<string>kernel</string>
				<key>Limit</key>
				<integer>0</integer>
				<key>Mask</key>
				<data>/wAA//8=</data>
				<key>MaxKernel</key>
				<string>19.99.99</string>
				<key>MinKernel</key>
				<string>17.0.0</string>
				<key>Replace</key>
				<data>Dx9EAAA=</data>
				<key>ReplaceMask</key>
				<data></data>
				<key>Skip</key>
				<integer>0</integer>
			</dict>
			<dict>
				<key>Base</key>
				<string></string>
				<key>Comment</key>
				<string>algrey - cpuid_set_cpufamily - force CPUFAMILY_INTEL_PENRYN</string>
				<key>Count</key>
				<integer>1</integer>
				<key>Enabled</key>
				<true/>
				<key>Find</key>
				<data>MduAPQAAAAAGdQA=</data>
				<key>Identifier</key>
				<string>kernel</string>
				<key>Limit</key>
				<integer>0</integer>
				<key>Mask</key>
				<data>/////wAAAP///wA=</data>
				<key>MaxKernel</key>
				<string>19.99.99</string>
				<key>MinKernel</key>
				<string>17.0.0</string>
				<key>Replace</key>
				<data>u7xP6njpXQAAAJA=</data>
				<key>ReplaceMask</key>
				<data></data>
				<key>Skip</key>
				<integer>0</integer>
			</dict>
			<dict>
				<key>Base</key>
				<string></string>
				<key>Comment</key>
				<string>Ranem board-id to board-ix</string>
				<key>Count</key>
				<integer>1</integer>
				<key>Enabled</key>
				<true/>
				<key>Find</key>
				<data>Ym9hcmQtaWQ=</data>
				<key>Identifier</key>
				<string>com.apple.driver.AppleGraphicsDevicePolicy</string>
				<key>Limit</key>
				<integer>0</integer>
				<key>Mask</key>
				<data></data>
				<key>MaxKernel</key>
				<string>19.99.99</string>
				<key>MinKernel</key>
				<string>19.0.0</string>
				<key>Replace</key>
				<data>Ym9hcmQtaXg=</data>
				<key>ReplaceMask</key>
				<data></data>
				<key>Skip</key>
				<integer>0</integer>
			</dict>

 

Link to post
3 hours ago, david279 said:

Find these in the config.plist and set them to false

 


<dict>
				<key>Base</key>
				<string>_cpu_topology_sort</string>
				<key>Comment</key>
				<string>algrey - cpu_topology_sort -disable _x86_validate_topology</string>
				<key>Count</key>
				<integer>1</integer>
				<key>Enabled</key>
				<true/>
				<key>Find</key>
				<data>6AAA//8=</data>
				<key>Identifier</key>
				<string>kernel</string>
				<key>Limit</key>
				<integer>0</integer>
				<key>Mask</key>
				<data>/wAA//8=</data>
				<key>MaxKernel</key>
				<string>19.99.99</string>
				<key>MinKernel</key>
				<string>17.0.0</string>
				<key>Replace</key>
				<data>Dx9EAAA=</data>
				<key>ReplaceMask</key>
				<data></data>
				<key>Skip</key>
				<integer>0</integer>
			</dict>
			<dict>
				<key>Base</key>
				<string></string>
				<key>Comment</key>
				<string>algrey - cpuid_set_cpufamily - force CPUFAMILY_INTEL_PENRYN</string>
				<key>Count</key>
				<integer>1</integer>
				<key>Enabled</key>
				<true/>
				<key>Find</key>
				<data>MduAPQAAAAAGdQA=</data>
				<key>Identifier</key>
				<string>kernel</string>
				<key>Limit</key>
				<integer>0</integer>
				<key>Mask</key>
				<data>/////wAAAP///wA=</data>
				<key>MaxKernel</key>
				<string>19.99.99</string>
				<key>MinKernel</key>
				<string>17.0.0</string>
				<key>Replace</key>
				<data>u7xP6njpXQAAAJA=</data>
				<key>ReplaceMask</key>
				<data></data>
				<key>Skip</key>
				<integer>0</integer>
			</dict>
			<dict>
				<key>Base</key>
				<string></string>
				<key>Comment</key>
				<string>Ranem board-id to board-ix</string>
				<key>Count</key>
				<integer>1</integer>
				<key>Enabled</key>
				<true/>
				<key>Find</key>
				<data>Ym9hcmQtaWQ=</data>
				<key>Identifier</key>
				<string>com.apple.driver.AppleGraphicsDevicePolicy</string>
				<key>Limit</key>
				<integer>0</integer>
				<key>Mask</key>
				<data></data>
				<key>MaxKernel</key>
				<string>19.99.99</string>
				<key>MinKernel</key>
				<string>19.0.0</string>
				<key>Replace</key>
				<data>Ym9hcmQtaXg=</data>
				<key>ReplaceMask</key>
				<data></data>
				<key>Skip</key>
				<integer>0</integer>
			</dict>

 

Did this and got the Tianbcore boot loop again.

Link to post
On 9/11/2020 at 4:41 AM, paulmorabi said:

<loader readonly='yes' type='pflash'>/usr/share/qemu/ovmf-x64/OVMF-pure-efi.fd</loader>

<nvram>/etc/libvirt/qemu/nvram/fe4fb58e-51df-092b-3abf-9214097e89fc_VARS-pure-efi.fd</nvram>

Are these correct? Shouldn't point to OVMF_CODE-pure-efi.fd, or did you rename the file?

Edited by ghost82
Link to post
3 hours ago, ghost82 said:

Are these correct? Shouldn't point to OVMF_CODE-pure-efi.fd, or did you rename the file?

It's possible I changed it as I've changed so many things to try and get this working. Anyhow, I changed to what you recommended and it's giving the same bootloop Tiancore logo :(

Link to post

I suggest to start from the beginning, I think you changed too many things, change one thing at a time.

If your system hangs again download the DEBUG version of opencore, set the config.plist to save to file and share with us.

Use stock ovmf.

That kernel panic suggest something related to cpu, but could be other.

If you want I can make an opencore.qcow2 image, share your smbios data (if you want also via pm).

Post again your clean xml and share your cpu details.

 

UPDATE: are you using virtualsmc? If not, you need to add a qemu arg for the osk

Edited by ghost82
Link to post
3 minutes ago, ghost82 said:

I suggest to start from the beginning, I think you changed too many things, change one thing at a time.

If your system hangs again download the DEBUG version of opencore, set the config.plist to save to file and share with us.

Use stock ovmf.

That kernel panic suggest something related to cpu, but could be other.

If you want I can make an opencore.qcow2 image, share your smbios data (if you want also via pm).

Post again your clean xml and share your cpu details.

OK I will do this. Which XML should I begin with? Created from within Unraid or the one from Leoyzen's GitHub?

Link to post
17 hours ago, ghost82 said:

unraid, then I will check and eventually modify.

Check my last update in red above, maybe you are missing custom args!

 

I've made great progress. I created a new VM and modified only a few areas - added a usb keyboard, adjusted the network card model and commented out the topology line.

 

Current XML is as follows:

 

<?xml version='1.0' encoding='UTF-8'?>
<domain type='kvm'>
  <name>OSX Catalina</name>
  <uuid>de64714c-4863-ade9-48f9-6689fd040f1c</uuid>
  <metadata>
    <vmtemplate xmlns="unraid" name="Linux" icon="osx.png" os="linux"/>
  </metadata>
  <memory unit='KiB'>8388608</memory>
  <currentMemory unit='KiB'>8388608</currentMemory>
  <memoryBacking>
    <nosharepages/>
  </memoryBacking>
  <vcpu placement='static'>4</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='0'/>
    <vcpupin vcpu='1' cpuset='1'/>
    <vcpupin vcpu='2' cpuset='2'/>
    <vcpupin vcpu='3' cpuset='4'/>
  </cputune>
  <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/de64714c-4863-ade9-48f9-6689fd040f1c_VARS-pure-efi.fd</nvram>
  </os>
  <features>
    <acpi/>
    <apic/>
  </features>
  <cpu mode='custom' match='exact' check='none'>
    <model fallback='forbid'>qemu64</model>
    <!--<topology sockets='1' dies='1' cores='4' threads='1'/>-->
  </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/vdisk1.img'/>
      <target dev='hdc' bus='sata'/>
      <address type='drive' controller='0' bus='0' target='0' unit='2'/>
    </disk>
    <disk type='file' device='disk'>
          <driver name='qemu' type='raw' cache='writeback' io='threads'/>
          <source file='/mnt/user/domains/OSX Catalina/BaseSystem.img'/>
          <target dev='hdd' bus='sata'/>
          <address type='drive' controller='0' bus='0' target='0' unit='3'/>
    </disk>
    <disk type='file' device='disk'>
          <driver name='qemu' type='qcow2' cache='writeback'/>
          <source file='/mnt/user/domains/OSX Catalina/OpenCoreEFI.qcow2'/>
          <target dev='hde' bus='sata'/>
          <boot order='1'/>
          <address type='drive' controller='0' bus='0' target='0' unit='4'/>
    </disk>
    <controller type='usb' index='0' model='ich9-ehci1'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x7'/>
    </controller>
    <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>
    <controller type='usb' index='0' model='ich9-uhci2'>
      <master startport='2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x1'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci3'>
      <master startport='4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x2'/>
    </controller>
    <controller type='sata' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
    </controller>
    <controller type='pci' index='0' model='pcie-root'/>
    <controller type='virtio-serial' index='0'>
      <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
    </controller>
    <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>
    <controller type='pci' index='2' model='pcie-to-pci-bridge'>
      <model name='pcie-pci-bridge'/>
      <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
    </controller>
    <controller type='pci' index='3' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='3' port='0x11'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1'/>
    </controller>
    <controller type='pci' index='4' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='4' port='0x12'/>
      <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'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x3'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:b7:9c:1e'/>
      <source bridge='br0'/>
      <model type='e1000-82545em'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x01' function='0x0'/>
    </interface>
    <serial type='pty'>
      <target type='isa-serial' port='0'>
        <model name='isa-serial'/>
      </target>
    </serial>
    <console type='pty'>
      <target type='serial' port='0'/>
    </console>
    <channel type='unix'>
      <target type='virtio' name='org.qemu.guest_agent.0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    </channel>
    <input type='tablet' bus='usb'>
      <address type='usb' bus='0' port='1'/>
    </input>
    <input type='mouse' bus='ps2'/>
    <input type='keyboard' bus='ps2'/>
    <input type='keyboard' bus='usb'>
         <alias name='input2'/>
         <address type='usb' bus='0' port='3'/>
    </input>
    <graphics type='vnc' port='-1' autoport='yes' websocket='-1' listen='0.0.0.0' keymap='en-us'>
      <listen type='address' address='0.0.0.0'/>
    </graphics>
    <video>
      <model type='qxl' ram='65536' vram='65536' vgamem='16384' heads='1' primary='yes'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
    </video>
    <memballoon model='virtio'>
      <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
    </memballoon>
  </devices>
  <qemu:commandline>
      <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,+aes,+xsave,+xsaveopt,check'/>
  </qemu:commandline>
</domain>

 

I created my own EFI from Leoyzen's GitHub and it did the same Tiano Core bootloop. I used the OpenCoreEFI attached to an earlier thread here with the option to clear NVRAM and also boot OSX. The installer and whole install procedure was in Chinese for some reason and I had to wait until after install to change to English.

 

I'm curious as to the differences between the EFI from GitHub and the debug one. Are there any specific additions that could have fixed the boot loop? (if its CPU based, I'm running a Ryzen 3600XT). I'll next attempt the pass through of my RX570.

 

Thanks for all of your help so far.

 

 

Link to post
3 hours ago, paulmorabi said:

I'm curious as to the differences between the EFI from GitHub and the debug one

I think both are debug versions: debug version means that it logs more informationthan the release one; the release version logs only warnings and error, the debug one adds useful information to track down issues.

What probably changes is the config.plist of opencore in the efi partition, in which there are all the settings for the bootloader: if you are curious you can compare that 2 files and see what are the differences.

About the Chinese language, that setting is also in the config.plist and it's stored in nvram.

Examples:

In Leoyzen's github config.plist file you have:

<key>prev-lang:kbd</key>
<data>emgtSGFuczoyNTI=</data>

the data field is base64, converted to ascii you have:

zh-Hans:252

 

which defines Chinese (zh-Hans) with ABC keyboard (252).

Useful info to track where the user comes from ahah :P

 

A list is available here:
https://github.com/acidanthera/OpenCorePkg/blob/master/Utilities/AppleKeyboardLayouts/AppleKeyboardLayouts.txt

 

From opencore manual (docs/configuration.pdf):

Quote

7C436110-AB2A-4BBB-A880-FE41995C9F82:prev-lang:kbd ASCII string defining default keyboard layout. Format is lang-COUNTRY:keyboard, e.g. ru-RU:252 for Russian locale and ABC keyboard. Also accepts short forms: ru:252 or ru:0 (U.S. keyboard, compatible with 10.9).

 

By the way, the official config.plist from github has a default setting of ru-RU:252 (which is russian), an incomprehensible language unless you are russian :D

This was intentional to see who reads the documentation :P

 

Edited by ghost82
Link to post
2 minutes ago, ghost82 said:

I think both are debug versions: debug version means that it logs more informationthan the release one; the release version logs only warnings and error, the debug one adds useful information to track down issues.

What probably changes is the config.plist of opencore in the efi partition, in which there are all the settings for the bootloader: if you are curious you can compare that 2 files and see what are the differences.

About the Chinese language, that setting is also in the config.plist and it's stored in nvram.

Examples:

In Leoyzen's github config.plist file you have:


<key>prev-lang:kbd</key>
<data>emgtSGFuczoyNTI=</data>

the data field is base64, converted to ascii you have:

zh-Hans:252

 

which defines Chinese (zh-Hans) with ABC keyboard (252).

Useful info to track where the user comes from ahah :P

 

A list is available here:
https://github.com/acidanthera/OpenCorePkg/blob/master/Utilities/AppleKeyboardLayouts/AppleKeyboardLayouts.txt

 

From opencore manual (docs/configuration.pdf):

 

OK, that makes sense!

 

So, if I want to keep the current EFI, I can change the above and then

 

1. How do I disable the additional logging (when ready)?

2. How can I remove the option to clear NVRAM or Boot OSX (also once ready)?

Link to post
2 minutes ago, paulmorabi said:

OK, that makes sense!

 

So, if I want to keep the current EFI, I can change the above and then

 

1. How do I disable the additional logging (when ready)?

2. How can I remove the option to clear NVRAM or Boot OSX (also once ready)?

Now that you have a basic opencore.qcow2 that works I suggest to shutdown the vm and from unraid copy and backup this opencore.qcow2 somewhere.

Save also a copy of your vm xml.

 

1. Logging: in config.plist it's "Target" in the Debug section

<key>Target</key>
<integer>0</integer>

Target 0 doesn't log

 

2. You can't remove, but you can hide: in config.plist

<key>ShowPicker</key>
<false/>

 

Take into account that all of this is covered in the configuration.pdf of opencore:
https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/Configuration.pdf

 

As suggested by Acidanthera team the user should read and understand the docs before attempting to use opencore.

Link to post
1 hour ago, ghost82 said:

Now that you have a basic opencore.qcow2 that works I suggest to shutdown the vm and from unraid copy and backup this opencore.qcow2 somewhere.

Save also a copy of your vm xml.

 

1. Logging: in config.plist it's "Target" in the Debug section


<key>Target</key>
<integer>0</integer>

Target 0 doesn't log

 

2. You can't remove, but you can hide: in config.plist


<key>ShowPicker</key>
<false/>

 

Take into account that all of this is covered in the configuration.pdf of opencore:
https://github.com/acidanthera/OpenCorePkg/blob/master/Docs/Configuration.pdf

 

As suggested by Acidanthera team the user should read and understand the docs before attempting to use opencore.

Thank you for this and all of your help. Really appreciated.

Link to post

I have managed to get GPU passthrough of my RX570 working in a PopOS VM. I seem to have the reset bug and am working through that, but otherwise OK. 

 

When I assign the GPU to OSX, I get a blank screen, no BIOS boot logo or anything. I tried to then assign the GPU and also VNC. The closest I got was a "gio screen lock state 3" error and the desktop background displaying on the external monitor. Usually, it boots into recovery and goes through the install/repair again only to have the same error.

 

Has anyone successfully passed an RX570? Are there any tips with kexts etc. I should load with OpenCore? using ther debug one from previously, I disabled logging and can see Lilu and WhateverGreen are already there. Are there any settings I need to change for this?

Link to post

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.