mkaszas Posted March 26, 2021 Share Posted March 26, 2021 (edited) Hi Guys, So I am a new Unraid user and successfully created a Big Sur VM with the help of Macinabox. It works with VNC, but when I try to set my gpu ( https://www.sapphiretech.com/en/consumer/nitro-rx-580-8g-g5-se ) and switch input source on my monitor then I get a black screen. I tried it with and without rom ( https://www.techpowerup.com/vgabios/197894/sapphire-rx580-8192-171107 ) but same error. I also selected the sound card inside it and edited my xml manually as suggested in Spaceinvader One - Advanced GPU passthrough techniques on Unraid video. So multifunction is turned on. Bus ans slot is the same, gpu is function 0 and sound card is function 1. UEFI boot is turned off in Unraid. OSX SMBIOS is set to iMac 19,2 but also tried with iMacPro 1,1. Same error in both cases. In the BIOS I set the Intel UHD 630 gpu to be the initial gpu. Any idea to make the gpu passthrough work? System info Model: Custom M/B: Gigabyte Technology Co., Ltd. Z390 DESIGNARE-CF Version x.x - s/n: Default string BIOS: American Megatrends Inc. Version F9j. Dated: 01/19/2021 CPU: Intel® Core™ i7-8700K CPU @ 3.70GHz HVM: Enabled IOMMU: Enabled Cache: 384 KiB, 1536 KiB, 12 MB Memory: 32 GiB DDR4 (max. installable capacity 64 GiB) Network: bond0: fault-tolerance (active-backup), mtu 1500 eth0: interface down eth1: 1000 Mbps, full duplex, mtu 1500 Kernel: Linux 5.10.21-Unraid x86_64 OpenSSL: 1.1.1j You can see my xml below <?xml version='1.0' encoding='UTF-8'?> <domain type='kvm'> <name>Macinabox BigSur</name> <uuid>3220c0ff-52d1-4b1f-9ce1-edacb0d43ebc</uuid> <description>MacOS Big Sur</description> <metadata> <vmtemplate xmlns="unraid" name="Windows 10" icon="default.png" os="osx"/> </metadata> <memory unit='KiB'>17301504</memory> <currentMemory unit='KiB'>17301504</currentMemory> <memoryBacking> <nosharepages/> </memoryBacking> <vcpu placement='static'>12</vcpu> <cputune> <vcpupin vcpu='0' cpuset='0'/> <vcpupin vcpu='1' cpuset='6'/> <vcpupin vcpu='2' cpuset='1'/> <vcpupin vcpu='3' cpuset='7'/> <vcpupin vcpu='4' cpuset='2'/> <vcpupin vcpu='5' cpuset='8'/> <vcpupin vcpu='6' cpuset='3'/> <vcpupin vcpu='7' cpuset='9'/> <vcpupin vcpu='8' cpuset='4'/> <vcpupin vcpu='9' cpuset='10'/> <vcpupin vcpu='10' cpuset='5'/> <vcpupin vcpu='11' cpuset='11'/> </cputune> <os> <type arch='x86_64' machine='pc-q35-5.1'>hvm</type> <loader readonly='yes' type='pflash'>/usr/share/qemu/ovmf-x64/OVMF_CODE-pure-efi.fd</loader> <nvram>/etc/libvirt/qemu/nvram/3220c0ff-52d1-4b1f-9ce1-edacb0d43ebc_VARS-pure-efi.fd</nvram> </os> <features> <acpi/> <apic/> </features> <cpu mode='host-passthrough' check='none' migratable='on'> <topology sockets='1' dies='1' cores='6' threads='2'/> <cache mode='passthrough'/> </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/Macinabox BigSur/macos_disk.img'/> <target dev='hdc' bus='sata'/> <boot order='1'/> <address type='drive' controller='0' bus='0' target='0' unit='2'/> </disk> <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='0x8'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x0' multifunction='on'/> </controller> <controller type='pci' index='2' model='pcie-root-port'> <model name='pcie-root-port'/> <target chassis='2' port='0x9'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x01' 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> <controller type='sata' index='0'> <address type='pci' domain='0x0000' bus='0x00' slot='0x1f' function='0x2'/> </controller> <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> <interface type='bridge'> <mac address='52:54:00:ed:fe:fd'/> <source bridge='br0'/> <model type='virtio-net'/> <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'/> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x02' slot='0x00' function='0x0'/> </source> <rom file='/mnt/user/isos/Sapphire.RX580.8192.170511.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='0x02' slot='0x00' function='0x1'/> </source> <address type='pci' domain='0x0000' bus='0x03' slot='0x00' function='0x1'/> </hostdev> <memballoon model='none'/> </devices> </domain> In syslinux I have the following config kernel /bzimage append initrd=/bzroot,/bzroot-gui pcie_aspm=off pcie_acs_override=downstream,multifunction vfio-pci.ids=1002:67df,1002:aaf0 Edited March 26, 2021 by mkaszas Quote Link to comment
Cyril83 Posted April 5, 2021 Share Posted April 5, 2021 Hello, Same issue. My devices : Intel I3-8100 (CPU + IGPU for transcoding) + MSI GT730 (for VM display) IOMMU group 0:[8086:3e1f] 00:00.0 Host bridge: Intel Corporation 8th Gen Core 4-core Desktop Processor Host Bridge/DRAM Registers [Coffee Lake S] (rev 08) IOMMU group 1:[8086:1901] 00:01.0 PCI bridge: Intel Corporation 6th-10th Gen Core Processor PCIe Controller (x16) (rev 08) IOMMU group 2:[8086:3e91] 00:02.0 VGA compatible controller: Intel Corporation CoffeeLake-S GT2 [UHD Graphics 630] IOMMU group 14:[10de:1287] 01:00.0 VGA compatible controller: NVIDIA Corporation GK208B [GeForce GT 730] (rev a1) IOMMU group 15:[10de:0e0f] 01:00.1 Audio device: NVIDIA Corporation GK208 HDMI/DP Audio Controller (rev a1) Everything works with VNC but Black screen with GT730 passthrough like many other users... VM Specs : Q35.1 and OVMF It worked with Unraid 6.8 but not with 6.9.1 version. Has someone found a solution? Thanks guys Quote Link to comment
1812 Posted May 17, 2021 Share Posted May 17, 2021 (edited) I was having the same issue on a new build. My dual sapphire 580's worked fine Catalina and a previous Big Sur vm I made a year ago. But no joy with this. I did the following: Updated OpenCore to the latest Made sure the GPU and sound were on the same bus/slot Updated Lilu and Whatevergreen Made sure my on-card performance switch was to the right (top) . Some places say to the left works, but those are mainly Hackintosh and not vm. But I get no signal with it to the left and to the right worked previously. Was only using DisplayPort to view (HDMI is not currently supported) Used my previously self-dumped 580 bios Make sure you have a Mac defined in open core that could use a gpu like a Mac Pro or possibly the latest iMac Pro. I then played around and booted the vm with vnc as the primary and GPU secondary. Display in vnc worked but the card was not properly listed in the vm. it only knew it as an AMD something, and no output. So, I took a wild shot and moved my GPU to the same bus assignment as the VNC viewer (and removed the vnc viewer). I was able to see the OpenCore selection menu on the screen, and it booted normally. I don't know which one's of the above specifically fixed it but I know to get my sapphire rx580's to work I had to have that change in my xml. <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x11' slot='0x00' function='0x0'/> </source> <rom file='/mnt/cache/domains/vbios/580.dump'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0' multifunction='on'/> </hostdev> <hostdev mode='subsystem' type='pci' managed='yes'> <driver name='vfio'/> <source> <address domain='0x0000' bus='0x11' slot='0x00' function='0x1'/> </source> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x1' multifunction='on'/> </hostdev> if you end up with a conflict on slot 2, then change to slot 3 or higher. I don't show sound available, but that's ok for now. hope this helps! Edited May 21, 2021 by 1812 Quote Link to comment
Nickfmc Posted September 4, 2021 Share Posted September 4, 2021 (edited) I'm going to add to this because I just got my Sapphire RX580 Nitro working with macinabox and it was a PAIN! So first thing with these cards, the HDMI ports will not work in macOS, you need to use Display Port for the output. Secondly you need to dump the vrom and use that file, without it I still just had a black screen. But here is the thing... Our cards have a multi-bios feature. A physical toggle on the card. If you have NOT flashed these and the card bios is as it was from the factory, one of them is a quite setting and the other is a more aggressive overclock performance tuned. If you got the card out of your old gaming rig or a mining rig most likely that is set in performance mode. Now MACOS only likes the base bios the quite version. So power down, toggle that switch and make sure to re-dump the vrom from this setting. After adding that vrom in the setting the system booted right up (on DP :)) In theory you could then toggle the switch back but use this VROM and you can get the performance tuning in your other VMs but I haven't played with that yet! Edited September 4, 2021 by Nickfmc Sapphire RX580 Nitro Quote Link to comment
Recommended Posts
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.