Pavel Nasovich's Blog
TL;DR Using SpaceinvaderOne’s docker app named Macinabox
install MacOS, then install Splashtop Streamer and NVIDIA WebDriver for GPU and then update XML config
Start from this SpaceinvaderOne’s video about Macinbox - you will get all information
Then install Macinbox - it will download all needed stuff for you and install MacOS
After that login to VM and install two apps:
webdriver.sh
- Bash script for managing NVIDIA’s web drivers on macOS High Sierra and later with an option to set the required build number in NVDAStartupWeb.kext and NVDAEGPUSupport.kext.Install webdriver.sh
with Homebrew
brew tap vulgo/repo
brew install webdriver.sh
Update to the latest release
brew upgrade webdriver.sh
Install the latest drivers
webdriver
Installs/updates to the latest available NVIDIA web drivers for your current version of macOS.
Just download the app from website and install it (it’s free for personal usage in local environment)
You should update the xml configuration each time after you changed something using ‘UI’ interface (memory, GPU or CPU core count)
Update original ethernet config section with
<interface type='bridge'>
<mac address='12:14:10:17:2f:f5'/>
<source bridge='br0'/>
<model type='vmxnet3'/>
<address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
</interface>
or
<interface type='bridge'>
<mac address='12:14:10:17:2f:f5'/>
<source bridge='br0'/>
<model type='e1000-82545em'/>
<address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
</interface>
Put in the very botton of the XML config
<qemu:commandline>
<qemu:arg value='-usb'/>
<qemu:arg value='-device'/>
<qemu:arg value='usb-kbd,bus=usb-bus.0'/>
<qemu:arg value='-device'/>
<qemu:arg value='isa-applesmc,osk=ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc'/>
<qemu:arg value='-smbios'/>
<qemu:arg value='type=2'/>
<qemu:arg value='-cpu'/>
<qemu:arg value='Penryn,kvm=on,vendor=GenuineIntel,+invtsc,vmware-cpuid-freq=on,+pcid,+ssse3,+sse4.2,+popcnt,+avx,+aes,+xsave,+xsaveopt,check'/>
</qemu:commandline>
You may get duplicate apple image on boot up after, if you so you should change the OS line:
<os>
<type arch='x86_64' machine='pc-q35-3.1'>hvm</type>
<loader readonly='yes' type='pflash'>/mnt/user/domains/MacinaboxHighSierra/ovmf/OVMF_CODE.fd</loader>
<nvram>/mnt/user/domains/MacinaboxHighSierra/ovmf/OVMF_VARS.fd</nvram>
</os>
Just in case you want to have nice icon in VM manager
<vmtemplate xmlns="unraid" name="MacOS" icon="/mnt/user/domains/MacinaboxHighSierra/icon/highsierra.png" os="HighSierra"/>