[Support] SpaceinvaderOne - Macinabox


Recommended Posts

Mission accomplished.

The Inateck arrived half an hour ago, and everything went smooth as silk:
Install->Bind to VFIO->Select in VM->Soundsticks playing perfectly.

 

Update: Avoid installing the genuine Inateck drivers for Windows with this device in a VM. It will interfere with the PCIe device reset and cause error 127. The generic Microsoft driver works fine.

Edited by disco4000
Update
  • Like 1
Link to comment
On 8/17/2021 at 2:40 PM, ghost82 said:

 

UPDATE: sorry, this was in some way misleading.

It seems the patch is no longer working from big sur 11.3 beta, and it seems there's no ready workaround possible; see also here:

https://github.com/ofawx/VmAssetCacheEnable/issues/1

 

 

It was discussed here in the forum in the past.

Content caching is enabled (not greyed) in system preferences if the kernel doesn't see the VMM flag in cpu futures.

Easiest way is to apply a kernel patch in the bootloader (opencore): following patch will change the name of the VMM flag (to XXX) and content caching will be enabled.

Add this in the EFI/OC/config.plist

 

	<key>Kernel</key>
	<dict>
		<key>Add</key>
		<array>
.....
.....
		<key>Patch</key>
		<array>
.....
.....
			<dict>
				<key>Arch</key>
				<string>Any</string>
				<key>Base</key>
				<string></string>
				<key>Comment</key>
				<string>Block sysctl machdep.cpu.features VMM flag</string>
				<key>Count</key>
				<integer>1</integer>
				<key>Enabled</key>
				<true/>
				<key>Find</key>
				<data>AFZNTQA=</data>
				<key>Identifier</key>
				<string>kernel</string>
				<key>Limit</key>
				<integer>0</integer>
				<key>Mask</key>
				<data></data>
				<key>MaxKernel</key>
				<string></string>
				<key>MinKernel</key>
				<string></string>
				<key>Replace</key>
				<data>AFhYWAA=</data>
				<key>ReplaceMask</key>
				<data></data>
				<key>Skip</key>
				<integer>0</integer>
			</dict>
......
......
		</array>

 

 

 

Hello

 

I spent some time spinning my wheels trying to get Content Caching to work on my recent BigSur install.   The addition of this to my config.plist didn't seem to resolve the issue.   Is there a step I missed?  Was I supposed to apply the previously mentioned patch as well?

 

The behavior:  

 

I was able to get the BigSur (11.5.2) install up and running with some minor hiccups from SpaceInvader's tutorial.   One thing that I was struggling with originally was the build-in eth0 thing.    I resolved that successfully and was able to sign in with my Apple ID.  

 

When I applied the snipped code above and rebooted, it seemed to kick me out of my Apple ID within the install and I had to sign in again (with 2FA, etc).  

 

I headed over to the Content Caching function and the checkbox is still grey.  

 

Not sure if there is anything to try next.

 

 

 

 

Link to comment
1 hour ago, TheSpatulaOfLove said:

I headed over to the Content Caching function and the checkbox is still grey.

Hi, there's no solution at the time of writing for recent version of big sur (>=11.3), so applying the mentioned patch to the kernel is not enough.

Apple in recent os checks for some other and that's why we are still unable to enable content cache.

It's far from my knowledge on how to write a new patch, because it could require the coding of a lilu plugin.

 

Apple is also changing a lot of things with monterey and ota delta updates: we are aware of what's causing this, but changes to bootloader are in standby, and they will be probably pushed in a pr when monterey release will be out.

Edited by ghost82
  • Like 1
Link to comment
52 minutes ago, ghost82 said:

Hi, there's no solution at the time of writing for recent version of big sur (>=11.3), so applying the mentioned patch to the kernel is not enough.

Apple in recent os checks for some other and that's why we are still unable to enable content cache.

It's far from my knowledge on how to write a new patch, because it could require the coding of a lilu plugin.

 

Apple is also changing a lot of things with monterey and ota delta updates: we are aware of what's causing this, but changes to bootloader are in standby, and they will be probably pushed in a pr when monterey release will be out.

 

Thanks for the clarification.  

 

I'm not looking to do anything super-whiz-bang on this VM.   Content caching was a nice to have, but what I'm most interested in was having all the iOS devices (10 of them) wirelessly sync/backup to the OSX VM since no one in my family seems to care about backing their crap up. 

 

In order to meet my objectives within the limits of the current state, would you recommend I start over with a High Sierra (or other) install?

 

Edited by TheSpatulaOfLove
Link to comment
12 minutes ago, TheSpatulaOfLove said:

In order to meet my objectives within the limits of the current state, would you recommend I start over with a High Sierra (or other) install?

I don't recommend high sierra if you care about security.

Latest oses which are receiving security updates are Mojave, Catalina, and Big Sur (support for Mojave will end when Monterey will come out).

And usually it's better to have the latest os, so for the time being, I would recommend Big Sur.

Moreover, I don't know if Catalina/Mojave are affected by the same issue (patch VMM to XXX not working), as this thing could have been introduced with latest security updates for all supported oses.

Edited by ghost82
  • Like 1
Link to comment

~~PREFACE~~
Hi, This is my first VM i'm a total noob.

 

So I'm going thru the tutorial and I get to the Mac recovery system part where you format the disk and then you click Reinstall macOS Big Sur. it then tells me I have no internet connection to download it.

I think its because I have a bounded connection:
bond0    load balancing (xor), mtu 1500    
eth0    1000 Mbps, full duplex, mtu 1500    
eth1    1000 Mbps, full duplex, mtu 1500    

 

I'm not sure if its a XML I need to edit or in this thread they installed some vertio NIC:

 

 

Ive read also that its a bug in the KVM with bounded connections 

Not sure if its still there or if they fixed it 

Anyway Im not even sure where you start because I'm not even sure what's wrong but that is what I've found. 

What I've tried
I'm running in bridge mode didn't work also tried Host and didn't work

Link to comment

Hi guys,

I assembled a new server recently for CAD and backups.
The hardware is: AMD 3900X, 32Gb of RAM, Gigabyte x570 Aorus Master and a quadro P2000.
I already got a vbios for the graphic card as I created a windows 10 VM that uses the graphic card passed through and it works well.

A client would like me to switch to an other software that runs on macOS so I created a Big Sur VM for that purpose following Ed's tutorial video. The created VM works fine by default but once I add more cores or ram it just fails to start.

The default VM has this in the logs and starts successfully:

2021-09-11 14:51:29.452+0000: Domain id=13 is tainted: high-privileges
2021-09-11 14:51:29.452+0000: Domain id=13 is tainted: custom-argv
2021-09-11 14:51:29.452+0000: Domain id=13 is tainted: host-cpu
char device redirected to /dev/pts/0 (label charserial0)
2021-09-11T14:51:29.536602Z qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.01H:ECX.pcid [bit 17]
2021-09-11T14:51:29.538455Z qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.01H:ECX.pcid [bit 17]

 

The modified VM with more cores/ram does not start and has the following in the logs:
 

2021-09-11 15:05:15.443+0000: Domain id=14 is tainted: high-privileges
2021-09-11 15:05:15.443+0000: Domain id=14 is tainted: custom-argv
2021-09-11 15:05:15.443+0000: Domain id=14 is tainted: host-cpu
char device redirected to /dev/pts/0 (label charserial0)
2021-09-11T15:05:15.518389Z qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.01H:ECX.pcid [bit 17]
2021-09-11T15:05:15.520125Z qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.01H:ECX.pcid [bit 17]
2021-09-11T15:05:15.521351Z qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.01H:ECX.pcid [bit 17]
2021-09-11T15:05:15.522640Z qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.01H:ECX.pcid [bit 17]
2021-09-11T15:05:15.523874Z qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.01H:ECX.pcid [bit 17]
2021-09-11T15:05:15.525117Z qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.01H:ECX.pcid [bit 17]
2021-09-11T15:05:15.526324Z qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.01H:ECX.pcid [bit 17]
2021-09-11T15:05:15.527554Z qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.01H:ECX.pcid [bit 17]
2021-09-11T15:05:15.528849Z qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.01H:ECX.pcid [bit 17]
2021-09-11T15:05:15.530110Z qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.01H:ECX.pcid [bit 17]
2021-09-11T15:05:15.531380Z qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.01H:ECX.pcid [bit 17]
2021-09-11T15:05:15.532699Z qemu-system-x86_64: warning: host doesn't support requested feature: CPUID.01H:ECX.pcid [bit 17]

 

I don't understand why the default VM starts and not the modified one as it seems to be the same kind of warnings as in the default VM.
I followed recommended steps in the video and always ran the script after modifying the VM. I also tried to modify the script with the option REMOVETOPOLOGY set to yes for non-standard hardware but it doesn't help. I can get the VM working again by changing the xml file back to its default settings after the installation (2 CPU cores and 4 Gb of ram)

I'm not even trying to add the graphics card yet.

Any help would be much appreciated.
Thanks

Edited by cam217
Link to comment
2 minutes ago, ghost82 said:

Logs are ok, nothing to worry about.

Most probably you missed to add again the custom qemu args at the bottom of the xml:

https://github.com/SpaceinvaderOne/Macinabox/blob/master/xml/Macinabox BigSur.xml#L134-L144

Hi,

Thanks. I believe I have tried.

I actually modify a bit the xml and then starts again the VM to check if it works. It does not seems to accept it very well when I try to add the graphics card.
Here's what works right now in my xml
 

<?xml version='1.0' encoding='UTF-8'?>
<domain type='kvm' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
  <name>Macinabox BigSur</name>
  <uuid>03a0178a-b9cd-4a0b-b8e8-48d418330bd2</uuid>
  <description>MacOS Big Sur</description>
  <metadata>
    <vmtemplate xmlns="unraid" name="BigSur" icon="BigSur.png" os="osx"/>
  </metadata>
  <memory unit='KiB'>25165824</memory>
  <currentMemory unit='KiB'>25165824</currentMemory>
  <memoryBacking>
    <nosharepages/>
  </memoryBacking>
  <vcpu placement='static'>18</vcpu>
  <cputune>
    <vcpupin vcpu='0' cpuset='1'/>
    <vcpupin vcpu='1' cpuset='13'/>
    <vcpupin vcpu='2' cpuset='3'/>
    <vcpupin vcpu='3' cpuset='15'/>
    <vcpupin vcpu='4' cpuset='5'/>
    <vcpupin vcpu='5' cpuset='17'/>
    <vcpupin vcpu='6' cpuset='6'/>
    <vcpupin vcpu='7' cpuset='18'/>
    <vcpupin vcpu='8' cpuset='7'/>
    <vcpupin vcpu='9' cpuset='19'/>
    <vcpupin vcpu='10' cpuset='8'/>
    <vcpupin vcpu='11' cpuset='20'/>
    <vcpupin vcpu='12' cpuset='9'/>
    <vcpupin vcpu='13' cpuset='21'/>
    <vcpupin vcpu='14' cpuset='10'/>
    <vcpupin vcpu='15' cpuset='22'/>
    <vcpupin vcpu='16' cpuset='11'/>
    <vcpupin vcpu='17' cpuset='23'/>
  </cputune>
  <os>
    <type arch='x86_64' machine='pc-q35-5.1'>hvm</type>
    <loader readonly='yes' type='pflash'>/mnt/user/system/custom_ovmf/Macinabox_CODE-pure-efi.fd</loader>
    <nvram>/mnt/user/system/custom_ovmf/Macinabox_VARS-pure-efi.fd</nvram>
  </os>
  <features>
    <acpi/>
    <apic/>
  </features>
  <cpu mode='host-passthrough' check='none' migratable='on'/>
  <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/isos/BigSur-opencore.img'/>
      <target dev='hdc' bus='sata'/>
      <boot order='1'/>
      <address type='drive' controller='0' bus='0' target='0' unit='2'/>
    </disk>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='writeback'/>
      <source file='/mnt/user/domains/Macinabox BigSur/macos_disk.img'/>
      <target dev='hdd' bus='sata'/>
      <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-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='2' port='0x11'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1'/>
    </controller>
    <controller type='pci' index='3' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='3' port='0x12'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x2'/>
    </controller>
    <controller type='pci' index='4' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='4' port='0x13'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x3'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:9d:00:66'/>
      <source bridge='br0'/>
      <model type='e1000-82545em'/>
      <address type='pci' domain='0x0000' bus='0x01' slot='0x00' 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='0x03' slot='0x00' function='0x0'/>
    </memballoon>
  </devices>
  <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='************************'/>
    <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>

 

Link to comment

As with most, logs doesn't show anything specific. The booting process hangs for ever and I have to force the VM to shutdown.

As I mentioned in my first post, I use a Nvidia Quadro P2000. That same GPU is also used (not at the same time of course) in an other VM which uses Windows 10 Pro passed through and it works with the vbios.
To try to add the graphics card I add the following code

    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x0b' slot='0x00' function='0x0'/>
      </source>
      <rom file='/mnt/user/isos/vbios/Quadro_P2000_DL.rom'/>
      <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x0' multifunction='on'/>
    </hostdev>
    <hostdev mode='subsystem' type='pci' managed='yes'>
      <driver name='vfio'/>
      <source>
        <address domain='0x0000' bus='0x0b' slot='0x00' function='0x1'/>
      </source>
      <address type='pci' domain='0x0000' bus='0x04' slot='0x00' function='0x1'/>
    </hostdev>

 

In place of

    <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>

 

Thanks for helping 😊

Link to comment

Tried to install but VM crashes during installation, this is last events on log file :

 

2021-09-14 20:30:32.538+0000: Domain id=4 is tainted: high-privileges
2021-09-14 20:30:32.538+0000: Domain id=4 is tainted: custom-argv
2021-09-14 20:30:32.538+0000: Domain id=4 is tainted: host-cpu

 

Link to comment

I followed along the tutorial video without issue until we turned off the VM, updated core/RAM, userscripts, started VM. It asked me to choose my drive, chose bigsur (like i named it) and I get stuck at this. Any thoughts? I’ve redone this VM again and same issue. Tried different core/ram settings, default included. Nada.

FEB51C67-14DD-4971-BB53-54EAE7A7E65A.jpeg

Link to comment
1 minute ago, Malachi89 said:

I followed along the tutorial video without issue until we turned off the VM, updated core/RAM, userscripts, started VM. It asked me to choose my drive, chose bigsur (like i named it) and I get stuck at this. Any thoughts? I’ve redone this VM again and same issue. Tried different core/ram settings, default included. Nada.

FEB51C67-14DD-4971-BB53-54EAE7A7E65A.jpeg


I went down this exact path last week-end. Get back to your stock XML and edit one by one ram and CPUs and start over the VM to make sure it does starts each time you modify anything.
The only thing that does not work here when you're stuck on that screen is your VM XML.

Link to comment
2 minutes ago, cam217 said:


I went down this exact path last week-end. Get back to your stock XML and edit one by one ram and CPUs and start over the VM to make sure it does starts each time you modify anything.
The only thing that does not work here when you're stuck on that screen is your VM XML.

Do you mean go as far as adding one core at a time, and boot in between each, or just edit one FIELD at a time, with a boot in between?

Link to comment
8 minutes ago, Malachi89 said:

Do you mean go as far as adding one core at a time, and boot in between each, or just edit one FIELD at a time, with a boot in between?

 

Yep, one field at a time so you know what's causing an issue.

 

Keep in mind that you need to run Ed's user script each time and modify it if you get an unusual amount of cores.

Edited by cam217
Link to comment
37 minutes ago, cam217 said:


I went down this exact path last week-end. Get back to your stock XML and edit one by one ram and CPUs and start over the VM to make sure it does starts each time you modify anything.
The only thing that does not work here when you're stuck on that screen is your VM XML.

Running into the same thing here. Is there a way to revert to stock XML? I thought I selected all the original specs, but I still can't get it to boot properly.

Link to comment

If you have not backed it up I don't think there is. Maybe you can get it somewhere in this topic.
Mine is already modified a few posts up.

EDIT: You could try to modify yours with bits of mine. I think the one thing that messed things up for me was modifying the SATA drives.

Edited by cam217
Link to comment
5 hours ago, cam217 said:

 

Yep, one field at a time so you know what's causing an issue.

 

Keep in mind that you need to run Ed's user script each time and modify it if you get an unusual amount of cores.

Good news is you were bang on! I added everything one at a time, updated the SCRIPT, started. BAM. 

I am now stuck at one part. GPU passthrough comes up a black screen. I can switch back to VNC, and it works. But still. Doing some digging. Running a Gigabyte AMD Radeon RT 5700 XT.

  • Like 1
Link to comment
1 hour ago, Malachi89 said:

Good news is you were bang on! I added everything one at a time, updated the SCRIPT, started. BAM. 

I am now stuck at one part. GPU passthrough comes up a black screen. I can switch back to VNC, and it works. But still. Doing some digging. Running a Gigabyte AMD Radeon RT 5700 XT.

 

These is also a video from Ed explaining the graphics card passthrough. Eventually you'll need to dump your card firmware.

Been there as well for a windows 10 VM, and I'm fucked as Quadro cards with pascal architecture will not work in macOS 😅

 

Good luck 😊

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.