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


SpaceInvaderOne

Recommended Posts

3 minutes ago, AlterSchwede said:

I try to install OsX on unraid 6.4rc19b with no luck. Followed the instructions from:

 

I used Clover-v2.4k-4359-X64, Sierra 10.12.1 and HighSierra 10.13.1 and tryed allmost all bios versions. Allway the same result: Booting from OsX is not possible. (see attachment)

 

Can someone give me some hints?

Screenshot_1.jpg

You  need to match the resolution in the ovmf settings to the same as the settings in clover when using vnc graphics. Try setting the ovmf resolution to 1920 x 1080

Link to comment

I wanted to come back and update my information about my High Sierra VM with passthrough NVidia display card.  I had mentioned previously that I was having problems with dual displays on my video card.  I have done quite a bit of further testing and determined that the problem is NOT with High Sierra specifically and is likely not the NVidia web drivers either.  I have the same problem if I plug a 2nd monitor into the video card passed through to my Windows 10 VM as well.

To test even futher, I came across AirDisplay by Avatron which allows a Mac to extend or Mirror it's desktop to a Windows PC.  While I did manage to get it to work, it had the same blanking and flickering issues as I did with the 2 physical displays connected to the passed through card in High Sierra.

I have tested with an MSI GTX 960, Gigabyte GTX 960 and an EVGA 1080ti.  All have the same problems and it doesn't matter whether it's High Sierra or Windows 10. 

With that, I won't get into any more details in this thread being that it's about High Sierra in a VM.  My High Sierra is working fantastic except for the dual displays.

 

I now have a PCIE USB-C/3.1 card that I have passed through to High Sierra.  I have a new usb-c powered hub connected to it and have plenty of ports to connect anything I need to my MacOS VM as if it were a separate machine.

 

As a temporary solution for the lack of dual displays, I'm displaying MacOS on 1 monitor and Win10 on the other.  I now use ShareMouse to use a single keyboard and mouse between both operating systems.  While it's not dual displays, it does allow me to browse the internet with Chrome on my Win10 VM, I can use webmail and other online applications on Win10 and copy/past with the shared clipboard between operating systems.  

 

Any advanced users that are using their MacOS VM as their daily driver as I am, this seems to be working pretty well.  If you are ONLY using MacOS and want true dual displays, you CAN manage to get it to work if you fiddle with the HDMI or DVI connections on the graphics card.  I have managed to get the full dual display working for a couple days at a time, but as soon as I want to play a game in Windows and switch my MacOS display to Mirrored it starts the flickering issues all over again and I have to play with cables and resolutions to get the display back to normal.  I've chosen my temporary option for now until Limetech gets dual displays fixed up a bit better.

Link to comment
On 1/7/2018 at 11:47 AM, gridrunner said:

You  need to match the resolution in the ovmf settings to the same as the settings in clover when using vnc graphics. Try setting the ovmf resolution to 1920 x 1080

 

Thank you but i can`t set resolution because i am on SeeBios. (OVMG could not find any boot entry.)

 

If starting now it freezes with apple logo and clover with verbose on with white screen. (see screenshot) :S

 

This is in the log befor i shutdown the vm:

2018-01-08 10:48:19.453+0000: starting up libvirt version: 3.8.0, qemu version: 2.10.2, hostname: first
LC_ALL=C PATH=/bin:/sbin:/usr/bin:/usr/sbin HOME=/ QEMU_AUDIO_DRV=none /usr/local/sbin/qemu -name guest=MacOS,debug-threads=on -S -object secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain-159-MacOS/master-key.aes -machine pc-q35-2.10,accel=kvm,usb=off,dump-guest-core=off,mem-merge=off -cpu Penryn -m 8192 -realtime mlock=off -smp 4,sockets=4,cores=1,threads=1 -uuid ce316645-fbc6-097a-9cc3-756321856865 -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/domain-159-MacOS/monitor.sock,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc -no-shutdown -boot strict=on -device i82801b11-bridge,id=pci.1,bus=pcie.0,addr=0x1e -device pci-bridge,chassis_nr=2,id=pci.2,bus=pci.1,addr=0x1 -device pcie-root-port,port=0x8,chassis=3,id=pci.3,bus=pcie.0,multifunction=on,addr=0x1 -device pcie-root-port,port=0x9,chassis=4,id=pci.4,bus=pcie.0,addr=0x1.0x1 -device pcie-root-port,port=0xa,chassis=5,id=pci.5,bsewordsguardedpleasedontsteal(c)AppleComputerInc' -smbios type=2 -cpu Penryn,vendor=GenuineIntel -msg timestamp=on
2018-01-08 10:48:19.453+0000: Domain id=159 is tainted: high-privileges
2018-01-08 10:48:19.453+0000: Domain id=159 is tainted: custom-arg

 

Could someone please send me the settings and a allready patched clover iso. I use the standard clover version for first boot.

 

The is my VM xml:

<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
  <name>MacOS</name>
  <uuid>ce316645-fbc6-097a-9cc3-756321856865</uuid>
  <metadata>
    <vmtemplate xmlns="unraid" name="Linux" icon="linux.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='4'/>
    <vcpupin vcpu='2' cpuset='3'/>
    <vcpupin vcpu='3' cpuset='7'/>
  </cputune>
  <os>
    <type arch='x86_64' machine='pc-q35-2.10'>hvm</type>
  </os>
  <features>
    <acpi/>
  </features>
  <cpu mode='custom' match='exact' check='partial'>
    <model fallback='allow'>Penryn</model>
  </cpu>
  <clock offset='utc'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>destroy</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/isos/Sierra/macOSsierra.iso'/>
      <target dev='hdc' bus='usb'/>
      <readonly/>
      <boot order='1'/>
      <address type='usb' bus='0' port='1'/>
    </disk>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='writeback'/>
      <source file='/mnt/user/domains/OsX/vdisk2.img'/>
      <target dev='hdd' bus='virtio'/>
      <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0'/>
    </disk>
    <disk type='file' device='cdrom'>
      <driver name='qemu' type='raw'/>
      <source file='/mnt/user/isos/Clover-v2.4k-4330-X64kvm.iso'/>
      <target dev='hda' bus='sata'/>
      <readonly/>
      <boot order='2'/>
      <address type='drive' controller='0' bus='0' target='0' unit='0'/>
    </disk>
    <controller type='usb' index='0' model='piix3-uhci'>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x02' function='0x0'/>
    </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='dmi-to-pci-bridge'>
      <model name='i82801b11-bridge'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1e' function='0x0'/>
    </controller>
    <controller type='pci' index='2' model='pci-bridge'>
      <model name='pci-bridge'/>
      <target chassisNr='2'/>
      <address type='pci' domain='0x0000' bus='0x01' slot='0x01' function='0x0'/>
    </controller>
    <controller type='pci' index='3' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='3' port='0x8'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0' multifunction='on'/>
    </controller>
    <controller type='pci' index='4' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='4' port='0x9'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
    </controller>
    <controller type='pci' index='5' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='5' port='0xa'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x2'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:51:66:48'/>
      <source bridge='br0'/>
      <model type='e1000-82545em'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x03' function='0x0'/>
    </interface>
    <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='0x02' function='0x0' multifunction='on'/>
    </video>
    <memballoon model='none'/>
  </devices>
  <seclabel type='none' model='none'/>
  <qemu:commandline>
    <qemu:arg value='-device'/>
    <qemu:arg value='usb-kbd'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='usb-mouse'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='isa-applesmc,osk=.. '/>
    <qemu:arg value='-smbios'/>
    <qemu:arg value='type=2'/>
    <qemu:arg value='-cpu'/>
    <qemu:arg value='Penryn,vendor=GenuineIntel'/>
  </qemu:commandline>
</domain>
 

Screenshot_3.jpg

Screenshot_4.jpg

Edited by trurl
redact osk
Link to comment

It will not work with seabios I am afraid. you need ovmf and clover to get it working.

If it is booting to shell when you are using ovmf then the boot media hasn't been created correctly. When you create the flash drive then make sure the partition is gpt when you format the flash drive. EFI doesn't work on masterboot record. The format must be  GUID partition table (GPT) . These disks use unified extensible firmware interface (UEFI) which you will need or it will not find boot entry.

Also, change the CPU part of the XML at the bottom to this or clover will have timing issues and you will have to use a patched version. This way you won't have to use patched clover.

<qemu:arg value='Penryn,vendor=GenuineIntel,kvm=on,+invtsc,vmware-cpuid-freq=on,'/>

also, check this video the newest one i have made for osx installation https://www.youtube.com/watch?time_continue=2&v=UyP1h82n30g

 

Link to comment
9 hours ago, gridrunner said:

It will not work with seabios I am afraid. you need ovmf and clover to get it working.

If it is booting to shell when you are using ovmf then the boot media hasn't been created correctly. When you create the flash drive then make sure the partition is gpt when you format the flash drive. EFI doesn't work on masterboot record. The format must be  GUID partition table (GPT) . These disks use unified extensible firmware interface (UEFI) which you will need or it will not find boot entry.

Also, change the CPU part of the XML at the bottom to this or clover will have timing issues and you will have to use a patched version. This way you won't have to use patched clover.


<qemu:arg value='Penryn,vendor=GenuineIntel,kvm=on,+invtsc,vmware-cpuid-freq=on,'/>

also, check this video the newest one i have made for osx installation https://www.youtube.com/watch?time_continue=2&v=UyP1h82n30g

 

 

Thanks for your hints. I made a USB-Stick and now OVMF is working.

- changed some <disk> and <controller> settings in the vm xml file

- removed the OsxAptioFix2Drv-64.efi from clover, because "Error allocating 0x800 page at 0x000..." error

- changed  OVMF resolution to 1280 x 1024

 

Now i could reach the OsX Installationscreen. 

But there i have no disks for installation avalilable. (see screenshot_5.jpg & screenshot_6.jpg)

 

This is my xml:

<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
  <name>MacOS</name>
  <uuid>ce316645-fbc6-097a-9cc3-756321856865</uuid>
  <metadata>
    <vmtemplate xmlns="unraid" name="Linux" icon="linux.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='4'/>
    <vcpupin vcpu='2' cpuset='3'/>
    <vcpupin vcpu='3' cpuset='7'/>
  </cputune>
  <os>
    <type arch='x86_64' machine='pc-i440fx-2.10'>hvm</type>
    <loader readonly='yes' type='pflash'>/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd</loader>
    <nvram>/etc/libvirt/qemu/nvram/c8790c16-fcf4-513d-b150-4889fee54676_VARS-pure-efi.fd</nvram>
  </os>
  <features>
    <acpi/>
  </features>
  <cpu mode='custom' match='exact' check='partial'>
    <model fallback='allow'>Penryn</model>
  </cpu>
  <clock offset='utc'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>destroy</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/MacOS/vdisk1.img'/>
      <target dev='hdc' bus='sata'/>
      <boot order='1'/>
      <address type='drive' controller='0' bus='0' target='0' unit='2'/>
    </disk>
    <disk type='block' device='disk'>
      <driver name='qemu' type='raw' cache='writeback'/>
      <source dev='/dev/sdk'/>
      <target dev='hdd' bus='sata'/>
      <address type='drive' controller='0' bus='0' target='0' unit='3'/>
    </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='pci' index='0' model='pci-root'/>
    <controller type='pci' index='1' model='pci-bridge'>
      <model name='pci-bridge'/>
      <target chassisNr='1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </controller>
    <controller type='pci' index='2' model='pci-bridge'>
      <model name='pci-bridge'/>
      <target chassisNr='2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </controller>
    <controller type='sata' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:51:66:48'/>
      <source bridge='br0'/>
      <model type='e1000-82545em'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x03' function='0x0'/>
    </interface>
    <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='0x02' function='0x0' multifunction='on'/>
    </video>
    <memballoon model='none'/>
  </devices>
  <seclabel type='none' model='none'/>
  <qemu:commandline>
    <qemu:arg value='-device'/>
    <qemu:arg value='usb-kbd'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='usb-mouse'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='isa-applesmc,osk=...'/>
    <qemu:arg value='-smbios'/>
    <qemu:arg value='type=2'/>
    <qemu:arg value='-cpu'/>
    <qemu:arg value='Penryn,vendor=GenuineIntel,kvm=on,+invtsc,vmware-cpuid-freq=on,'/>
  </qemu:commandline>
</domain>
 

If i switch to settings in "osx xml file for vnc setup.txt" i get this pcie-root error message. (screenshot_7.jpg)

 

If i switch to usb all drives are there but performance is VERY slow.

 

I am using newest clover without any patches. What is wrong in clover or my xml? 

 

Screenshot_7.jpg

Screenshot_5.jpg

Screenshot_6.jpg

Edited by AlterSchwede
osk key
Link to comment
12 minutes ago, AlterSchwede said:

 

Thanks for your hints. I made a USB-Stick and now OVMF is working.

- changed some <disk> and <controller> settings in the vm xml file

- removed the OsxAptioFix2Drv-64.efi from clover, because "Error allocating 0x800 page at 0x000..." error

- changed  OVMF resolution to 1280 x 1024

 

Now i could reach the OsX Installationscreen. 

But there i have no disks for installation avalilable. (see screenshot_5.jpg & screenshot_6.jpg)

 

This is my xml:

<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
  <name>MacOS</name>
  <uuid>ce316645-fbc6-097a-9cc3-756321856865</uuid>
  <metadata>
    <vmtemplate xmlns="unraid" name="Linux" icon="linux.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='4'/>
    <vcpupin vcpu='2' cpuset='3'/>
    <vcpupin vcpu='3' cpuset='7'/>
  </cputune>
  <os>
    <type arch='x86_64' machine='pc-i440fx-2.10'>hvm</type>
    <loader readonly='yes' type='pflash'>/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd</loader>
    <nvram>/etc/libvirt/qemu/nvram/c8790c16-fcf4-513d-b150-4889fee54676_VARS-pure-efi.fd</nvram>
  </os>
  <features>
    <acpi/>
  </features>
  <cpu mode='custom' match='exact' check='partial'>
    <model fallback='allow'>Penryn</model>
  </cpu>
  <clock offset='utc'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>destroy</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/MacOS/vdisk1.img'/>
      <target dev='hdc' bus='sata'/>
      <boot order='1'/>
      <address type='drive' controller='0' bus='0' target='0' unit='2'/>
    </disk>
    <disk type='block' device='disk'>
      <driver name='qemu' type='raw' cache='writeback'/>
      <source dev='/dev/sdk'/>
      <target dev='hdd' bus='sata'/>
      <address type='drive' controller='0' bus='0' target='0' unit='3'/>
    </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='pci' index='0' model='pci-root'/>
    <controller type='pci' index='1' model='pci-bridge'>
      <model name='pci-bridge'/>
      <target chassisNr='1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </controller>
    <controller type='pci' index='2' model='pci-bridge'>
      <model name='pci-bridge'/>
      <target chassisNr='2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </controller>
    <controller type='sata' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:51:66:48'/>
      <source bridge='br0'/>
      <model type='e1000-82545em'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x03' function='0x0'/>
    </interface>
    <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='0x02' function='0x0' multifunction='on'/>
    </video>
    <memballoon model='none'/>
  </devices>
  <seclabel type='none' model='none'/>
  <qemu:commandline>
    <qemu:arg value='-device'/>
    <qemu:arg value='usb-kbd'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='usb-mouse'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='isa-applesmc,osk=xxxxxxxxxxxxxxxxxxx'/>
    <qemu:arg value='-smbios'/>
    <qemu:arg value='type=2'/>
    <qemu:arg value='-cpu'/>
    <qemu:arg value='Penryn,vendor=GenuineIntel,kvm=on,+invtsc,vmware-cpuid-freq=on,'/>
  </qemu:commandline>
</domain>
 

If i switch to settings in "osx xml file for vnc setup.txt" i get this pcie-root error message. (screenshot_7.jpg)

 

If i switch to usb all drives are there but performance is VERY slow.

 

I am using newest clover without any patches. What is wrong in clover or my xml? 

 

Screenshot_7.jpg

Screenshot_5.jpg

Screenshot_6.jpg

14

 

Hi please edit your post and remove the osk key from your xml. We are not allowed to post that here in the forums :)

 

You will need to have all hds as sata. dont use usb.

You cant see your vdisk as it hasnt been formatted in disk utility.  You probably havent made the vdisk large enough when you created it. You may have forgotten when you made the vdisk to put 40G maybe you didnt put the G so its not 40 gigs so you cant use it. But if you are passing through a physical disk i suggest erasing all partitions first using the unassigned devices plugin. Then try

 

Also i have made some minor changes to your xml here

<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
  <name>MacOS</name>
  <uuid>ce316645-fbc6-097a-9cc3-756321856865</uuid>
  <metadata>
    <vmtemplate xmlns="unraid" name="Linux" icon="linux.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='4'/>
    <vcpupin vcpu='2' cpuset='3'/>
    <vcpupin vcpu='3' cpuset='7'/>
  </cputune>
  <os>
    <type arch='x86_64' machine='pc-i440fx-2.10'>hvm</type>
    <loader readonly='yes' type='pflash'>/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd</loader>
    <nvram>/etc/libvirt/qemu/nvram/c8790c16-fcf4-513d-b150-4889fee54676_VARS-pure-efi.fd</nvram>
  </os>
  <features>
    <acpi/>
  </features>
   <cpu>
    <topology sockets='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/MacOS/vdisk1.img'/>
      <target dev='hdc' bus='sata'/>
      <boot order='1'/>
      <address type='drive' controller='0' bus='0' target='0' unit='2'/>
    </disk>
    <disk type='block' device='disk'>
      <driver name='qemu' type='raw' cache='writeback'/>
      <source dev='/dev/sdk'/>
      <target dev='hdd' bus='sata'/>
      <address type='drive' controller='0' bus='0' target='0' unit='3'/>
    </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='pci' index='0' model='pci-root'/>
    <controller type='pci' index='1' model='pci-bridge'>
      <model name='pci-bridge'/>
      <target chassisNr='1'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </controller>
    <controller type='pci' index='2' model='pci-bridge'>
      <model name='pci-bridge'/>
      <target chassisNr='2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </controller>
    <controller type='sata' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:51:66:48'/>
      <source bridge='br0'/>
      <model type='e1000-82545em'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x03' function='0x0'/>
    </interface>
    <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='0x02' function='0x0' multifunction='on'/>
    </video>
    <memballoon model='none'/>
  </devices>
  <seclabel type='none' model='none'/>
  <qemu:commandline>
    <qemu:arg value='-usb'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='usb-mouse,bus=usb-bus.0'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='usb-kbd,bus=usb-bus.0'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='isa-applesmc,osk=oxxxxxxxxxxxxxxxxxxxxxxxxxxx'/>
    <qemu:arg value='-smbios'/>
    <qemu:arg value='type=2'/>
    <qemu:arg value='-cpu'/>
    <qemu:arg value='Penryn,vendor=GenuineIntel,kvm=on,+invtsc,vmware-cpuid-freq=on,'/>
  </qemu:commandline>
</domain>

 

Link to comment

First of all - thank you gridrunner for your FANTASTIC videos. I just recently started using UNRAID and you helped me a great deal getting everything working (e.g. Windows 10 VM).

 

Now my question:
I want to create a High Sierra VM and passthrough a GPU so it can (maybe) replace my Mac Mini.

But I'm currently using UNRAID 6.3.5 because I wanted to use a stable version for my system. Is it possible to install High Sierra with GPU passthrough on UNRAID 6.3.5 or is it necessary to upgrade to a 6.4 RC Version?

 

Greets

Zodac

Link to comment
On 09/01/2018 at 5:08 PM, Schlichi said:

First of all - thank you gridrunner for your FANTASTIC videos. I just recently started using UNRAID and you helped me a great deal getting everything working (e.g. Windows 10 VM).

 

Now my question:
I want to create a High Sierra VM and passthrough a GPU so it can (maybe) replace my Mac Mini.

But I'm currently using UNRAID 6.3.5 because I wanted to use a stable version for my system. Is it possible to install High Sierra with GPU passthrough on UNRAID 6.3.5 or is it necessary to upgrade to a 6.4 RC Version?

 

Greets

Zodac

 

It doesn't require 6.3.5 it is just much easier as you don't have to use a special patched versin of Clover.

 

FWIW I upgraded to 6.4 recently once it was past around RC16 (I was worried about stability also) or so and it has been very stable for me, no issues at all.

Link to comment
On 10/01/2018 at 9:48 PM, david279 said:

Im on 10.13.2 right now

 

I have a fully working 10.13.1 with gfx passthrough all there but as soon as I apply 10.13.2 it won't boot any more. Just the apple logo and a progress bar stuck at around 20%. Doesn't matter if I run my VNC or gfx passthrough version of the VM.

 

 

Are you using APFS?

Link to comment
 
I have a fully working 10.13.1 with gfx passthrough all there but as soon as I apply 10.13.2 it won't boot any more. Just the apple logo and a progress bar stuck at around 20%. Doesn't matter if I run my VNC or gfx passthrough version of the VM.
 
 
Are you using APFS?
Yeah I'm using apfs. I updated like normal and installed Nvidia drivers after. I do have to select the install from HD selection in the clover bootloader when I updated to 10.13.2.

Sent from my SM-G955U using Tapatalk

Link to comment

I just updated from UNRAID to 6.4 from 6.3.4.   Ahd OSX running fine (10.12) but getting now the following error -

 

 

2018-01-13 14:21:09.999+0000: starting up libvirt version: 3.8.0, qemu version: 2.10.2, hostname: DataSvr
2018-01-13 14:21:09.999+0000: Domain id=1 is tainted: high-privileges
2018-01-13 14:21:09.999+0000: Domain id=1 is tainted: custom-argv
 

My XML config is as follows -

 

<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
  <name>Sierra</name>
  <uuid>b7d74bb4-4562-a693-2e77-08499282d392</uuid>
  <metadata>
    <vmtemplate xmlns="unraid" name="Ubuntu" icon="ubuntu.png" os="ubuntu"/>
  </metadata>
  <memory unit='KiB'>32913408</memory>
  <currentMemory unit='KiB'>32913408</currentMemory>
  <memoryBacking>
    <nosharepages/>
  </memoryBacking>
  <vcpu placement='static'>4</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='1'/>
    <vcpupin vcpu='1' cpuset='2'/>
    <vcpupin vcpu='2' cpuset='3'/>
    <vcpupin vcpu='3' cpuset='4'/>
  </cputune>
  <os>
    <type arch='x86_64' machine='pc-q35-2.7'>hvm</type>
    <loader readonly='yes' type='pflash'>/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd</loader>
    <nvram>/etc/libvirt/qemu/nvram/b7d74bb4-4562-a693-2e77-08499282d392_VARS-pure-efi.fd</nvram>
    <boot dev='hd'/>
  </os>
  <features>
    <acpi/>
  </features>
  <cpu mode='custom' match='exact' check='partial'>
    <model fallback='allow'>Penryn</model>
  </cpu>
  <clock offset='utc'/>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>destroy</on_crash>
  <devices>
    <emulator>/usr/local/sbin/qemu</emulator>
    <disk type='block' device='disk'>
      <driver name='qemu' type='raw' cache='writeback'/>
      <source dev='/dev/disk/by-id/ata-Samsung_SSD_850_EVO_250GB_S21NNXBGA18817M'/>
      <target dev='hdc' bus='sata'/>
      <address type='drive' controller='0' bus='0' target='0' unit='2'/>
    </disk>
    <disk type='block' device='disk'>
      <driver name='qemu' type='raw' cache='writeback'/>
      <source dev='/dev/disk/by-id/ata-WDC_WD20NPVX-00EA4T0_WD-WXK1EC4AMS7U'/>
      <target dev='hdd' bus='sata'/>
      <address type='drive' controller='0' bus='0' target='0' unit='3'/>
    </disk>
    <controller type='usb' index='0' model='piix3-uhci'>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x02' function='0x0'/>
    </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='dmi-to-pci-bridge'>
      <model name='i82801b11-bridge'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1e' function='0x0'/>
    </controller>
    <controller type='pci' index='2' model='pci-bridge'>
      <model name='pci-bridge'/>
      <target chassisNr='2'/>
      <address type='pci' domain='0x0000' bus='0x01' slot='0x01' function='0x0'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:51:66:48'/>
      <source bridge='br0'/>
      <model type='e1000-82545em'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x03' function='0x0'/>
    </interface>
    <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='none'/>
  </devices>
  <seclabel type='none' model='none'/>
  <qemu:commandline>
    <qemu:arg value='-device'/>
    <qemu:arg value='usb-kbd'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='usb-mouse'/>
    <qemu:arg value='-device'/>
    <qemu:arg value='isa-applesmc,osk=DELETED!!!'/>
    <qemu:arg value='-smbios'/>
    <qemu:arg value='type=2'/>
    <qemu:arg value='-cpu'/>
    <qemu:arg value='Penryn,vendor=GenuineIntel'/>
  </qemu:commandline>
</domain>

 

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

 

Stumped and would appreciate any hints / pointers . regards

Link to comment
22 hours ago, planetwilson said:

I've got the smae but ignoring it as there don't appear to be any issues...

 

Unfortunately it gets stuck there.  I have updated the pc-q35-2.7 to the same as per the latest video ( <type arch='x86_64' machine='pc-q35-2.10'>hvm</type> ). and also have chnaged all of the <qemu:commandline> and <qemu:arg ... area to again be same as the latest video instructions.  

 

Still no dice and all the reading have not yielded nay clue.  Will sit tight as would think some other upgrading will face same issue soon.

 

Thanks

 

 

Link to comment
3 hours ago, planetwilson said:

Ah sorry I thought you said earlier that OSX was working okay? Your VM is no longer working following the update to 6.4? Mine are on Q35-2.10 now am on unRAID 6.4. I thought that was the version you had to be on in order to use a non-special patch clover?

 

That is correct - still not working even after those changes.

 

I also tried to do a fresh install as per latest video using HighSiera, and getting same issue as type of error as soon as start the VM -

 

2018-01-14 19:12:25.974+0000: starting up libvirt version: 3.8.0, qemu version: 2.10.2, hostname: DataSvr
LC_ALL=C PATH=/bin:/sbin:/usr/bin:/usr/sbin HOME=/ QEMU_AUDIO_DRV=none /usr/local/sbin/qemu -name guest=HighSierra,debug-threads=on -S -object secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain-3-HighSierra/master-key.aes -machine pc-q35-2.10,accel=kvm,usb=off,dump-guest-core=off,mem-merge=off -cpu host -drive file=/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd,if=pflash,format=raw,unit=0,readonly=on -drive file=/etc/libvirt/qemu/nvram/a7ba6695-e230-2eef-5c1d-c8f4082bd62b_VARS-pure-efi.fd,if=pflash,format=raw,unit=1 -m 32768 -realtime mlock=off -smp 3,sockets=1,cores=3,threads=1 -uuid a7ba6695-e230-2eef-5c1d-c8f4082bd62b -no-user-config -nodefaults -chardev socket,id=charmonitor,path=/var/lib/libvirt/qemu/domain-3-HighSierra/monitor.sock,server,nowait -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc,driftfix=slew -global kvm-pit.lost_tick_policy=delay -no-hpet -no-shutdown -boot strict=on -device pcie-root-port,port=0x10,chassis=,mac=52:54:00:64:91:f7,bus=pci.2,addr=0x0 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -chardev socket,id=charchannel0,path=/var/lib/libvirt/qemu/channel/target/domain-3-HighSierra/org.qemu.guest_agent.0,server,nowait -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=org.qemu.guest_agent.0 -device usb-tablet,id=input0,bus=usb.0,port=1 -vnc 0.0.0.0:0,websocket=5700 -k en-us -device qxl-vga,id=video0,ram_size=67108864,vram_size=67108864,vram64_size_mb=0,vgamem_mb=16,max_outputs=1,bus=pcie.0,addr=0x1 -device virtio-balloon-pci,id=balloon0,bus=pci.3,addr=0x0 -usb -device usb-mouse,bus=usb-bus.0 -device usb-kbd,bus=usb-bus.0 -smbios type=2 -cpu Penryn,vendor=GenuineIntel,kvm=on,+invtsc,vmware-cpuid-freq=on, -msg timestamp=on
2018-01-14 19:12:25.974+0000: Domain id=3 is tainted: high-privileges
2018-01-14 19:12:25.974+0000: Domain id=3 is tainted: custom-argv
2018-01-14 19:12:25.974+0000: Domain id=3 is tainted: host-cpu
2018-01-14T19:12:26.015821Z qemu-system-x86_64: -chardev pty,id=charserial0: char device redirected to /dev/pts/1 (label charserial0)

 

Will do more digging perhaps on QEMU .  Seems odd.

 

Link to comment
On 12.1.2018 at 2:28 PM, planetwilson said:

 

It doesn't require 6.3.5 it is just much easier as you don't have to use a special patched versin of Clover.

 

FWIW I upgraded to 6.4 recently once it was past around RC16 (I was worried about stability also) or so and it has been very stable for me, no issues at all.

Thank you for your reply. I updated my system to 6.4 RC21 and everything works as it should.

I got macOS High Sierra 10.13.2 working with GPU passthrough (NVIDIA GT 710), iMessage/Facetime Fix and HDMI Audio working as well.

 

Greets

Schlichi

 

Link to comment

I spoke too soon, mine was working fine but now when I start my VM I get an issue in mapping the NVidia rom file (I have a GTX 950)

 

2018-01-15 09:11:09.940+0000: starting up libvirt version: 3.8.0, qemu version: 2.10.2, hostname: pwnas
LC_ALL=C PATH=/bin:/sbin:/usr/bin:/usr/sbin HOME=/ QEMU_AUDIO_DRV=none /usr/local/sbin/qemu -name 'guest=High Sierra Gfx,debug-threads=on' -S -object 'secret,id=masterKey0,format=raw,file=/var/lib/libvirt/qemu/domain-2-High Sierra Gfx/master-key.aes' -machine pc-q35-2.10,accel=kvm,usb=off,dump-guest-core=off,mem-merge=off -cpu host -drive file=/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd,if=pflash,format=raw,unit=0,readonly=on -drive file=/etc/libvirt/qemu/nvram/a2f6f8c2-8b33-11d9-6a41-87fa8f45543f_VARS-pure-efi.fd,if=pflash,format=raw,unit=1 -m 16384 -realtime mlock=off -smp 8,sockets=1,cores=4,threads=2 -uuid 920636ba-12a2-ee7c-eff6-a6575d058a7c -display none -no-user-config -nodefaults -chardev 'socket,id=charmonitor,path=/var/lib/libvirt/qemu/domain-2-High Sierra Gfx/monitor.sock,server,nowait' -mon chardev=charmonitor,id=monitor,mode=control -rtc base=utc,driftfix=slew -global kvm-pit.lost_tick_policy=delay -no-hpet -no-shutdown -boot strict=on 000-82545em,netdev=hostnet0,id=net0,mac=52:54:00:8b:8f:ec,bus=pci.2,addr=0x0 -chardev pty,id=charserial0 -device isa-serial,chardev=charserial0,id=serial0 -chardev 'socket,id=charchannel0,path=/var/lib/libvirt/qemu/channel/target/domain-2-High Sierra Gfx/org.qemu.guest_agent.0,server,nowait' -device virtserialport,bus=virtio-serial0.0,nr=1,chardev=charchannel0,id=channel0,name=org.qemu.guest_agent.0 -device usb-tablet,id=input0,bus=usb.0,port=1 -device vfio-pci,host=02:00.0,id=hostdev0,bus=pci.4,addr=0x0,romfile=/mnt/disks/VMSSD/vbiosbound.rom -device vfio-pci,host=02:00.1,id=hostdev1,bus=pci.5,addr=0x0 -device vfio-pci,host=07:00.0,id=hostdev2,bus=pci.6,addr=0x0 -device virtio-balloon-pci,id=balloon0,bus=pci.3,addr=0x0 -usb -device usb-mouse,bus=usb-bus.0 -device usb-kbd,bus=usb-bus.0 -smbios type=2 -cpu Penryn,vendor=GenuineIntel,kvm=on,+invtsc,vmware-cpuid-freq=on, -msg timestamp=on
2018-01-15 09:11:09.941+0000: Domain id=2 is tainted: high-privileges
2018-01-15 09:11:09.941+0000: Domain id=2 is tainted: custom-argv
2018-01-15 09:11:09.941+0000: Domain id=2 is tainted: host-cpu
2018-01-15T09:11:09.987833Z qemu-system-x86_64: -chardev pty,id=charserial0: char device redirected to /dev/pts/0 (label charserial0)
2018-01-15T09:11:11.798850Z qemu-system-x86_64: -device vfio-pci,host=02:00.0,id=hostdev0,bus=pci.4,addr=0x0,romfile=/mnt/disks/VMSSD/vbiosbound.rom: Failed to mmap 0000:02:00.0 BAR 3. Performance may be slow
2018-01-15T09:12:33.812985Z qemu-system-x86_64: vfio_region_write(0000:02:00.0:region3+0x1088, 0x7ffe11,8) failed: Device or resource busy
2018-01-15T09:12:33.830419Z qemu-system-x86_64: vfio_err_notifier_handler(0000:02:00.1) Unrecoverable error detected. Please collect any data possible and then kill the guest

 

I used to always get the red line about tainted domains, the yellow part about the ROM is new and stopping VM from booting.

 

part where I passthrough (video and sound PCI devices from the graphics card) :-

<hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
      </source>
      <rom file='/mnt/disks/VMSSD/vbiosbound.rom'/>
      <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='0x02' slot='0x00' function='0x1'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
    </hostdev>


 

Edited by planetwilson
Link to comment

Has anyone got PCI graphics passthrough working on OSX with an NVidia card and did you have to do a BIOS dump for the card and include in the XML? I can see on @gridrunner's latest video for Windows he hasn't dumped a bios to get the card working in Windows...but it still doesn't work for me when I try that (no onboard graphics in my setup)

 

UPDATE: followed GridRunner's video on NVidia as primary card and edited a ROM from techpowerup but still same result with that or my original dumped one.

 

This was working at the weekend when I was on the RC21 release.

Edited by planetwilson
Link to comment
10 hours ago, planetwilson said:

Has anyone got PCI graphics passthrough working on OSX with an NVidia card and did you have to do a BIOS dump for the card and include in the XML?@gridrunner

 

I have it working out of the box with no bios dump or extra xml or Clover stuff modifications (from what gridrunner provided) in 10.12.4. I'm using a GT 710.

 

Now that I've upgraded to UnRaid 6.4, I'm going to try the same setup in High Sierra...

Edited by DoeBoye
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.