[Support] SpaceinvaderOne - Macinabox


Recommended Posts

Everything seems ok with the VoodooHDA kext too, but for some reason it's not working..I read that series 10 can have some problem in recognizing all ports, but I can't test, someone suggests to change port, someone suggests to disconnect and reconnect the cable, someone says that the hdmi audio works only if a DP port is connected too..I have a GTX titan black and everything works with applealc, without any problem.

I'm afraid I cannot be of more help, maybe you can try the DP ports too and see if the audio works there.

Link to comment
1 hour ago, ghost82 said:

Everything seems ok with the VoodooHDA kext too, but for some reason it's not working..I read that series 10 can have some problem in recognizing all ports, but I can't test, someone suggests to change port, someone suggests to disconnect and reconnect the cable, someone says that the hdmi audio works only if a DP port is connected too..I have a GTX titan black and everything works with applealc, without any problem.

I'm afraid I cannot be of more help, maybe you can try the DP ports too and see if the audio works there.

 

I tired a DisplayPort to hdmi adapter (my monitor doesn't have DP) but still no luck.

Version 10.13.6.

No worries, thanks for your help, I had the same issue with a GTX 960 years ago and just gave up, thought I'd give it another guy with this docker.

Link to comment
On 1/1/2020 at 7:30 PM, JohnGAG said:

Great docker/VM and install instructions - all works well when you follow them correctly - thanks

 

I was expecting (hoping) to pass through Unraid Shares as local volumes to the “MacinaBox”

In the forms view I added


3rd Unraid Share:    /mnt/user/Backup/
3rd Unraid Mount tag:    U_backup

and it generated as XML


<filesystem type='mount' accessmode='passthrough'>
      <source dir='/mnt/user/Backup/'/>
      <target dir='U_backup'/>
      <alias name='fs2'/>
      <address type='pci' domain='0x0000' bus='0x05' slot='0x00' function='0x0'/>
    </filesystem>

But I can’t see the shares anywhere 
(other than as Remote volumes on the unraid server)

The share has both AFP and SMB exports as secure

Am I missing something I should have done?

@JohnGAG

Yeah, I've been trying to figure this out as well.

Pretty essential for me, since want to use the VM to write direct to the array without using a network share.

 

If you figure it out please shout!

Link to comment
14 hours ago, egtrev said:

Here it is, thank you.

Just to be sure this isn't related to the clover bootloader, can you try opencore?

I prepared a qcow2 image for you to try with all drivers/kexts you should need.

Product name: iMac14,1, preserved serial

Inject: nvidia drivers

Kexts to inject: lilu, whatevergreen, applealc, agpminjector, applelpcinjector

Drivers: apfs, HFSPlus, FWRuntimeServices, AppleUsbKbDxe

 

PS: not sure if driver apfs will be able to load partition, this is coming from my catalina installation, slightly patched, let me know if it doesn't boot

 

Instructions:

Download the opencore image from here:

<Link sent via pm, since the image contains s.n.>

 

1- make sure you can access your unraid server shares, where your actual clover.qcow2 image is saved

2- backup your clover.qcow2 image, just to be sure

3- do not delete the clover.qcow2 image, extract opencore.qcow2.zip and copy opencore.qcow2 in the same folder where your actual clover.qcow2 image is stored on the unraid server

4- modifiy the vm template to point to the new opencore.qcow2 image instead of clover.qcow2 image

5- if you have problems just edit again the vm template to point to clover.qcow2 image

 

Let me know

Edited by ghost82
  • Like 1
Link to comment

I cannot get any version of Macos to work on my unraid. I have used mostly Macinabox, but tried also with "old" style installing Mojave. Unraid server is Ryzen 3600, Asrock X570 Phantom Gaming 4, 2 nvme drives and 6 hdd:s and 1 sata ssd to cache. No matter are the folders default or in the nvme drive, vnc just spins on empty.

I have deleted all and tryet to install again with no luck. 

Anyone have idea what to try next? I have windows 10 working like a charm, so this is macos thing I gues. :)

Unraid version is latest 6.8.1.

Here are my configs and VM log:

 

 

log.txt os.xml

Edited by iccb
Link to comment
12 hours ago, ghost82 said:

Let me know

 

Unfortunately it is the same as before with no audio devices shown.

Also seem to have some graphics issues now (this was with Clover too before trying Opencore) the login in screen has lines show up and kind of like refreshes, same thing if I full screen a video.

Link to comment
On 1/21/2020 at 8:57 PM, ghost82 said:

Did you try to change the system definition to imac18,x for example?iMac14,1 is quite old and can be the cause of your issues.

I tried changing this in Clover and still the same issue. Thanks for the help with it, think it's time to give up on this one.

Link to comment
On 1/21/2020 at 8:30 AM, ghost82 said:

Just to be sure this isn't related to the clover bootloader, can you try opencore?

I prepared a qcow2 image for you to try with all drivers/kexts you should need.

Product name: iMac14,1, preserved serial

Inject: nvidia drivers

Kexts to inject: lilu, whatevergreen, applealc, agpminjector, applelpcinjector

Drivers: apfs, HFSPlus, FWRuntimeServices, AppleUsbKbDxe

 

PS: not sure if driver apfs will be able to load partition, this is coming from my catalina installation, slightly patched, let me know if it doesn't boot

 

Instructions:

Download the opencore image from here:

<Link sent via pm, since the image contains s.n.>

 

1- make sure you can access your unraid server shares, where your actual clover.qcow2 image is saved

2- backup your clover.qcow2 image, just to be sure

3- do not delete the clover.qcow2 image, extract opencore.qcow2.zip and copy opencore.qcow2 in the same folder where your actual clover.qcow2 image is stored on the unraid server

4- modifiy the vm template to point to the new opencore.qcow2 image instead of clover.qcow2 image

5- if you have problems just edit again the vm template to point to clover.qcow2 image

 

Let me know

I did use opencore for the first time and I successfully made it to boot.

I wonder if you can take a look at my config.plist and maybe enhance it further more for Catalina VM. there is no specific VMS guide for opencore bootloader.

* I did mask the serial and other sensitive information.

config.plist

Link to comment

Hey!

 

I successfully installed Catalina with Macinabox, no problems whatsoever. Fantastic job @SpaceInvaderOne 👍

 

Now I want to passthrough an AMD HD 7850 to this VM but I am stuck with no signal to the monitor. Yes, I changed the xml after inserting the GPU, I also used a custom rom from Techpowerup as the card sits in the first slot.

 

I really have no clue what to do I am complete noob regarding this stuff. My first attempt was to put "verde.kext" in the clover folder. Do I have to activate this kext? How? Or is it enough to put it in the folder?

 

Then I added "-raddvi" to the boot arguments in clover. But still no signal from any port: DVI, HDMI, DP.

 

Is there a chance to get this card working or is this GPU just too old for catalina?

Edited by SignorRossi
Link to comment

Finally got this working, I found manually making the changes in a good copy of the XML one at a time paid off and then pasting the whole thing in worked better (maybe some change was missing?)

 

2 cores on my E5 2650v2s weren't enough for decent performance, but 4 seems to be solid. I might up it to 6-8 eventually.

Link to comment

The docker was setup and it looked like all the files are there but the VM never showed up. Any ideas? I left all the paths default.

 

ErrorWarningSystemArrayLogin



<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Starting process at Mon Jan 27 04:13:26 America 2020
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

I am going to download the Catalina recovery media. Please be patient!
.
.
Collecting requests (from -r requirements.txt (line 1))
Downloading https://files.pythonhosted.org/packages/51/bd/23c926cd341ea6b7dd0b2a00aba99ae0f828be89d72b2190f27c11d4b7fb/requests-2.22.0-py2.py3-none-any.whl (57kB)
Collecting click (from -r requirements.txt (line 2))
Downloading https://files.pythonhosted.org/packages/fa/37/45185cb5abbc30d7257104c434fe0b07e5a195a6847506c074527aa599ec/Click-7.0-py2.py3-none-any.whl (81kB)
Collecting urllib3!=1.25.0,!=1.25.1,<1.26,>=1.21.1 (from requests->-r requirements.txt (line 1))
Downloading https://files.pythonhosted.org/packages/e8/74/6e4f91745020f967d09332bb2b8b9b10090957334692eb88ea4afe91b77f/urllib3-1.25.8-py2.py3-none-any.whl (125kB)
Collecting certifi>=2017.4.17 (from requests->-r requirements.txt (line 1))
Downloading https://files.pythonhosted.org/packages/b9/63/df50cac98ea0d5b006c55a399c3bf1db9da7b5a24de7890bc9cfd5dd9e99/certifi-2019.11.28-py2.py3-none-any.whl (156kB)
Collecting chardet<3.1.0,>=3.0.2 (from requests->-r requirements.txt (line 1))
Downloading https://files.pythonhosted.org/packages/bc/a9/01ffebfb562e4274b6487b4bb1ddec7ca55ec7510b22e4c51f14098443b8/chardet-3.0.4-py2.py3-none-any.whl (133kB)
Requirement already satisfied: idna<2.9,>=2.5 in /usr/lib/python2.7/dist-packages (from requests->-r requirements.txt (line 1))
Installing collected packages: urllib3, certifi, chardet, requests, click
Successfully installed certifi-2019.11.28 chardet-3.0.4 click-7.0 requests-2.22.0 urllib3-1.25.8
2020-01-27 04:13:28,105 Network Request: Fetching https://swscan.apple.com/content/catalogs/others/index-10.15-10.14-10.13-10.12-10.11-10.10-10.9-mountainlion-lion-snowleopard-leopard.merged-1.sucatalog
2020-01-27 04:13:29,035 
Full install starting to unraid domain /image/MacinaboxCatalina
.
.
mkdir: created directory '/image/MacinaboxCatalina'
I have created the Macinabox directories
.
.
Formatting '//image/MacinaboxCatalina/macos_disk.img', fmt=raw size=107374182400
.
Created vdisk as type raw
.
.

dmg2img v1.6.7 (c) vu1tur ([email protected])

/Macinabox/tools/FetchMacOS/BaseSystem/BaseSystem.dmg --> /image/MacinaboxCatalina/Catalina-install.img


decompressing:
opening partition 0 ...  50.00%100.00% ok
opening partition 1 ...  50.00%100.00% ok
opening partition 2 ...  50.00%100.00% ok
opening partition 3 ...  50.00%100.00% ok
opening partition 4 ...  0.17% 0.34% 0.51% 0.67% 0.84% 1.01% 1.18% 1.35% 1.52% 1.68% 1.85% 2.02% 2.19% 2.36% 2.53% 2.69% 2.86% 3.03% 3.20% 3.37% 3.54% 3.70% 3.87% 4.04% 4.21% 4.38% 4.55% 4.71% 4.88% 5.05% 5.22% 5.39% 5.56% 5.72% 5.89% 6.06% 6.23% 6.40% 6.57% 6.73% 6.90% 7.07% 7.24% 7.41% 7.58% 7.74% 7.91% 8.08% 8.25% 8.42% 8.59% 8.75% 8.92% 9.09% 9.26% 9.43% 9.60% 9.76% 9.93% 10.10% 10.27% 10.44% 10.61% 10.77% 10.94% 11.11% 11.28% 11.45% 11.62% 11.78% 11.95% 12.12% 12.29% 12.46% 12.63% 12.79% 12.96% 13.13% 13.30% 13.47% 13.64% 13.80% 13.97% 14.14% 14.31% 14.48% 14.65% 14.81% 14.98% 15.15% 15.32% 15.49% 15.66% 15.82% 15.99% 16.16% 16.33% 16.50% 16.67% 16.84% 17.00% 17.17% 17.34% 17.51% 17.68% 17.85% 18.01% 18.18% 18.35% 18.52% 18.69% 18.86% 19.02% 19.19% 19.36% 19.53% 19.70% 19.87% 20.03% 20.20% 20.37% 20.54% 20.71% 20.88% 21.04% 21.21% 21.38% 21.55% 21.72% 21.89% 22.05% 22.22% 22.39% 22.56% 22.73% 22.90% 23.06% 23.23% 23.40% 23.57% 23.74% 23.91% 24.07% 24.24% 24.41% 24.58% 24.75% 24.92% 25.08% 25.25% 25.42% 25.59% 25.76% 25.93% 26.09% 26.26% 26.43% 26.60% 26.77% 26.94% 27.10% 27.27% 27.44% 27.61% 27.78% 27.95% 28.11% 28.28% 28.45% 28.62% 28.79% 28.96% 29.12% 29.29% 29.46% 29.63% 29.80% 29.97% 30.13% 30.30% 30.47% 30.64% 30.81% 30.98% 31.14% 31.31% 31.48% 31.65% 31.82% 31.99% 32.15% 32.32% 32.49% 32.66% 32.83% 33.00% 33.16% 33.33% 33.50% 33.67% 33.84% 34.01% 34.18% 34.34% 34.51% 34.68% 34.85% 35.02% 35.19% 35.35% 35.52% 35.69% 35.86% 36.03% 36.20% 36.36% 36.53% 36.70% 36.87% 37.04% 37.21% 37.37% 37.54% 37.71% 37.88% 38.05% 38.22% 38.38% 38.55% 38.72% 38.89% 39.06% 39.23% 39.39% 39.56% 39.73% 39.90% 40.07% 40.24% 40.40% 40.57% 40.74% 40.91% 41.08% 41.25% 41.41% 41.58% 41.75% 41.92% 42.09% 42.26% 42.42% 42.59% 42.76% 42.93% 43.10% 43.27% 43.43% 43.60% 43.77% 43.94% 44.11% 44.28% 44.44% 44.61% 44.78% 44.95% 45.12% 45.29% 45.45% 45.62% 45.79% 45.96% 46.13% 46.30% 46.46% 46.63% 46.80% 46.97% 47.14% 47.31% 47.47% 47.64% 47.81% 47.98% 48.15% 48.32% 48.48% 48.65% 48.82% 48.99% 49.16% 49.33% 49.49% 49.66% 49.83% 50.00% 50.17% 50.34% 50.51% 50.67% 50.84% 51.01% 51.18% 51.35% 51.52% 51.68% 51.85% 52.02% 52.19% 52.36% 52.53% 52.69% 52.86% 53.03% 53.20% 53.37% 53.54% 53.70% 53.87% 54.04% 54.21% 54.38% 54.55% 54.71% 54.88% 55.05% 55.22% 55.39% 55.56% 55.72% 55.89% 56.06% 56.23% 56.40% 56.57% 56.73% 56.90% 57.07% 57.24% 57.41% 57.58% 57.74% 57.91% 58.08% 58.25% 58.42% 58.59% 58.75% 58.92% 59.09% 59.26% 59.43% 59.60% 59.76% 59.93% 60.10% 60.27% 60.44% 60.61% 60.77% 60.94% 61.11% 61.28% 61.45% 61.62% 61.78% 61.95% 62.12% 62.29% 62.46% 62.63% 62.79% 62.96% 63.13% 63.30% 63.47% 63.64% 63.80% 63.97% 64.14% 64.31% 64.48% 64.65% 64.81% 64.98% 65.15% 65.32% 65.49% 65.66% 65.82% 65.99% 66.16% 66.33% 66.50% 66.67% 66.84% 67.00% 67.17% 67.34% 67.51% 67.68% 67.85% 68.01% 68.18% 68.35% 68.52% 68.69% 68.86% 69.02% 69.19% 69.36% 69.53% 69.70% 69.87% 70.03% 70.20% 70.37% 70.54% 70.71% 70.88% 71.04% 71.21% 71.38% 71.55% 71.72% 71.89% 72.05% 72.22% 72.39% 72.56% 72.73% 72.90% 73.06% 73.23% 73.40% 73.57% 73.74% 73.91% 74.07% 74.24% 74.41% 74.58% 74.75% 74.92% 75.08% 75.25% 75.42% 75.59% 75.76% 75.93% 76.09% 76.26% 76.43% 76.60% 76.77% 76.94% 77.10% 77.27% 77.44% 77.61% 77.78% 77.95% 78.11% 78.28% 78.45% 78.62% 78.79% 78.96% 79.12% 79.29% 79.46% 79.63% 79.80% 79.97% 80.13% 80.30% 80.47% 80.64% 80.81% 80.98% 81.14% 81.31% 81.48% 81.65% 81.82% 81.99% 82.15% 82.32% 82.49% 82.66% 82.83% 83.00% 83.16% 83.33% 83.50% 83.67% 83.84% 84.01% 84.18% 84.34% 84.51% 84.68% 84.85% 85.02% 85.19% 85.35% 85.52% 85.69% 85.86% 86.03% 86.20% 86.36% 86.53% 86.70% 86.87% 87.04% 87.21% 87.37% 87.54% 87.71% 87.88% 88.05% 88.22% 88.38% 88.55% 88.72% 88.89% 89.06% 89.23% 89.39% 89.56% 89.73% 89.90% 90.07% 90.24% 90.40% 90.57% 90.74% 90.91% 91.08% 91.25% 91.41% 91.58% 91.75% 91.92% 92.09% 92.26% 92.42% 92.59% 92.76% 92.93% 93.10% 93.27% 93.43% 93.60% 93.77% 93.94% 94.11% 94.28% 94.44% 94.61% 94.78% 94.95% 95.12% 95.29% 95.45% 95.62% 95.79% 95.96% 96.13% 96.30% 96.46% 96.63% 96.80% 96.97% 97.14% 97.31% 97.47% 97.64% 97.81% 97.98% 98.15% 98.32% 98.48% 98.65% 98.82% 98.99% 99.16% 99.33% 99.49% 99.66% 99.83%100.00% ok
opening partition 5 ...  50.00%100.00% ok
opening partition 6 ...  50.00%100.00% ok
opening partition 7 ...  50.00%100.00% ok

Archive successfully decompressed as /image/MacinaboxCatalina/Catalina-install.img
vm template was already present please manually delete it, if you want me to replace it
.
.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

Summary of what has been done

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
.
.
The reference /image below refers to where you mapped that folder in the docker template on your server
(normally to /mnt/user/doamins)
.
.
MacOS install media was put in /image/MacinaboxCatalina/Catalina-install.img
.
.
A raw Vdisk of 100G was created in /image/MacinaboxCatalina
.
.
Uptodate clover image was put in /image/MacinaboxCatalina
.
.
Compatible OVMF files vere put in /image/MacinaboxCatalina/ovmf
.
.
An XML file was already present for MacinaboxCatalina you will need to manually delete if you want me to replace this
.
.
OK process has finished at Mon Jan 27 04:13:26 America 2020
.

<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Starting process at Mon Jan 27 04:14:34 America 2020
<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<

Media already exists. I have already downloaded the Catalina install media before
.
.
Full install starting to unraid domain /image/MacinaboxCatalina
.
.
Macinabox directories are already present......continuing.
.
.
There is already a vdisk image here...skipping
.
.
vm template was already present please manually delete it, if you want me to replace it
.
.
>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>

Summary of what has been done

>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
.
.
The reference /image below refers to where you mapped that folder in the docker template on your server
(normally to /mnt/user/doamins)
.
.
Install media was already present
.
.
Vdisk was already present
.
.
Uptodate clover image was put in /image/MacinaboxCatalina
.
.
Compatible OVMF files vere put in /image/MacinaboxCatalina/ovmf
.
.
An XML file was already present for MacinaboxCatalina you will need to manually delete if you want me to replace this
.
.
OK process has finished at Mon Jan 27 04:14:34 America 2020
.

 

Link to comment
16 hours ago, Idris Gsmalla said:

I wonder if you can take a look at my config.plist and maybe enhance it further more for Catalina VM

Hi,

configuration is very personal, especially if you passthrough different devices to your vm.

However, I'm attaching my config (some parts are REDACTED related to machine specification), so you can have a look at it.

Here some advices:

 

1- ACPI section: I have the following aml files (see attached): SSDT-cpu.aml and SSDT-EC-USBX.aml

These .aml file are in the EFI/OC/ACPI/custom folder

 

1a- SSDT-cpu.aml: this will inject plugin-type = one, usefull to load x86platformplugin instead of acpi_smc_platformplugin; not usefull to manage power states of your cpu(s) but usefull to let load AGPM, to manage the power management of the GPU

 

I'm reporting the source code, for your info, if you are interested:

/*
 * Intel ACPI Component Architecture
 * AML/ASL+ Disassembler version 20180427 (64-bit version)(RM)
 * Copyright (c) 2000 - 2018 Intel Corporation
 * 
 * Disassembling to non-symbolic legacy ASL operators
 *
 * Disassembly of SSDT-cpu.aml, Mon Jan 27 08:07:16 2020
 *
 * Original Table Header:
 *     Signature        "SSDT"
 *     Length           0x000000B1 (177)
 *     Revision         0x02
 *     Checksum         0xC3
 *     OEM ID           "CpuRef"
 *     OEM Table ID     "CpuPlug"
 *     OEM Revision     0x00003000 (12288)
 *     Compiler ID      "INTL"
 *     Compiler Version 0x20190509 (538510601)
 */
DefinitionBlock ("", "SSDT", 2, "CpuRef", "CpuPlug", 0x00003000)
{
    External (_SB_.CPUS.C000, ProcessorObj)    // (from opcode)

    Scope (\_SB.CPUS.C000)
    {
        Method (DTGP, 5, NotSerialized)
        {
            If (LEqual (Arg0, ToUUID ("a0b5b7c6-1318-441c-b0c9-fe695eaf949b")))
            {
                If (LEqual (Arg1, One))
                {
                    If (LEqual (Arg2, Zero))
                    {
                        Store (Buffer (One)
                            {
                                 0x03                                           
                            }, Arg4)
                        Return (One)
                    }

                    If (LEqual (Arg2, One))
                    {
                        Return (One)
                    }
                }
            }

            Store (Buffer (One)
                {
                     0x00                                           
                }, Arg4)
            Return (Zero)
        }

        Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
        {
            Store (Package (0x02)
                {
                    "plugin-type", 
                    One
                }, Local0)
            DTGP (Arg0, Arg1, Arg2, Arg3, RefOf (Local0))
            Return (Local0)
        }
    }
}

 

1b- SSDT-EC-USBX.aml: this will inject the EC device and usb power properties, usefull for usb devices which needs more power to charge.

I'm reporting the source code, for your info, if you are interested:

/*
 * Intel ACPI Component Architecture
 * AML/ASL+ Disassembler version 20180427 (64-bit version)(RM)
 * Copyright (c) 2000 - 2018 Intel Corporation
 * 
 * Disassembling to non-symbolic legacy ASL operators
 *
 * Disassembly of SSDT-EC-USBX.aml, Mon Jan 27 08:11:39 2020
 *
 * Original Table Header:
 *     Signature        "SSDT"
 *     Length           0x000000D4 (212)
 *     Revision         0x02
 *     Checksum         0x67
 *     OEM ID           "hack"
 *     OEM Table ID     "EC-USBX"
 *     OEM Revision     0x00000000 (0)
 *     Compiler ID      "INTL"
 *     Compiler Version 0x20180427 (538444839)
 */
DefinitionBlock ("", "SSDT", 2, "hack", "EC-USBX", 0x00000000)
{
    Device (_SB.EC)
    {
        Name (_HID, "EC000000")  // _HID: Hardware ID
    }

    Device (_SB.USBX)
    {
        Name (_ADR, Zero)  // _ADR: Address
        Method (_DSM, 4, NotSerialized)  // _DSM: Device-Specific Method
        {
            If (LNot (Arg2))
            {
                Return (Buffer (One)
                {
                     0x03                                           
                })
            }

            Return (Package (0x08)
            {
                "kUSBSleepPortCurrentLimit", 
                0x0834, 
                "kUSBSleepPowerSupply", 
                0x13EC, 
                "kUSBWakePortCurrentLimit", 
                0x0834, 
                "kUSBWakePowerSupply", 
                0x13EC
            })
        }
    }
}

 

2- DeviceProperties section: I see that you have a layout-id key, most probably it's the layout id for your audio; not sure if it can be specified as <integer>, mine is specified as <data>, but if it works with <integer> do not touch it.

As you can see, I have 2 devices with the built-in key: these are my virtual network cards to show as built-in: this is usefull for the apple store/imessage/etc. to work.

 

3- Kernel section (kexts): good that you have Lilu, Whatevergreen and AppleALC, check that they are all the latest version; I have 3 more kexts (see attached): AppleMCEReporterDisabler, AGPMInjector and AppleLPCInjector.

AppleMCEReporterDisabler: this disables MCE Reporter, because of a kernel panic on boot if you use iMacPro1,1 or MacPro7,1 smbios.

AGPMInjector: this injects AGPM, the GPU power manager: if you open the info.plist of this kext you will notice this section:

				<key>iMacPro1,1</key>
				<dict>
					<key>Vendor10deDevice100c</key>
					<dict>
						<key>AGDCEnabled</key>
						<integer>1</integer>
						<key>Heuristic</key>
						<dict>
							<key>ID</key>
							<integer>4</integer>
						</dict>
						<key>control-id</key>
						<integer>17</integer>
						<key>max-power-state</key>
						<integer>15</integer>
						<key>min-power-state</key>
						<integer>0</integer>
					</dict>
				</dict>

The first "key line" is my system (iMacPro1,1);

Vendor10deDevice100c: this must be changed according to your gpu: this is the case of a GTX Titan Black: Vendor ID=10de, Device ID=100c; you can find your data with hackintool for example, or with DPCIManager.

Heuristic ID is set to 4: somebody suggests a value of 4 for nvidia gpus and a value of -1 (minus one) for amd gpus.

Change these lines according to your System, or use the Pavo's utility AGPMInjector app to generate this kext: https://github.com/Pavo-IM/AGPMInjector/releases

Note: Pavo's app will generate always an heuristic id equal to -1, also for nvidia gpu; note that in my case AGPM is correctly loaded even with an heuristic id of -1, so not sure if 4 or -1 will is making any difference.

 

AppleLPCInjector: this inject the LPC device.

 

4- Kernel patch: I see that you have the "avoid a x86 validate topology error": this is usefull to avoid kernel panic if you specified topology in your xml (not 100% sure but if I remember correctly the panic applies only with iMacPro1,1 and MacPro7,1); I would change the count key from 1 to 0 (0 means always), this should not be necessary, but better 0 in my opinion.

 

5- Misc --> Tools: I have a couple of tools added (optional): VerifyMsrE2 and CleanNvram (see attached); these are shipped with opencore package/AppleSupportPackage; these tools must be put in the EFI/OC/Tools folder.

 

6- NVRAM --> 7C436110-AB2A-4BBB-A880-FE41995C9F82 --> boot-arg: I have some custom boot args, usefull for debug and also I set the busratio of my cpus manually (optional).

 

7- UEFI section: in addition to apfs.efi (to scan for apfs disks) and FwRuntimeServices, I have HFSPlus.efi (this is usefull when you have to load the recovery partition, no matter if you have your volume formatted as apfs, recovery needs hfs); the older HFSPlus driver loads the recovery partition faster than the driver included into opencore.

I have also AppleUsbKbDxe: this should be used to load the usb keyboard driver, to use the keyboard during opencore boot, does your usb keyboard work even without this driver??

myconfig.plist SSDT-EC-USBX.aml SSDT-cpu.aml Kexts.zip Tools.zip Drivers.zip

Edited by ghost82
  • Thanks 1
Link to comment
13 hours ago, SignorRossi said:

My first attempt was to put "verde.kext" in the clover folder. Do I have to activate this kext? How? Or is it enough to put it in the folder?

Hi SignorRossi,

The "verde.kext" :) (for all: it's the Whatevergreen.kext) is not enough: it works coupled with Lilu.kext, so download them from github (latest versions) and copy them into the kext other folder (/EFI/CLOVER/kexts/Other).

Then in clover configuration you have to be sure that InjectKexts is set to "yes".

Not sure if your gpu will work, you need to try yourself.

Link to comment

I have a problem with this ive tried to resolve 10+ times now. I can get the catalina image working, and booted up with no problem. Once i go into the XML and modify the number of cores only, from 2 (0/16) to 6 (9/25,10/26,11/27) it will not boot. It loads past the clover boot page, but i get a 1/4 size apple logo in the top left and then i get screen tearing and nothing else happens. 

 

I changed the cores by modifying the regular view, then pasting back the missing code as suggested in your video. If i revert back to the default XML it will boot back to the two cores as expected.

 

Any suggestions?

Link to comment
32 minutes ago, mihcox said:

I have a problem with this ive tried to resolve 10+ times now. I can get the catalina image working, and booted up with no problem. Once i go into the XML and modify the number of cores only, from 2 (0/16) to 6 (9/25,10/26,11/27) it will not boot. It loads past the clover boot page, but i get a 1/4 size apple logo in the top left and then i get screen tearing and nothing else happens. 

 

I changed the cores by modifying the regular view, then pasting back the missing code as suggested in your video. If i revert back to the default XML it will boot back to the two cores as expected.

 

Any suggestions?

A few pointers.

You might have better luck specifying a number of CPUs more commonly found in actual macs, so 4 or 8, not 6.

Also, you might be introducing an error in your XML. Try this - same principle, but less scope for mistakes.;

 

1. Copy your working 2x Core XML to a safe place

2. Make the edit to add 4 or 8 cpus

3. Open the resulting XML and copy the CPU section to a safe place.

4. Paste your 'known working; xml back in.

5. Take the CPU section from step 3 and paste it over the equivalent section in your 'known working' XML

6. Apply & Start

Link to comment
13 minutes ago, meep said:

A few pointers.

You might have better luck specifying a number of CPUs more commonly found in actual macs, so 4 or 8, not 6.

Also, you might be introducing an error in your XML. Try this - same principle, but less scope for mistakes.;

 

1. Copy your working 2x Core XML to a safe place

2. Make the edit to add 4 or 8 cpus

3. Open the resulting XML and copy the CPU section to a safe place.

4. Paste your 'known working; xml back in.

5. Take the CPU section from step 3 and paste it over the equivalent section in your 'known working' XML

6. Apply & Start

Moving to 4 cores, and manually manipulating one at a time worked. Should i assume this will not run on 6 cores, and only stick between 4/8/12 etc?

Link to comment
2 hours ago, mihcox said:

Moving to 4 cores, and manually manipulating one at a time worked. Should i assume this will not run on 6 cores, and only stick between 4/8/12 etc?

I cant say authoritatively, but I've had problems in the past trying to run 6 cores where 4 and 8 worked. I think it might be based on the SMBIOS machine type you choose (in clover). If the system didn't originally support 6 cores, it can be challenging to get running.

Link to comment

I ran through this docker and it setup the MAC VM just fine. But when trying to make changes to add some more CPU and memory it just does not load correctly. I made sure to copy the last part of the XML file and then put it back after performing the update, removing the topology line, and removing the virtio with that Intel adapter card. When I try to load it the Apple logo is not centered and there is no progress line. It just sits there. I have snapped a screen shot and copied what I could of the log. It just doesn't run too well with 4gb of memory and 2 cores. Any help would be appreciated. The XML is first and the second is the LOG file.

 

UPDATE: I edited the post to reflect what the VNC session looks like after I wait a little bit. That is attached.

<?xml version='1.0' encoding='UTF-8'?>
<domain type='kvm' id='9' xmlns:qemu='http://libvirt.org/schemas/domain/qemu/1.0'>
  <name>MacinaboxCatalina</name>
  <uuid>4124d5d3-c955-4649-9bf6-48b97aef3037</uuid>
  <description>MacOS Catalina</description>
  <metadata>
    <vmtemplate xmlns="unraid" name="Windows 10" icon="default.png" os="Catalina"/>
  </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='3'/>
  </cputune>
  <resource>
    <partition>/machine</partition>
  </resource>
  <os>
    <type arch='x86_64' machine='pc-q35-3.1'>hvm</type>
    <loader readonly='yes' type='pflash'>/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd</loader>
    <nvram>/etc/libvirt/qemu/nvram/4124d5d3-c955-4649-9bf6-48b97aef3037_VARS-pure-efi.fd</nvram>
  </os>
  <features>
    <acpi/>
    <apic/>
  </features>
  <cpu mode='host-passthrough' check='none'/>
  <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='qcow2' cache='writeback'/>
      <source file='/mnt/user/domains/MacinaboxCatalina/Clover.qcow2' index='3'/>
      <backingStore/>
      <target dev='hdc' bus='sata'/>
      <boot order='1'/>
      <alias name='sata0-0-2'/>
      <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/MacinaboxCatalina/Catalina-install.img' index='2'/>
      <backingStore/>
      <target dev='hdd' bus='sata'/>
      <alias name='sata0-0-3'/>
      <address type='drive' controller='0' bus='0' target='0' unit='3'/>
    </disk>
    <disk type='file' device='disk'>
      <driver name='qemu' type='raw' cache='writeback'/>
      <source file='/mnt/user/domains/MacinaboxCatalina/macos_disk.img' index='1'/>
      <backingStore/>
      <target dev='hde' bus='sata'/>
      <alias name='sata0-0-4'/>
      <address type='drive' controller='0' bus='0' target='0' unit='4'/>
    </disk>
    <controller type='pci' index='0' model='pcie-root'>
      <alias name='pcie.0'/>
    </controller>
    <controller type='pci' index='1' model='pcie-root-port'>
      <model name='pcie-root-port'/>
      <target chassis='1' port='0x10'/>
      <alias name='pci.1'/>
      <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'/>
      <alias name='pci.2'/>
      <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'/>
      <alias name='pci.3'/>
      <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'/>
      <alias name='pci.4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x3'/>
    </controller>
    <controller type='virtio-serial' index='0'>
      <alias name='virtio-serial0'/>
      <address type='pci' domain='0x0000' bus='0x02' slot='0x00' function='0x0'/>
    </controller>
    <controller type='sata' index='0'>
      <alias name='ide'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/>
    </controller>
    <controller type='usb' index='0' model='ich9-ehci1'>
      <alias name='usb'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x7'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci1'>
      <alias name='usb'/>
      <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'>
      <alias name='usb'/>
      <master startport='2'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x1'/>
    </controller>
    <controller type='usb' index='0' model='ich9-uhci3'>
      <alias name='usb'/>
      <master startport='4'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x07' function='0x2'/>
    </controller>
    <interface type='bridge'>
      <mac address='52:54:00:9c:06:bc'/>
      <source bridge='br0'/>
      <target dev='vnet0'/>
      <model type='vmxnet3'/>
      <alias name='net0'/>
      <address type='pci' domain='0x0000' bus='0x01' slot='0x00' function='0x0'/>
    </interface>
    <serial type='pty'>
      <source path='/dev/pts/0'/>
      <target type='isa-serial' port='0'>
        <model name='isa-serial'/>
      </target>
      <alias name='serial0'/>
    </serial>
    <console type='pty' tty='/dev/pts/0'>
      <source path='/dev/pts/0'/>
      <target type='serial' port='0'/>
      <alias name='serial0'/>
    </console>
    <channel type='unix'>
      <source mode='bind' path='/var/lib/libvirt/qemu/channel/target/domain-9-MacinaboxCatalina/org.qemu.guest_agent.0'/>
      <target type='virtio' name='org.qemu.guest_agent.0' state='disconnected'/>
      <alias name='channel0'/>
      <address type='virtio-serial' controller='0' bus='0' port='1'/>
    </channel>
    <input type='tablet' bus='usb'>
      <alias name='input0'/>
      <address type='usb' bus='0' port='1'/>
    </input>
    <input type='mouse' bus='ps2'>
      <alias name='input1'/>
    </input>
    <input type='keyboard' bus='ps2'>
      <alias name='input2'/>
    </input>
    <graphics type='vnc' port='5900' autoport='yes' websocket='5700' 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'/>
      <alias name='video0'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0'/>
    </video>
    <memballoon model='virtio'>
      <alias name='balloon0'/>
      <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x0'/>
    </memballoon>
  </devices>
  <seclabel type='dynamic' model='dac' relabel='yes'>
    <label>+0:+100</label>
    <imagelabel>+0:+100</imagelabel>
  </seclabel>
  <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>

 

 

-device pcie-root-port,port=0x10,chassis=1,id=pci.1,bus=pcie.0,multifunction=on,addr=0x2 \
-device pcie-root-port,port=0x11,chassis=2,id=pci.2,bus=pcie.0,addr=0x2.0x1 \
-device pcie-root-port,port=0x12,chassis=3,id=pci.3,bus=pcie.0,addr=0x2.0x2 \
-device pcie-root-port,port=0x13,chassis=4,id=pci.4,bus=pcie.0,addr=0x2.0x3 \
-device ich9-usb-ehci1,id=usb,bus=pcie.0,addr=0x7.0x7 \
-device ich9-usb-uhci1,masterbus=usb.0,firstport=0,bus=pcie.0,multifunction=on,addr=0x7 \
-device ich9-usb-uhci2,masterbus=usb.0,firstport=2,bus=pcie.0,addr=0x7.0x1 \
-device ich9-usb-uhci3,masterbus=usb.0,firstport=4,bus=pcie.0,addr=0x7.0x2 \
-device virtio-serial-pci,id=virtio-serial0,bus=pci.2,addr=0x0 \
-blockdev '{"driver":"file","filename":"/mnt/user/domains/MacinaboxCatalina/Clover.qcow2","node-name":"libvirt-3-storage","cache":{"direct":false,"no-flush":false},"auto-read-only":true,"discard":"unmap"}' \
-blockdev '{"node-name":"libvirt-3-format","read-only":false,"cache":{"direct":false,"no-flush":false},"driver":"qcow2","file":"libvirt-3-storage","backing":null}' \
-device ide-hd,bus=ide.2,drive=libvirt-3-format,id=sata0-0-2,bootindex=1,write-cache=on \
-blockdev '{"driver":"file","filename":"/mnt/user/domains/MacinaboxCatalina/Catalina-install.img","node-name":"libvirt-2-storage","cache":{"direct":false,"no-flush":false},"auto-read-only":true,"discard":"unmap"}' \
-blockdev '{"node-name":"libvirt-2-format","read-only":false,"cache":{"direct":false,"no-flush":false},"driver":"raw","file":"libvirt-2-storage"}' \
-device ide-hd,bus=ide.3,drive=libvirt-2-format,id=sata0-0-3,write-cache=on \
-blockdev '{"driver":"file","filename":"/mnt/user/domains/MacinaboxCatalina/macos_disk.img","node-name":"libvirt-1-storage","cache":{"direct":false,"no-flush":false},"auto-read-only":true,"discard":"unmap"}' \
-blockdev '{"node-name":"libvirt-1-format","read-only":false,"cache":{"direct":false,"no-flush":false},"driver":"raw","file":"libvirt-1-storage"}' \
-device ide-hd,bus=ide.4,drive=libvirt-1-format,id=sata0-0-4,write-cache=on \
-netdev tap,fd=35,id=hostnet0 \
-device vmxnet3,netdev=hostnet0,id=net0,mac=52:54:00:9c:06:bc,bus=pci.1,addr=0x0 \
-chardev pty,id=charserial0 \
-device isa-serial,chardev=charserial0,id=serial0 \
-chardev socket,id=charchannel0,fd=36,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-kbd,bus=usb-bus.0 \
-device '************************' \
-smbios type=2 \
-cpu Penryn,kvm=on,vendor=GenuineIntel,+invtsc,vmware-cpuid-freq=on,+pcid,+ssse3,+sse4.2,+popcnt,+avx,+aes,+xsave,+xsaveopt,check \
-sandbox on,obsolete=deny,elevateprivileges=deny,spawn=deny,resourcecontrol=deny \
-msg timestamp=on
2020-01-27 21:12:19.745+0000: Domain id=9 is tainted: high-privileges
2020-01-27 21:12:19.745+0000: Domain id=9 is tainted: custom-argv
2020-01-27 21:12:19.745+0000: Domain id=9 is tainted: host-cpu
char device redirected to /dev/pts/0 (label charserial0)

 

 

macinabox2.jpg

Edited by opentoe
Link to comment

Found out what the problem was. Whenever I would edit the VM and hit update it would just mess something up somewhere. So I took the original copy and pasted it into Notebook+ and used that as my good source XML. Then made the changes I wanted. Then I went back into the XML and copied just those changes to my source XML and updated it. Worked great.

 

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.