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


SpaceInvaderOne

Recommended Posts

5 hours ago, hernandito said:

Any idea how I can get audio on my VM? I have external powered speakers.

Either a stand-alone pci-e soundcard passed through to the  VM (confirm compatibility first), or output HDMI to a HDMI Matrix that has the ability to split the audio channel out to rca/3.5mm. Run the video output to your monitor via an HDMI -> DVI cable. I have this exact setup (Except for the dual dvi part), and it works quite well. Every once and awhile, the Mac forgets audio, and I need to reboot the VM, but it only ever happens when switching between multiple VMs (I have a Win10 VM and a Sierra VM inputting into a 4-port matrix switch).

Link to comment
7 minutes ago, 1812 said:

there is also the usb to audio dongle option

For my Mac vm, this did not work for me. It worked in that it passed audio through, but there was some audio artifacts introduced that were extremely annoying (of the hiss/click/pop variety). I tried several different dongles and all of them had the same issue. Perhaps it was just my set up, I don't know...

Link to comment
40 minutes ago, 1812 said:

there is also the usb to audio dongle option. 10 dollars. problem solved.

 

30 minutes ago, DoeBoye said:

For my Mac vm, this did not work for me. It worked in that it passed audio through, but there was some audio artifacts introduced that were extremely annoying (of the hiss/click/pop variety). I tried several different dongles and all of them had the same issue. Perhaps it was just my set up, I don't know...

 

The problem is that I am not finding the new USB adapter card to pass-through. It seems like the only USB device that is showing up is the motherboard's. Even with everything unplugged (my kvm, usb audio dongle, new usb card), the same USB device shows up. I ordered a cheap usb hub. I hope that if I plug that in, it will be recognized and that I can pass it through.

 

Thank you guys.

 

H.

 

@DoeBoye Could you please let me know what hardware you use to make this work.HDMI Matrix?

Edited by hernandito
Link to comment
1 hour ago, DoeBoye said:

For my Mac vm, this did not work for me. It worked in that it passed audio through, but there was some audio artifacts introduced that were extremely annoying (of the hiss/click/pop variety). I tried several different dongles and all of them had the same issue. Perhaps it was just my set up, I don't know...

 

 

I use one on one daily with zero issues.

Link to comment
39 minutes ago, hernandito said:

The problem is that I am not finding the new USB adapter card to pass-through. It seems like the only USB device that is showing up is the motherboard's. Even with everything unplugged (my kvm, usb audio dongle, new usb card), the same USB device shows up. I ordered a cheap usb hub. I hope that if I plug that in, it will be recognized and that I can pass it through.

 

 

The usb hub will be transparent to unRaid. You can either give the vm a usb device plugged into your board, passthrough a specific usb port on your board to a vm, use the hot plug plugin (i've never used it) or best option is passthrough a complete pcie usb card.

 

If you don't isolate the pci card (stub it) from unRaid, then the system uses it as if it were onboard ports. 

 

 

I use both setups for audio: HDMI audio on one vm, and usb dongle audio on another. 

 

Link to comment

1812... Problem is that when I pass the USB Audio device (plugged directly to mobo), I get this error message when trying to launch the VM:

 

internal error: process exited while connecting to monitor: 2017-04-13T03:09:08.889483Z
qemu-system-x86_64: -device usb-kbd: tried to attach usb device QEMU USB Keyboard 
to a bus with no free ports

This is a copy of my current XML: Pastebin Link

 

Thanks,

 

H.

Link to comment

that's a new one for me.

 

try the following, but using your id's. If I remember correctly, this is how I did it a half a year ago before I just passed through an entire usb card:

 

<hostdev mode='subsystem' type='usb'>
  <source>
    <vendor id='0x03f0'/>
    <product id='0x4217'/>
  </source>
</hostdev>

 

 

Link to comment
21 hours ago, hernandito said:

Could you please let me know what hardware you use to make this work.HDMI Matrix?

Sure. Can't do it right now, but I'll get a parts list together and post it up asap!

 

As an aside, can you put your server in your forum footer. It'll make it easier for anyone helping out to see exactly what you're running... :)

 

Link to comment
On 4/13/2017 at 9:02 AM, 1812 said:

that's a new one for me.

 

try the following, but using your id's. If I remember correctly, this is how I did it a half a year ago before I just passed through an entire usb card:

 


<hostdev mode='subsystem' type='usb'>
  <source>
    <vendor id='0x03f0'/>
    <product id='0x4217'/>
  </source>
</hostdev>

 

 

 

Thank you 1812... unfortunately I got the same error message when starting the VM...:(

 

I tried taking out the kvm switch, and it does allow me to start the VM with the audio. So something with the kvm switch interferes with adding the audio. I do like the ability of using the kvm... Waiting for the USB hub I ordered. Hopefully it will show up to allow me to pass through.

 

 

Edited by hernandito
Link to comment
On 11/04/2017 at 5:16 PM, gridrunner said:

@Thingi um its a shame the soundflower tip doesnt work. Exactly what is the sound weirdness you are getting. Also did you ever try some different vbioses passed through to see if you can change the default sound out port? Nice looking build by the way! 

I would like to liquid cool my 750ti but the Arctic Accelero Hybrid III-140 here is more than i paid for my 750!

 

The weirdness is that if I boot up the VM with the DVI-HDMI dongle as the output and change the output to HDMI sound continues to work (with or without soundflower/soundflowerbed audio routing).

 

If I boot still directly connected to HDMI sound is then gone, do a another cable swap to/from the DVI adaptor all is ok via HDMI again. 

 

The first time I ever booted the VM I had working HDMI sound out, upon the 2nd and all subsequent boots it was dead, so went with the DVI-Adaptor (it only cost me £2.50 on eBay! :)).

 

Still using SoundFlower for volume control but just like a real mac is does get out of sync every now and again but thats easily fixed by re-selecting the buffer size in SoundFlowerBed.

 

Didn't bother to test the audio routing on the 750ti since it's working fine, but from the symptoms I don't think a soft-loaded bios would fix it anyway, but I suspect it would fix 'black-screen' issues some people have on some Nvidia cards as that is a card BIOS issue.

 

Edited by Thingi
Link to comment
4 hours ago, hernandito said:

 

Thank you 1812... unfortunately I got the same error message when starting the VM...:(

 

I tried taking out the kvm switch, and it does allow me to start the VM with the audio. So something with the kvm switch interferes with adding the audio. I do like the ability of using the kvm... Waiting for the USB hub I ordered. Hopefully it will show up to allow me to pass through.

 

 

 

 

No luck with the USB hub.... unRAID will not see it as a device that can be passed through.

 

At this point, I have no audio... The way I see it I can either

 

1) I need to buy some hardware that @DoeBoye uses to se if I can pass through the audio and conncet to my external powered speaker. Or

 

2) buy another USB adapter card that actually shows up. Does anyone have a USB adapter card that works better with my SuperMicro mobo? As a reminder, if I add a USB card, it will work, but does not show up as a pass through item. The on board USB is listed as: ATEN International Co. Winbond Hermon.

 

3) Perhaps it's possible to pass through the USB Adapter card by specifying the hardware code. @1812 I bought the same card as yours... what does the entry for the card look like in your XML? Something like:

    <hostdev mode='subsystem' type='usb' managed='no'>
      <source>
        <vendor id='0x0d8c'/>
        <product id='0x0014'/>
      </source>
      <address type='usb' bus='0' port='2'/>
    </hostdev> 

Thanks for all your patience guys...

 

 

 

Link to comment
2 hours ago, hernandito said:

 

 

No luck with the USB hub.... unRAID will not see it as a device that can be passed through.

 

At this point, I have no audio... The way I see it I can either

 

1) I need to buy some hardware that @DoeBoye uses to se if I can pass through the audio and conncet to my external powered speaker. Or

 

2) buy another USB adapter card that actually shows up. Does anyone have a USB adapter card that works better with my SuperMicro mobo? As a reminder, if I add a USB card, it will work, but does not show up as a pass through item. The on board USB is listed as: ATEN International Co. Winbond Hermon.

 

3) Perhaps it's possible to pass through the USB Adapter card by specifying the hardware code. @1812 I bought the same card as yours... what does the entry for the card look like in your XML? Something like:


    <hostdev mode='subsystem' type='usb' managed='no'>
      <source>
        <vendor id='0x0d8c'/>
        <product id='0x0014'/>
      </source>
      <address type='usb' bus='0' port='2'/>
    </hostdev> 

Thanks for all your patience guys...

 

 

 

 

 

this is my usb card xml

 

 <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x17' slot='0x00' function='0x0'/>
      </source>
    </hostdev>

 

but in order to pass through the card you have to make unRaid ignore it via modifying the syslinux.cfg

 

append vfio-pci.ids=1b73:1100 initrd=/bzroot

 

1b73:1100 is the id of my usb 3 card, which shows up as

 

17:00.0 USB controller [0c03]: Fresco Logic FL1100 USB 3.0 Host Controller [1b73:1100] (rev 10)

 

This entire card is passed through to a vm and is hot plug-able in the vm, like any other normal computer. 

Link to comment

Wow... thanks.... how do I get the id's of my card? The lb73:1100 part in your case?

 

If I disable it in the syslinux.cfg, will it show up as a passthrough in the VM template?

 

In the pass-through template is is where I would get the <hostdev> section with the proper values?

 

Thanks.

 

H.

 

EDIT:

Using the command "lspci -nn" returned this:

09:00.0 USB controller [0c03]: Fresco Logic FL1100 USB 3.0 Host Controller [1b73:1100] (rev 10)

It does look like our cards match. Proceeding with your solution... stay tuned...

Edited by hernandito
Link to comment

Bingo....!

 

It all works!!! 1812 thank you for guiding me with this. I would have never know about disabling the card in syslinux.cfg I still get to use the little hub I just bought, and I am not passing the kvm swith directly. I plug the kvm USB items into the little hub connected to USB card.

 

I am one happy camper.

 

Thanks again!

 

:D:D:D

 

H.

Edited by hernandito
Link to comment
6 hours ago, hernandito said:

Bingo....!

 

It all works!!! 1812 thank you for guiding me with this. I would have never know about disabling the card in syslinux.cfg I still get to use the little hub I just bought, and I am not passing the kvm swith directly. I plug the kvm USB items into the little hub connected to USB card.

 

I am one happy camper.

 

Thanks again!

 

:D:D:D

 

H.

 

 

good to hear! I'm hoping that LimeTech incorporates an easier way to do syslinux modifications in the future. 

Link to comment

Hey, 

 

Thanks for the video, and this new method which is really really faster than the old one. 

 

However I got an issue at some point: OSX was running 10x the normal speed. I browsed the thread, and found out the solution was to use older UFI files. I took those from your video from september. It did the trick. However I'm curious to know the reason of this failure for some of us :)

 

But I got other issues too ... 

 

I've been able to boot, and also been able to attach the GPU (a MSI 1070 Gaming X). However the Graphic card is not recognized on OSX, and appears incorrectly. 

 

I've attached several pictures and the VM XML + Clover config plist + devices informations are available here https://gist.github.com/arkan/0aabf5243d5fe3af82eaeb6aaf8539cc

 

Anyone has an idea? 

 

Thanks :)

 

 

Screenshot%202017-04-15%2022.47.55.png?d

 

Screenshot%202017-04-15%2022.49.29.png?d

Screenshot 2017-04-15 22.26.09.png

 

Screenshot 2017-04-15 22.27.42.png

Edited by arkan
Link to comment
28 minutes ago, arkan said:

Hey, 

 

Thanks for the video, and this new method which is really really faster than the old one. 

 

However I got an issue at some point: OSX was running 10x the normal speed. I browsed the thread, and found out the solution was to use older UFI files. I took those from your video from september. It did the trick. However I'm curious to know the reason of this failure for some of us :)

 

But I got other issues too ... 

 

I've been able to boot, and also been able to attach the GPU (a MSI 1070 Gaming X). However the Graphic card is not recognized on OSX, and appears incorrectly. 

 

I've attached several pictures and the VM XML + Clover config plist + devices informations are available here https://gist.github.com/arkan/0aabf5243d5fe3af82eaeb6aaf8539cc

 

Anyone has an idea? 

 

Thanks :)

 

 

Screenshot%202017-04-15%2022.47.55.png?d

 

Screenshot%202017-04-15%2022.49.29.png?d

Screenshot 2017-04-15 22.26.09.png

 

Screenshot 2017-04-15 22.27.42.png

 
 

 

 

 

Hi

 

th reason you were getting too fast speeds in osx using the standard clover is because it isnt patched for qemu cpu. Although some people seem to be okay others are not.

The file i put in the description of the video was dreadkopps patched version which fixes the speed.

 

the 10 series not working. To be honest i havent used my 10 series in osx yet (but will do soon)

Things to check. Make sure you are using these web drivers with 10 series support. the earlier ones are only for the earlier cards

http://www.nvidia.com/download/driverResults.aspx/117854/en-us

 

You cant turn on and off the drivers in osx from the nvidia panel.

We use the clover panel for this

make sure you have clover set like this note below nvda_drv=1 is not checked.

58f33729204bc_ScreenShot2017-04-16at10_16_59.thumb.png.494b417f59e9fc1860a485e1bc5b37d7.png

58f3372f357ee_ScreenShot2017-04-16at10_17_11.thumb.png.e4257241e1bf0e72f532f266739e64da.png

 

Also i see your graphics card is not in its own iommu group. try enabling Enable PCIe ACS Override in settings ,vm settings (you will need to toggle to advanced view there)

Make sure you reboot server afterwards

 

 

Edited by gridrunner
  • Upvote 2
Link to comment
On 16/04/2017 at 11:23 AM, gridrunner said:

 

 

 

Hi

 

th reason you were getting too fast speeds in osx using the standard clover is because it isnt patched for qemu cpu. Although some people seem to be okay others are not.

The file i put in the description of the video was dreadkopps patched version which fixes the speed.

 

the 10 series not working. To be honest i havent used my 10 series in osx yet (but will do soon)

Things to check. Make sure you are using these web drivers with 10 series support. the earlier ones are only for the earlier cards

http://www.nvidia.com/download/driverResults.aspx/117854/en-us

 

You cant turn on and off the drivers in osx from the nvidia panel.

We use the clover panel for this

make sure you have clover set like this note below nvda_drv=1 is not checked.

58f33729204bc_ScreenShot2017-04-16at10_16_59.thumb.png.494b417f59e9fc1860a485e1bc5b37d7.png

58f3372f357ee_ScreenShot2017-04-16at10_17_11.thumb.png.e4257241e1bf0e72f532f266739e64da.png

 

Also i see your graphics card is not in its own iommu group. try enabling Enable PCIe ACS Override in settings ,vm settings (you will need to toggle to advanced view there)

Make sure you reboot server afterwards

 

 

 

Hey Gridrunner,

 

Thanks for the reply.

I solved the issue by upgrading the nVidia driver to the latest available one: https://images.nvidia.com/mac/pkg/378/WebDriver-378.05.05.05f01.pkg 

So now "almost" everything is working properly. :D 

 

The last issue is the sound. I have tested 3 different ways to have sound which where:

- USB SoundCard 

- Bluetooth headset 

- Splashtop sound driver 

 

All of these solutions suffered from noice crackling/stops for a few milliseconds.  I also noticed having the similar issue(less noticeable though) on my Windows Gaming Rig also running on unRaid.

 

I haven't configured anything on unRaid regarding the CPUs with `isolcpus`  for example. Should I? Is there any other things that I should be taking care of? 

 

Thanks :)

 

 

Edited by arkan
Link to comment

First, I want to thank Gridrunner for all of his guides.  It takes a lot of time and effort and it is much appreciated.  I am in the process of following your most recent fast, easy way for OSX and I've run into a problem.  When I remove the interface type down section in the XML and copy in your version and try to update the XML, I get the following error message:

 

VM creation error

XML error: Attempted double use of PCI slot 0000:02:03.0 (may need "multifunction='on'" for device on function 0)

 

 

Here is my XML after copying in your section.  Of course I've redacted the OSK key.

 

<domain type='kvm'>
  <name>New Sierra</name>
  <uuid>0bb835f2-80b6-8130-4e3e-4731b8ff862d</uuid>
  <metadata>
    <vmtemplate xmlns="unraid" name="Linux" icon="linux.png" os="linux"/>
  </metadata>
  <memory unit='KiB'>4194304</memory>
  <currentMemory unit='KiB'>4194304</currentMemory>
  <memoryBacking>
    <nosharepages/>
  </memoryBacking>
  <vcpu placement='static'>4</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='4'/>
    <vcpupin vcpu='1' cpuset='5'/>
    <vcpupin vcpu='2' cpuset='6'/>
    <vcpupin vcpu='3' cpuset='7'/>
  </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/0bb835f2-80b6-8130-4e3e-4731b8ff862d_VARS-pure-efi.fd</nvram>
  </os>
  <features>
    <acpi/>
    <apic/>
  </features>
  <cpu mode='host-passthrough'>
    <topology sockets='1' cores='2' threads='2'/>
  </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 Sierra.img'/>
      <target dev='hdc' bus='virtio'/>
      <boot order='1'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x03' function='0x0'/>
    </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='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='0x00' function='0x0'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x02' 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=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx'/>
       <qemu:arg value='-smbios'/>
       <qemu:arg value='type=2'/>
       <qemu:arg value='-cpu'/>
       <qemu:arg value='Penryn,vendor=GenuineIntel'/>
     </qemu:commandline>
   </domain>

 

 

I'm a true novice at this stuff.  Clearly I have a PCI conflict but don't know enough to get myself moving forward.  Any ideas where I've gone wrong?  Thanks in advance for any advice...

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