[Support] SpaceinvaderOne - Macinabox


Recommended Posts

1 hour ago, ghost82 said:

I don't recommend to install the pkg: are you referring to pkg version 2.8.8 (sourceforge)?

Here the drawbacks of installing the pkg:

1- it installs the kext and the prefpane in /system/... which will work in Catalina and prior versions, but not in big sur (here we have a snapshot --> locked /system)

2- the package installs kext v. 2.8.8 which is outdated, latest version is 2.9.6

3- minor: since it installs the kext in /system/.. you will not have audio until you are inside mac os

 

It's a lot better to inject the kext during boot! This will overcome all the listed drawbacks.

 

Update: packages downloaded from chris1111 are ok (?only clover? --> package name is VoodooHDA-2.9.6-Clover-Big-Sur), since it installs the kext in the efi, the pane in Library and should do the modification to the config.plist to inject the kext 

Sorry for that missleading link. I thought we are talking about, as @alturismo did the voodooHDA install on High Sierra!

 

Quote


4 hours ago, steve1977 said:
Thanks for your help. In this case, I'd prefer to explore other ways first to get it working.


In fact, everything used to work well for me with the previous version of macinabox and catalina. My GPU was passed through with the dumped vbios. Video worked very well. From my memory, audio also worked (though I am not 100% certain).


It is a bit odd now. I installed the new macinabox and set up a new BigSur VM. It works well with VNC. It also works with passthrough GPU (RX580). However, no audio though. Also, it does only work when NOT passing through the vios. When passing through the vbios, Unraid crashes. I need to manually turn off my server and after reboot the VM tab even disappeared (which I can then enable and set up again). Net net, passthrough works, but vbios does not. I am quite sure that the vbios file is not the issue as it used to work with Catalaina / old macinabox with the same bvbios file and gpu.


Also, I haeve no idea what multifunction device is, but don't remember ever fiddling with this with the previous macinabox.


Any idea what I can try out?

Try to setup you card as here in this example:

 

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

 

Red should be your GPU Device, yellow the name of your rom file (at the correct location) and green should be a bus which does not conflict with other pci devices you use.

 

Before you go for the multifunction solution, you should watch if your GPU is separated in a single IOMMU Group. If it is not, then you can use the VM Manager functions "PCIe ACS override: multifunction or both" to get it separated as much as possible.

 

Which Board do you use? Which Verison of Unraid?

 

Edited by derpuma
  • Like 1
Link to comment

Anyone can explain how to fix apple services? I checked out dortania guide, but something i was doing wrong and just messed up my VM

And also, if i have baremetal hackintosh EFI for exactly same hardware, can i amend current EFI which comes with installer or this is not beneficial at all?

Link to comment
43 minutes ago, J05u said:

Anyone can explain how to fix apple services? I checked out dortania guide, but something i was doing wrong and just messed up my VM

And also, if i have baremetal hackintosh EFI for exactly same hardware, can i amend current EFI which comes with installer or this is not beneficial at all?

To solve the apple services problem read this:

And no, mostly you can not take a 1:1 copy of the EFI Folder from your prior baremetal installation.

For exact answers, you should give more details about your hardware, which macOS, etc.

  • Thanks 1
Link to comment
8 minutes ago, derpuma said:

And no, mostly you can not take a 1:1 copy of the EFI Folder from your prior baremetal installation.

For exact answers, you should give more details about your hardware, which macOS, etc.

Big Sur, I3 10400, RX580 and Z490 Vision D motherboard. + Fenvi card.

Currently i use that PC just as hackintosh, but i want to move my entire server on this hardware and use MacOs VM

Link to comment
6 minutes ago, J05u said:

Big Sur, I3 10400, RX580 and Z490 Vision D motherboard. + Fenvi card.

Currently i use that PC just as hackintosh, but i want to move my entire server on this hardware and use MacOs VM

The way I done this was to create a new VM with this utility, edit the config, remove the recovery and install disks (left only the open core image for the boot loader) then passed through the whole disk that I already had big sur installed. Worked perfectly...kind of!

 

kind of as I still had issues with the GPU. Powering down the vm would randomly kill the entire unraid server, even letting it sleep would do the same at times.

 

bare metal was perfect.

Link to comment

Finally got this set up with the new container. However even when installing Big Sur it installs catalina? Although it's downloading the Big Sur media. Also, when I do get it set up for passthrough, my keyboard doesn't appear to be passing through correctly as I can't actually click "return" to boot into the MacOS disk after initial installation. 

 

Any input? Didn't have any of these issues before the container moved to opencore.

Link to comment
13 minutes ago, Do Not Fear Jazz said:

Finally got this set up with the new container. However even when installing Big Sur it installs catalina? Although it's downloading the Big Sur media. Also, when I do get it set up for passthrough, my keyboard doesn't appear to be passing through correctly as I can't actually click "return" to boot into the MacOS disk after initial installation. 

 

Any input? Didn't have any of these issues before the container moved to opencore.

Use Method 2 and use VNC in your browser. Don't passthrough anything until you're actually inside of macOS, as I bet any interference could stop it from working.

Link to comment
2 hours ago, J05u said:

And also, if i have baremetal hackintosh EFI for exactly same hardware, can i amend current EFI which comes with installer or this is not beneficial at all?

To add just one more consideration to what derpuma wrote, unless we start to passthrough cpu(s), controllers, gpu, etc, we are virtualizing all, it's like we have the same mainboard, which is not your actual one, so things are a lot more easier, because it's like all of us have the same hardware. However issues in vm may come with gpu passthrough and the (in)famous reset bug.

Edited by ghost82
Link to comment
7 minutes ago, mortenmoulder said:

Use Method 2 and use VNC in your browser. Don't passthrough anything until you're actually inside of macOS, as I bet any interference could stop it from working.

Note, any passthrough is after MacOS is installed. Old catalina vers never had this isuse. I'll keep playing with it.

 

Method 2 apparently tries to download snow leopard but never actually downloads anything.

 

The VNC desktop is: fb29ccf49415:0

0

******************************************************************************
Have you tried the x11vnc '-ncache' VNC client-side pixel caching feature yet?

The scheme stores pixel data offscreen on the VNC viewer side for faster
retrieval. It should work with any VNC viewer. Try it by running:

x11vnc -ncache 10 ...

One can also add -ncache_cr for smooth 'copyrect' window motion.
More info: http://www.karlrunge.com/x11vnc/faq.html#faq-client-caching

2021-01-03 14:48:58,451 Network Request: Fetching https://swscan.apple.com/content/catalogs/others/index-10.16-10.15-10.14-10.13-10.12-10.11-10.10-10.9-mountainlion-lion-snowleopard-leopard.merged-1.sucatalog
2021-01-03 14:48:59,178 Selected macOS Product: 001-86606

Edit: Got big sur to download correctly after reloading the docker. Now to see if I get can it to boot after passthrough is done once I have it set up. I'll report back.

Edited by Do Not Fear Jazz
Link to comment
18 minutes ago, Do Not Fear Jazz said:

Method 2 apparently tries to download snow leopard but never actually downloads anything.

 

It's not downloading Snow Leopard.

 

The file you see in the log is a 6.5MB XML PLIST file - an indexed catalog of software release downloads for every OS in any number of languages.

 

The next line tells you what OS it has selected.  "001-86606". And that's Big Sur, a release from 2020-12-14.

 

Confirmation (without looking into the catalog file): https://www.google.com/search?q=macos+001-86606

Edited by Espressomatic
Link to comment
Just now, ashman70 said:

It doesn't work for me at all, which is too bad as I'd like to try it.

 

Jazz if you Google:macOS Product: 001-86606, you will see it is indeed Big Sur

Yup got this handled.

 

 

Can boot into Big Sur no issue, installed the iCUE software. 

 

Anyways, my K95 keyboard does not register in the opencore boot menu, but does work within the VM (I left it set to VNC & verified this). Is there a way for me to force opencore to autoboot into MacOS or ?

 

Tried USB hotplug as well, nothing from keyboard or mouse while in opencore.

 

Edited by Do Not Fear Jazz
Link to comment

It keeps pulling Catalina instead of Big Sur for me even though I selected Big Sur twice with method 1....macOS Product: 061-86291

 

Switched to method 2 says it's trying for Product: 001-86606... I guess I'll leave it overnight and see what greets me in the am.

 

update: method 2 downloaded Big Sur 

Edited by 1812
Link to comment
19 hours ago, derpuma said:

Which Board do you use? Which Verison of Unraid?

Asus Prime X299-A, Unraid 6.8.3 (stable).

 

Both video and audio are in the same group:

 

Group 29

[removed] VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX 470/480/570/570X/580/580X/590] (rev e7)

[removed] Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere HDMI Audio [Radeon RX 470/480 / 570/580/590]

 

Any more thoughts for me?

Edited by steve1977
Link to comment
19 hours ago, derpuma said:

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

I compared and spotted two differences:

 

1) Your bus is the same for both video and audio? In my case, the video is listed as bus x03, while audio is listed under 0x04. I don't know how to check whether this bus is used.

 

2) I don't have multifunction enabled. Shall I add this? Once done, can I still use the user script?

Link to comment
36 minutes ago, steve1977 said:

I compared and spotted two differences:

 

1) Your bus is the same for both video and audio? In my case, the video is listed as bus x03, while audio is listed under 0x04. I don't know how to check whether this bus is used.

 

2) I don't have multifunction enabled. Shall I add this? Once done, can I still use the user script?

The bus is the same, cause it is set to multifunctional. So no worries there, just have an eye that the bus is free for GPU and HDMI-AUDIO and not booked by another PCIe device!

My VManager ist set to "both". I would recommend you try "multifunctional" first and see how your IOMMU groups look like.
If all is good separated, then you are fine. I you need a better split up, try "both"!
 

Bildschirmfoto 2021-01-04 um 13.02.58.jpg

Link to comment
2 minutes ago, derpuma said:

The bus is the same, cause it is set to multifunctional. So no worries there, just have an eye that the bus is free for GPU and HDMI-AUDIO and not booked by another PCIe device!

My VManager ist set to "both". I would recommend you try "multifunctional" first and see how your IOMMU groups look like.
If all is good separated, then you are fine. I you need a better split up, try "both"!
 

Bildschirmfoto 2021-01-04 um 13.02.58.jpg

Thanks for your help.

 

How can I check whether the bus is free?

 

My PCIe ACS override is set to downstream right now.

 

As mentioned above, both are "alone" in group 29:

Group 29

[removed] VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX 470/480/570/570X/580/580X/590] (rev e7)

[removed] Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere HDMI Audio [Radeon RX 470/480 / 570/580/590]

 

Anything else to try? Shall I still switch to "both" although no isolation seems required?

Link to comment
12 minutes ago, ChromeFocus said:

My 570 GPU pass through doesn't work! Please help me fix this issue. I pulled my Vbios and it still doesn't work. I hope I didn't buy my GPU in vain... It's going to be really hard selling a 570 these days. 

Actually selling Hardware, esp. GPUs is as easy as I never saw it before. And you get really good money also for older GPUs.
If you'd like to get help, we need additional information from you.
What hardware, how have you configured your VM Manager, how is your XML setup, do you useVFIO Plugin, which is your Unraid Version...

Generally you should not have a problem, to get a RX570 over the finish line, but you might run in the famous reset-bug and will need the vendor-reset patch to get rid of it.
But first things first, try to setup the GPU full functional first. 

Link to comment
1 minute ago, steve1977 said:

Thanks for your help.

 

How can I check whether the bus is free?

 

My PCIe ACS override is set to downstream right now.

 

As mentioned above, both are "alone" in group 29:

Group 29

[removed] VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX 470/480/570/570X/580/580X/590] (rev e7)

[removed] Audio device: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere HDMI Audio [Radeon RX 470/480 / 570/580/590]

 

Anything else to try? Shall I still switch to "both" although no isolation seems required?

GPU alone sounds perfect and you can try your passthrough. The best view of your groups you have with the Unraid VFIO plugin or menu Tools > System Devices:

Simply try a bus. If the bus is not free, you will get a warning when you trying to save your plain text XML under the VM tab.
My second card is a RX480 and it looks like that:
 

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

 

Link to comment

Thanks. If that's the case, then I don't see an issue. In fact, the video even works. My issue is as follows:

 

1) Video works, but audio does not work. it does not throw any errors. But when starting the VM, I don't hear any audio and no audio devices show up under "output"

 

2) Even worse, when adding my vbios in docker settings, it collapses. Unraid UI is no longer and disappears. The array is not longer accessible over the network. I need to power off and restart my server. Upon restart, all works well, but the VM tab disappeared. I then need to add the paths again and turn on VM in the VM manager. Then, all works again. It's quite a "scary" experience to see Unraid crashing like this.

Link to comment
23 hours ago, ghost82 said:

Update: packages downloaded from chris1111 are ok (?only clover? --> package name is VoodooHDA-2.9.6-Clover-Big-Sur), since it installs the kext in the efi, the pane in Library and should do the modification to the config.plist to inject the kext 

Thanks. That led me to this

https://github.com/chris1111/VoodooHDA-OC

which finally got audio working on my j5005.

 

I thought I'd have to stick with clover (where it worked by default.)

  • Like 1
Link to comment
28 minutes ago, CS01-HS said:

I thought I'd have to stick with clover (where it worked by default.)

Happy to read that you got it working.

Please take into account that all you can do with clover can be done with opencore, but not the other hand!So you're good to go with opencore.

However, VoodooHDA is just a kext to inject at boot (or not..) and both bootloaders are able to do this.

Edited by ghost82
Link to comment
2 hours ago, steve1977 said:

Thanks. If that's the case, then I don't see an issue. In fact, the video even works. My issue is as follows:

 

1) Video works, but audio does not work. it does not throw any errors. But when starting the VM, I don't hear any audio and no audio devices show up under "output"

 

2) Even worse, when adding my vbios in docker settings, it collapses. Unraid UI is no longer and disappears. The array is not longer accessible over the network. I need to power off and restart my server. Upon restart, all works well, but the VM tab disappeared. I then need to add the paths again and turn on VM in the VM manager. Then, all works again. It's quite a "scary" experience to see Unraid crashing like this.

 

1) Question, you do have a monitor which has build in speakers and is able to play audio?
Just as a reminder, this is only HDMI Sound you get there... Onboards sound is another different passthrougt.

Simply add another soundcard (f.ex. the onboard sound) under the sound part of the GPU.

2) What do you mean with adding Vbios into docker settings? Do you mean the path you choose on your share in your XML?
Do not put it into a smb share, as it could take a while until the share is mounted. Simply put the rom file into /mnt/isos to get it onload.
 

If it crahes, are you sure you are using a proper Vbios? Did you selfextract it via GPU-Z from a running baremetal windows or downloaded it? Remember downloaded bios from techpowerup need a cleanup with a hexeditor.

 

If your VM crashes, sometimes it is normal, that you need to reactivate the VM Manager after next boot up. Do not worry about that.
Make sure that you have a backup while you still try to get al things working.

 

Edited by derpuma
Link to comment

I think one modification to macinabox should be very helpful to diagnose issues when users start to passthrough things: @SpaceInvaderOne why not copying the debug version of opencore and also the debug versions of all the main kexts (lilu/whatevergreen/etc.) instead of the release versions? In this case, only by changing the "Target" value and adding some more boot-args in the config.plist the user can get a txt log to upload with useful info (release versions generate a log too but with a lot less info inside)!

I'm still using debug versions for all (from more than 1 year) and drop in performance at boot is not noticeable at all!

Edited by ghost82
  • Like 1
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.