Jump to content

iGPU

Moderators
  • Posts

    573
  • Joined

  • Last visited

  • Days Won

    17

Posts posted by iGPU

  1. 9 minutes ago, fabiosun said:

    Today I have tested my system only with host as cpu and two patches for kernel

    system is stable as before and this is the end for that part of my config

    i would like to know from users with a working vm (also am4 chipset) if audio is working well..I mean internal audio. Gpu audio is perfect. I think audio problem is also related to our common problem with some usb controller incongruences

    i have also tested an usb audio and the weird thing it is detected as audio usb also in those not passed USB ports...

    let me know

    🙏

     

     

    Do you mean that your argument section is only contains "args: -cpu host" ?

     

    Initially, I had both "cpu: Penryn" and "args: -cpu Penryn", then I changed both to "host". It seems I had slightly better test scores with Penryn. Did you notice any differences in that regard?

     

    My latest VM config file:

    Spoiler

    agent: 1

    args: -device isa-applesmc,osk="ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc" -smbios type=2 -cpu host,kvm=on,vendor=GenuineIntel,+kvm_pv_unhalt,+kvm_pv_eoi,+invtsc,+sse3,+sse4.1,+sse4.2,+popcnt,+adx,+tsc_adjust,+tm,+tm2,+aes,+xsave,+xsaveopt,check

    balloon: 0
    bios: ovmf
    cores: 64
    cpu: Penryn
    efidisk0: local-lvm:vm-100-disk-1,size=256K
    hostpci0: 23:00,pcie=1,x-vga=1
    hostpci1: 01:00.0
    hostpci2: 44:00.0,pcie=1,rombar=0
    hostpci3: 45:00.0,pcie=1,rombar=0
    hostpci4: 46:00,pcie=1,rombar=0
    hostpci5: 47:00.0,pcie=1,rombar=0
    hostpci6: 48:00.0,pcie=1,rombar=0
    machine: q35
    memory: 30000
    name: macOS
    numa: 0
    onboot: 1
    ostype: other
    scsihw: virtio-scsi-pci
    smbios1: uuid=afd94c53-81ef-4479-a70e-6d9c4aa3f8b8
    sockets: 1
    vga: none
    vmgenid: ec8c8863-1962-4a87-a807-2a01504f0fa9

     

  2. 4 minutes ago, AllubzV said:

    @fabiosun Thanks for all your help already! I believe I'm at about the same spot as most of us. The VM is working well, but I have trouble with two USB controllers, Thunderbolt, and audio. I will look into using the TB card with flashed firmware and see if I can provide some feedback on it, hopefully.

     

    @iGPU I can really recommend the Radeon VII, besides that I've used it for many builds, the card passed through perfectly fine. I'm using a rom from the Techpowerup VBIOS database. I can test later whether it's even needed. I have no reset / restart bug related to GPU.

     

    Oddly enough, after remaking my VM, I now have the problem that I can't reboot otherwise it will get stuck booting around APFS/HFS, and claims my passed through disk (43:00) isn't accessible anymore and I have to >reset the system< rather than the VM. I didn't have this problem before, but due to other issues I had to remake. In other words: I was using a Radeon VII and a passed through 1TB 970 EVO without problems restarting, before this remake. The difference is  that I am now passing through the entire NVME Controller (43:00.0) rathern than /dev/disk/by-id, which you can see in my previous post. Perhaps there lies the difference.

     

    I saw some talk about passing through WiFi+BT. macOS doesn't accept Intel WiFi  cards, period. You can get a Dell DW1820A for about €20-25, and use only BrcmPatchRAM (Injector + Data + PRAM3), then it's like having native Airport and BT.

     

    I'll post more when I know more, and try to keep the questions limited.

     

     

    Before you flash firmware, you might want to try some other things. I'll explain below in a later post as it is a bit involved, but this new avenue to get TB working isn't working for me and I don't know if it's because I am using flashed firmware. (Unfortunately, my flash programmer died and I've not got a replacement up and running.) Anyhow, I'd also like to see you run some Linux commands to see how your un-modified TB card behaves.

     

    I've used Fenzi BT cards, but like having the built in BT work; it is more powerful and keeps a better connection for me. Since I use Ethernet, I don't normally use Wifi and so don't miss having it.

     

    As for the Linux TB commands, could you please provide results, when TB card is passed, for "lspci -nnk" and "find /sys/kernel/iommu_groups/ -type l"?

     

    Also, does the VM shutdown when trying to pass all sections of the TB, as I described above in this post?

     

    Thanks.

    • Like 1
  3. 19 hours ago, Driftwood said:

    Anyone tried a Radeon VII?

     

     

    I've seen a few posts using Radeon VII (I have this GPU in another build, but water cooled so cannot swap), and will be changing to this GPU from Vega 56 in a few days once the VII has arrived. Also some are using 5700XT which behaves very similarly on macOS to Radeon VII.

    • Like 1
  4. 11 minutes ago, fabiosun said:

    thank you for this file--it is named like for Titan Ridge but inside I see some referral to Asus card

    Have you some link to guide or similar stuff to follow?

     

    thank you

     

     

    Here is a flashing link: CH341A .

     

    More repository data: here.

     

    More importantly for you, specific info for ThunderboltEX 3 here along with how to adjust DROM. This latter step is complicated and I can help later as this step is activating within macOS, which we cannot do until we can pass the device.

     

    I just found an old ThunderboltEX 3, so I'll flash it and see how it looks from my end. I think we'll face exact same issues with passing as I see with the Titan Ridge, just with different device ID codes for vfio.conf.

     

    If anyone else reading this in interested in flashing, each device needs a different modified firmware to flash, so the firmware for EX 3 ≠ Alpine Ridge ≠ Titan Ridge ≠ native mobo. All are unique, so don't flash what I uploaded to any other TB card or device.

     

     

    • Like 1
  5. 14 minutes ago, fabiosun said:

    @iGPUif you have some things related to Asus TB ex3 thunderbolt I would like to try 🙂

    today I have had a bad news..for audio

    Received a cheaper USB Audio adapter:

    https://www.amazon.it/gp/product/B01J3QGU50/

    same problem of internal audio

    so for now no solution here

     

     

    A bit more expensive, but I'm using this unit from the UK: Audient Evo 4. It works very well.

     

    When combined with this SoundControl app to adjust EQ in real time, it's all quite nice. I'm running off either of the 2 USB ports beneath the RJ45 jack on rear panel (the right-most RJ-45 jack, when facing the rear panel).

     

    Attached is the bin file for flashing an ASUS TB-EX3. You'll also need to modify an SSDT, but we can address that later.

    AlpineRidgeEX3-NVM26-NATA.bin.zip

  6. The TB passthru error I'm seeing: "vfio 0000:49:00.0: failed to open /dev/vfio/58: No such file or directory" is curious and may be the problem.

     

    The file "58" refers to the IOMMU group, to which address 49:00.0 belongs. In the folder, /dev/vfio/ are many files for the IOMUU groups that are being passed: 13  16  30  31  33  52  53  54  56  57  63  64  66  77  vfio.

     

    Running the command, "find /sys/kernel/iommu_groups/ -type l", gives the following (Spoiler). The groups for the un-passables are here:  58 for 49:00, 59 for 4a:00, 60 for 4a:01, 61 for 4a:02, and 62 for 4a:04. Those for the passable TB addresses are also visible: 63 for 4b:00, 64 for 53:00

     

    Spoiler

    /sys/kernel/iommu_groups/55/devices/0000:43:00.0
    /sys/kernel/iommu_groups/17/devices/0000:04:00.3
    /sys/kernel/iommu_groups/45/devices/0000:40:07.1
    /sys/kernel/iommu_groups/73/devices/0000:60:07.1
    /sys/kernel/iommu_groups/35/devices/0000:25:00.3
    /sys/kernel/iommu_groups/7/devices/0000:00:07.0
    /sys/kernel/iommu_groups/63/devices/0000:4b:00.0
    /sys/kernel/iommu_groups/25/devices/0000:20:07.1
    /sys/kernel/iommu_groups/53/devices/0000:47:00.0
    /sys/kernel/iommu_groups/53/devices/0000:42:09.0
    /sys/kernel/iommu_groups/15/devices/0000:03:00.0
    /sys/kernel/iommu_groups/43/devices/0000:40:05.0
    /sys/kernel/iommu_groups/71/devices/0000:60:05.0
    /sys/kernel/iommu_groups/33/devices/0000:25:00.0
    /sys/kernel/iommu_groups/5/devices/0000:00:04.0
    /sys/kernel/iommu_groups/61/devices/0000:4a:02.0
    /sys/kernel/iommu_groups/23/devices/0000:20:05.0
    /sys/kernel/iommu_groups/51/devices/0000:42:06.0
    /sys/kernel/iommu_groups/13/devices/0000:01:00.0
    /sys/kernel/iommu_groups/41/devices/0000:40:03.0
    /sys/kernel/iommu_groups/31/devices/0000:23:00.1
    /sys/kernel/iommu_groups/3/devices/0000:00:02.0
    /sys/kernel/iommu_groups/21/devices/0000:20:03.1
    /sys/kernel/iommu_groups/11/devices/0000:00:14.3
    /sys/kernel/iommu_groups/11/devices/0000:00:14.0
    /sys/kernel/iommu_groups/68/devices/0000:60:02.0
    /sys/kernel/iommu_groups/1/devices/0000:00:01.1
    /sys/kernel/iommu_groups/58/devices/0000:49:00.0
    /sys/kernel/iommu_groups/48/devices/0000:41:00.0
    /sys/kernel/iommu_groups/76/devices/0000:61:00.0
    /sys/kernel/iommu_groups/38/devices/0000:40:01.1
    /sys/kernel/iommu_groups/66/devices/0000:5c:00.0
    /sys/kernel/iommu_groups/28/devices/0000:21:00.0
    /sys/kernel/iommu_groups/56/devices/0000:44:00.0
    /sys/kernel/iommu_groups/18/devices/0000:20:01.0
    /sys/kernel/iommu_groups/46/devices/0000:40:08.0
    /sys/kernel/iommu_groups/74/devices/0000:60:08.0
    /sys/kernel/iommu_groups/36/devices/0000:25:00.4
    /sys/kernel/iommu_groups/8/devices/0000:00:07.1
    /sys/kernel/iommu_groups/64/devices/0000:53:00.0
    /sys/kernel/iommu_groups/26/devices/0000:20:08.0
    /sys/kernel/iommu_groups/54/devices/0000:48:00.0
    /sys/kernel/iommu_groups/54/devices/0000:42:0a.0
    /sys/kernel/iommu_groups/16/devices/0000:04:00.0
    /sys/kernel/iommu_groups/44/devices/0000:40:07.0
    /sys/kernel/iommu_groups/72/devices/0000:60:07.0
    /sys/kernel/iommu_groups/34/devices/0000:25:00.1
    /sys/kernel/iommu_groups/6/devices/0000:00:05.0
    /sys/kernel/iommu_groups/62/devices/0000:4a:04.0
    /sys/kernel/iommu_groups/24/devices/0000:20:07.0
    /sys/kernel/iommu_groups/52/devices/0000:46:00.3
    /sys/kernel/iommu_groups/52/devices/0000:46:00.1
    /sys/kernel/iommu_groups/52/devices/0000:46:00.0
    /sys/kernel/iommu_groups/52/devices/0000:42:08.0
    /sys/kernel/iommu_groups/14/devices/0000:02:00.0
    /sys/kernel/iommu_groups/42/devices/0000:40:04.0
    /sys/kernel/iommu_groups/70/devices/0000:60:04.0
    /sys/kernel/iommu_groups/32/devices/0000:24:00.0
    /sys/kernel/iommu_groups/4/devices/0000:00:03.0
    /sys/kernel/iommu_groups/60/devices/0000:4a:01.0
    /sys/kernel/iommu_groups/22/devices/0000:20:04.0
    /sys/kernel/iommu_groups/50/devices/0000:42:05.0
    /sys/kernel/iommu_groups/12/devices/0000:00:18.3
    /sys/kernel/iommu_groups/12/devices/0000:00:18.1
    /sys/kernel/iommu_groups/12/devices/0000:00:18.6
    /sys/kernel/iommu_groups/12/devices/0000:00:18.4
    /sys/kernel/iommu_groups/12/devices/0000:00:18.2
    /sys/kernel/iommu_groups/12/devices/0000:00:18.0
    /sys/kernel/iommu_groups/12/devices/0000:00:18.7
    /sys/kernel/iommu_groups/12/devices/0000:00:18.5
    /sys/kernel/iommu_groups/40/devices/0000:40:02.0
    /sys/kernel/iommu_groups/69/devices/0000:60:03.0
    /sys/kernel/iommu_groups/30/devices/0000:23:00.0
    /sys/kernel/iommu_groups/2/devices/0000:00:01.2
    /sys/kernel/iommu_groups/59/devices/0000:4a:00.0
    /sys/kernel/iommu_groups/20/devices/0000:20:03.0
    /sys/kernel/iommu_groups/49/devices/0000:42:03.0
    /sys/kernel/iommu_groups/77/devices/0000:62:00.0
    /sys/kernel/iommu_groups/10/devices/0000:00:08.1
    /sys/kernel/iommu_groups/39/devices/0000:40:01.3
    /sys/kernel/iommu_groups/67/devices/0000:60:01.0
    /sys/kernel/iommu_groups/29/devices/0000:22:00.0
    /sys/kernel/iommu_groups/0/devices/0000:00:01.0
    /sys/kernel/iommu_groups/57/devices/0000:45:00.0
    /sys/kernel/iommu_groups/19/devices/0000:20:02.0
    /sys/kernel/iommu_groups/47/devices/0000:40:08.1
    /sys/kernel/iommu_groups/75/devices/0000:60:08.1
    /sys/kernel/iommu_groups/37/devices/0000:40:01.0
    /sys/kernel/iommu_groups/9/devices/0000:00:08.0
    /sys/kernel/iommu_groups/65/devices/0000:5b:00.0
    /sys/kernel/iommu_groups/27/devices/0000:20:08.1

     

    For some reason, which I'm trying to research, there are no such files created for the problematic addresses, 49:00 and 4a:00. If we can force their creation, maybe we can pass the whole TB device.

    • Like 1
  7.  

    12 hours ago, fabiosun said:

    This I mean when I said you made my day 🙂

    A positive and helpful approach from other users to find a solution.

     

    Uefi problem:

    I will put in guide's OP, I didn't think was an important step because in modern system Uefi are always advised .

    In my case system boots fine also in CSM and 4g (on/off) but it could be different for others

     

    Usb slowness for high capacity drive

    I do not have this behaviour so we have to investigate also with other user

     

    Thunderbolt part:

    I have an old Asus Thunderbolt Ex 3 and I didn't find any clue it could work without a thunderbolt header. So here I can't say any interesting things.

     

    Usb slowness

    In my try I have noticed the same things you write above:

    An impossibility to pass two USB controllers in may case for USB:

    04:00.3

    23:00.3

    And in my rig these "unpassed" stuff produces 4 USB 3.x rear ports non working

    I have no tested internal USB 2.0 ports for now

    ASmedia USB 3.x ports work well (connected to my Thermaltake X9 case)

     

     

    Thanks for your reply (and esp for all of your help)! The resource you've created here are very much appreciated!

     

    As for BIOS, from the start, I had CSM disabled and 4G enabled. Until yesterday, I also kept XMP off, just to keep things as simple as possible.

     

    As for Thunderbolt, you can use your card without a TB header with almost any mobo. You only need to jumper (I soldered) two pins on back of card (see Spoiler below). However, to get functionality in macOS, you'll have to flash the chip on the card. I can provide links and help if you're interested (I've collected a repository of modified firmware for different cards and can supply one for your card). If you have the small piece of equipment to flash (bought off Amazon), it is really simple to do. But even without flashing to get macOS functionality, the jumper will still allow you to test passing addresses via VM without a TB header.

     

    Spoiler

    TB-header.jpg.913c4a92ff16212cb87e1c770391ae29.jpg

     

    Your USB setup is very similar to mine even though our mobos are different. I too get 4 USB ports on rear panel activated. They belong to those 2 groups we cannot pass (I think actually from the 4.00 group; I think I can pass 4:00.0, but not 4:00.3). However, my mobo does not have any ASMedia controllers.

     

    The USB slowness is odd; I still don't understand why I see it. Once the windows from the USB device have populated with contents, I don't notice the slowness any more. It's as if some buffer needs filling and does so slowly, but once filled, then all behaves rapidly after that. The initial slowness is even displayed by the spinning beachball.

    • Like 1
  8. I mentioned some SSDT and Device Properties in previous post. in case anyone wants to use them, I'm attaching them here. 

     

    The SSDTs are for the GB TRX40 Designare but I think will work with all TRX40 mobo, only requiring some slight adjustments. Look at the addresses for the devices inside the SSDTs, comparing them to what you see on IORegistryExplorer, and adjust accordingly. For example, I chose to use only 1 Ethernet port: 44:00.0 (not 43:00.0), so the supplied data is for that port, not the other); I passed both SATA controllers and both Matisse USB controllers.


    As for the DeviceProperties, it is supplied for OpenCore and can be copied and pasted between this file and your current config file. There are 2 sets for GPUs: one is active for Vega 56 and the other has a "#" symbol at the front (see Spoiler image below), leaving the other set in-active. This other set is for the Radeon VII. Both include CMMChris's PowerPlayTable data. (BTW, if you place "#" in front of any item in OC, it will inactivate that item.) The other items provide various USB, SATA, Ethernet, and internal BT data (not for substituted card) that you can see on PCI section in bottom Spoiler. You'll most likely need to change the name of the NVMe SSD from the one I'm using in the slot closest to the CPU (the other M2Q slot houses the Proxmox SSD and is not visible).

     

     

    DeviceProperties section:

    Spoiler

    DeviceProperties.jpg.b7addf71fc533537bc4a0d334eb31616.jpg

     

     

    System Information/PCI section (using above DevProp data):

    Spoiler

    1919473422_PCIsection.jpg.77bd8a6cc2064cddd9b3bc47afdb243f.jpg

     

     

     

    • Like 1
  9. I spent a few days trying to passthru the GPU. All variations suggested on this thread didn't help. Most other things were relatively easy to pass but I was stymied with the GPU. Finally it worked: thanks to reading PAVO's GitHub. I was not booting Proxmox into UEFI mode, but standard mode. (Mea Culpa!) Once I switched methods, the GPU easily passed and did not require a GPU-rom file nor any unbinding code. This UEFI boot issue needs to be high-lighted for those of us who over look details. 😉

     

    ***

     

    One odd behavior I noted on this build is that high capacity USB connected drives open very slowly (the window opens quickly but is empty and only after 20 sec or more, do the contents appear in the window). Finder functionality seems otherwise okay.

     

    I've now been working on getting IORegistryExplorer info organized with better SSDT and DeviceProperties; mostly labelling, cosmetic issues (like assigning XHC, XHCI, etc). Hackintool does not see any USB ports but from what I see, there is no more than 10 USB ports on a given USB device, so I think no kexts or UIAC SSDTs are required to limit ports.

     

    ***

     

    Next, I started work on the GB Titan Ridge PCIe card. I flashed modified firmware onto it (I have these flashed cards working well on the X299 and on-board TB on a Z390 mobo). Unfortunately, it does not yet work. Below is the TB tree(s) in first Spoiler. The 8086,15eb is the NHI TB section; the 8086,15ec, the USB TB section. These are normally branches off the main trunk, instead of 2 separate devices. So usual custom SSDT starts to fill out the NHI section, but leaves the USB section as is. So no active TB. We need the whole tree.

     

    The problem seems to stem from passing some addresses. To clarify, the card was placed in the PCIe slot farthest from CPU and gave addresses as shown in next Spoiler (your addresses may vary). There are several sections associated with TB cards: the nodes of the TB tree are each at different addresses (and in different IOMMU groups; shown next).

     

    As can be seen in the address data, only 4b:00.0 and 53:00.0 are passed based on being able to substitute "vfio-pci" for the Thunderbolt drivers. The other ports, 49:00.0 and 4a:00 when passed in the VM cause a failed start, giving an error: "kvm: -device vfio-pci,host=0000:49:00.0,id=hostpci7,bus=ich9-pcie-port-8,addr=0x0: vfio 0000:49:00.0: failed to open /dev/vfio/58: No such file or directory". (If 49:00.0 is removed and 4a:00.0 is left, then the same error with 4a:00.0 is given; VM start only can occur if both 49 and 4a are removed.)

     

    I then tried blacklisting "pcieport", but that did not help. Lots of internet searching also turned up no help: there is no clear indication that anyone has successfully passed TB devices (some posts talk about using TB for eGPU usage, but no one has indicated passing a TB card to use for proper audio or TB drive connections). 

     

    There is also a similar problem when trying to pass the Audio section which is something like 25:00.4 (on most of our TRX40 mobos), and also when trying to pass 2 other USB controllers, the two located at 4:00.3 and 25:00.3 (adjacent to Audio controller). When trying to pass 4:00.3, 25:00.3 or the above TB addresses are passed, one cannot start VM. But I think the Audio and USB problems are due to different reasons.

     

    When using IORegistryExplorer, the inability to pass the Realtek Audio device and the 2 other USB devices may be that Proxmox is already using them and 'silently' passing them. A section from IORegistryExplorer is shown in the next Spoiler. Here you canl see the Realtek device, with all channels, is being passed via USB. So Proxmox has tight control over these addresses and that is why we cannot pass them? (Personally, I use either external USB or TB devices to process audio, so I don't use the Realtek device.)


    Anyhow, getting back to TB, I think it will work if we can get those other 2 sections properly passed. Any ideas?

     

    Spoiler

    GB-TRX40-D-TR-PCI.jpg.fff30832f5858cbf85104b4daea05c29.jpg

     

    Spoiler
    
    Thunderbolt Addresses:
    
    49:00.0 PCI bridge [0604]: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] [8086:15ea] (rev 06)
            Kernel driver in use: pcieport
    4a:00.0 PCI bridge [0604]: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] [8086:15ea] (rev 06)
            Kernel driver in use: pcieport
    4a:01.0 PCI bridge [0604]: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] [8086:15ea] (rev 06)
            Kernel driver in use: pcieport
    4a:02.0 PCI bridge [0604]: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] [8086:15ea] (rev 06)
            Kernel driver in use: pcieport
    4a:04.0 PCI bridge [0604]: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] [8086:15ea] (rev 06)
            Kernel driver in use: pcieport
    4b:00.0 System peripheral [0880]: Intel Corporation JHL7540 Thunderbolt 3 NHI [Titan Ridge 4C 2018] [8086:15eb] (rev 06)
            Subsystem: Device [2222:1111]
            Kernel driver in use: vfio-pci
            Kernel modules: thunderbolt
    53:00.0 USB controller [0c03]: Intel Corporation JHL7540 Thunderbolt 3 USB Controller [Titan Ridge 4C 2018] [8086:15ec] (rev 06)
            Subsystem: Device [2222:1111]
            Kernel driver in use: vfio-pci 

     

    
    IOMMU Groups:
    
    IOMMU Group 58 49:00.0 PCI bridge [0604]: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] [8086:15ea] (rev 06)
    IOMMU Group 59 4a:00.0 PCI bridge [0604]: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] [8086:15ea] (rev 06)
    IOMMU Group 60 4a:01.0 PCI bridge [0604]: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] [8086:15ea] (rev 06)
    IOMMU Group 61 4a:02.0 PCI bridge [0604]: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] [8086:15ea] (rev 06)
    IOMMU Group 62 4a:04.0 PCI bridge [0604]: Intel Corporation JHL7540 Thunderbolt 3 Bridge [Titan Ridge 4C 2018] [8086:15ea] (rev 06)
    IOMMU Group 63 4b:00.0 System peripheral [0880]: Intel Corporation JHL7540 Thunderbolt 3 NHI [Titan Ridge 4C 2018] [8086:15eb] (rev 06)
    IOMMU Group 64 53:00.0 USB controller [0c03]: Intel Corporation JHL7540 Thunderbolt 3 USB Controller [Titan Ridge 4C 2018] [8086:15ec] (rev 06)

     

     

    Spoiler

    Realtek_USB_GBDesignare.jpg.81e0550895f60586c05a6c4fdee631a7.jpg

     

    lspci -tv gives a different view of the TB addresses as compared to other addresses:

    Spoiler
    
    -+-[0000:60]-+-00.0  Advanced Micro Devices, Inc. [AMD] Starship/Matisse Root Complex
     |           +-00.2  Advanced Micro Devices, Inc. [AMD] Starship/Matisse IOMMU
     |           +-01.0  Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge
     |           +-02.0  Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge
     |           +-03.0  Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge
     |           +-04.0  Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge
     |           +-05.0  Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge
     |           +-07.0  Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge
     |           +-07.1-[61]----00.0  Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Function
     |           +-08.0  Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge
     |           \-08.1-[62]----00.0  Advanced Micro Devices, Inc. [AMD] Starship/Matisse Reserved SPP
     +-[0000:40]-+-00.0  Advanced Micro Devices, Inc. [AMD] Starship/Matisse Root Complex
     |           +-00.2  Advanced Micro Devices, Inc. [AMD] Starship/Matisse IOMMU
     |           +-01.0  Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge
     |           +-01.1-[41-48]----00.0-[42-48]--+-03.0-[43]----00.0  Intel Corporation I210 Gigabit Network Connection
     |           |                               +-05.0-[44]----00.0  Intel Corporation I210 Gigabit Network Connection
     |           |                               +-06.0-[45]----00.0  Intel Corporation Device 2723
     |           |                               +-08.0-[46]--+-00.0  Advanced Micro Devices, Inc. [AMD] Starship/Matisse Reserved SPP
     |           |                               |            +-00.1  Advanced Micro Devices, Inc. [AMD] Matisse USB 3.0 Host Controller
     |           |                               |            \-00.3  Advanced Micro Devices, Inc. [AMD] Matisse USB 3.0 Host Controller
     |           |                               +-09.0-[47]----00.0  Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode]
     |           |                               \-0a.0-[48]----00.0  Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode]
     |           +-01.3-[49-5a]----00.0-[4a-5a]--+-00.0-[4b]----00.0  Intel Corporation JHL7540 Thunderbolt 3 NHI [Titan Ridge 4C 2018]
     |           |                               +-01.0-[4c-52]--
     |           |                               +-02.0-[53]----00.0  Intel Corporation JHL7540 Thunderbolt 3 USB Controller [Titan Ridge 4C 2018]
     |           |                               \-04.0-[54-5a]--
     |           +-02.0  Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge
     |           +-03.0  Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge
     |           +-04.0  Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge
     |           +-05.0  Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge
     |           +-07.0  Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge
     |           +-07.1-[5b]----00.0  Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Function
     |           +-08.0  Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge
     |           \-08.1-[5c]----00.0  Advanced Micro Devices, Inc. [AMD] Starship/Matisse Reserved SPP
     +-[0000:20]-+-00.0  Advanced Micro Devices, Inc. [AMD] Starship/Matisse Root Complex
     |           +-00.2  Advanced Micro Devices, Inc. [AMD] Starship/Matisse IOMMU
     |           +-01.0  Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge
     |           +-02.0  Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge
     |           +-03.0  Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge
     |           +-03.1-[21-23]----00.0-[22-23]----00.0-[23]--+-00.0  Advanced Micro Devices, Inc. [AMD/ATI] Vega 10 XL/XT [Radeon RX Vega 56/64]
     |           |                                            \-00.1  Advanced Micro Devices, Inc. [AMD/ATI] Vega 10 HDMI Audio [Radeon Vega 56/64]
     |           +-04.0  Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge
     |           +-05.0  Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge
     |           +-07.0  Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge
     |           +-07.1-[24]----00.0  Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Function
     |           +-08.0  Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge
     |           \-08.1-[25]--+-00.0  Advanced Micro Devices, Inc. [AMD] Starship/Matisse Reserved SPP
     |                        +-00.1  Advanced Micro Devices, Inc. [AMD] Starship/Matisse Cryptographic Coprocessor PSPCPP
     |                        +-00.3  Advanced Micro Devices, Inc. [AMD] Starship USB 3.0 Host Controller
     |                        \-00.4  Advanced Micro Devices, Inc. [AMD] Starship/Matisse HD Audio Controller
     \-[0000:00]-+-00.0  Advanced Micro Devices, Inc. [AMD] Starship/Matisse Root Complex
                 +-00.2  Advanced Micro Devices, Inc. [AMD] Starship/Matisse IOMMU
                 +-01.0  Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge
                 +-01.1-[01]----00.0  Phison Electronics Corporation Device 5016
                 +-01.2-[02]----00.0  Phison Electronics Corporation E12 NVMe Controller
                 +-02.0  Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge
                 +-03.0  Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge
                 +-04.0  Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge
                 +-05.0  Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge
                 +-07.0  Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge
                 +-07.1-[03]----00.0  Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Function
                 +-08.0  Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge
                 +-08.1-[04]--+-00.0  Advanced Micro Devices, Inc. [AMD] Starship/Matisse Reserved SPP
                 |            \-00.3  Advanced Micro Devices, Inc. [AMD] Starship USB 3.0 Host Controller
                 +-14.0  Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller
                 +-14.3  Advanced Micro Devices, Inc. [AMD] FCH LPC Bridge
                 +-18.0  Advanced Micro Devices, Inc. [AMD] Starship Device 24; Function 0
                 +-18.1  Advanced Micro Devices, Inc. [AMD] Starship Device 24; Function 1
                 +-18.2  Advanced Micro Devices, Inc. [AMD] Starship Device 24; Function 2
                 +-18.3  Advanced Micro Devices, Inc. [AMD] Starship Device 24; Function 3
                 +-18.4  Advanced Micro Devices, Inc. [AMD] Starship Device 24; Function 4
                 +-18.5  Advanced Micro Devices, Inc. [AMD] Starship Device 24; Function 5
                 +-18.6  Advanced Micro Devices, Inc. [AMD] Starship Device 24; Function 6
                 \-18.7  Advanced Micro Devices, Inc. [AMD] Starship Device 24; Function 7

     

     

  10. 15 hours ago, fabiosun said:

    ah by the way, check this:

    
    # /etc/modules: kernel modules to load at boot time.
    #
    # This file contains the names of kernel modules that should be loaded
    # at boot time, one per line. Lines beginning with "#" are ignored.
    
    vfio
    vfio_iommu_type1
    vfio_pci
    vfio_virqfd

    and also the main thing..IOMMU in your grub.cfg config file

     

    Thanks for your help. I'm slowly getting things to work. (I'll attack the monitor last.) i've had the kernel modules and grub.cfg files properly filled out. There are 2 files for one of the kernel modules that I've seen used, but I think I only need one of them since they both contain same thing. And these are the files named "/etc/modprobe.d/vfio.conf" and "/etc/modprobe.d/vfio-pci.conf". I think I don't need the latter.

     

    You were correct with the Audio being a problem. It was causing some of the crashes. Even after doing 'mod' described below for hostpciX, trying to pass-thru the 23:00:4 audio section results in a freeze (and adding in adjacent USB @ 23:00:3 did not help either).

     

    It turns out that I cannot get error free pass-thru with Intel I210 Ethernet device if I use "hostpci3: 44:00.0,pcie=1". This gives an error on Proxnox monitor of "Invalid PCI ROM header signature". Instead, the better way for my mobo is using "hostpci3: 44:00.0,pcie=1,rombar=0". This 'rombar=0' made all the difference.

     

    It also allowed finally passing BT... and so I've now got native BT (Intel WiFi 6 AX200; probably same on most of our mobos) working (but no WiFi) using pass-thru BT! This is native mobo BT, not an add-on card!

     

    Native BT requires 4 things:

    a) the above 'rombar=0' addition in VM config file.

    b) USB power pass-thru (described below).

    c) Most important: two special kexts (a work in progress; see GitHub); I've attached versions that worked. These simply go into OC/Kexts folder (and of course, enabled inside config.plist file).

    d) And once booted into macOS, open BT preferences and remove all BT items. Then re-connect each one as desired.

     

    You need to pass the Network + the USB for BT (on my mobo, as shown in my previous post above), it is at 45:00:0. The associated USB is found with command "lsusb". On my mobo, results are shown in spoiler below. So I pass 8086:2723,8086:0084 for BT and 8087:0029 for the USB power  in "/etc/modprobe.d/vfio.conf". Then run "update-initramfs -u -k all" and reboot Proxmox.

     

    The other problem I found is that while many things seem to need to be blacklisted, the kernel drivers for Ethernet, SATA and BT should not be entered into the blacklist file. I found out the hard way: I blacklisting 'igb' and on re-boot, I couldn't communicate from laptop to Proxmox: the blacklisted Ethernet driver shut down all host Ethernet. But since I kept 2nd monitor and keyboards connected, I was able to correct the blacklist file and get things working again. (This is why I'll pass the GPU as the last device after I've made most of my mistakes.)

     

    And as for the two Ethernet ports on my mobo, I have both connected to my hub at home, but only pass-thru one (which is all I need on Mac), so as to keep communication lines open from Mac to Proxmox.

     

    ***

     

    One thing I've noticed is that Proxmox passes all the various mobo devices to macOS as USB devices (including the Realtek 1220 audio device). I can see almost all of them using IORegistryExplorer once Mac has booted. Therefore, it makes sense to pass-thru as many as possible to minimize USB usage (and later so we can limit each USB device to 15 entries).

     

    results of command "lsusb":

    Spoiler
    
    Bus 008 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
    Bus 007 Device 003: ID 05e3:0608 Genesys Logic, Inc. Hub
    
    Bus 007 Device 002: ID 8087:0029 Intel Corp. <---- USB for BT on GB TRX40 Designare
    
    Bus 007 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 006 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
    Bus 005 Device 006: ID 048d:8297 Integrated Technology Express, Inc. 
    Bus 005 Device 003: ID 0414:a002 Giga-Byte Technology Co., Ltd 
    Bus 005 Device 005: ID 045e:07f8 Microsoft Corp. Wired Keyboard 600 (model 1576)
    Bus 005 Device 004: ID 22d4:1803  
    Bus 005 Device 002: ID 05e3:0608 Genesys Logic, Inc. Hub
    Bus 005 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
    Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
    Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
    Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

     

     

    BT-kexts.zip

    • +1 2
  11. I finally got all the parts for this build a few day ago and after a couple of days of learning about Proxmox, the computer can boot onto an NVMe SSD previously cloned using Mojave 10.14.6 from the X299 build. The bootloader is OC v058 on the EFI partition of the NVMe drive (the drive is assigned to sata2 for booting from the conf file). Parts are listed in signature at bottom.

     

    I presently only have 64GB total DDR4 and so pass only 28-32GB. My intention was to pass the Vega 56 but when things started acting strangely, I ended up moving the Vega 56 to PCIe slot 3 (TB card will later be in slot 4), and placing an RX580 in PCIe slot 1 for Proxmox (slot 2 is empty).


    My problem is that I can only use the Console from my laptop to run the VM, I cannot pass through the GPU. In fact, my problem is worse: I cannot pass anything from the mobo. The VM freezes if I try to pass through any device. I've tried only passing 1 device, like the Realtek 1220 Audio device and still it freezes/crashes. I've gone over all items pretty carefully, but since so many of you have pass through working, I've must have made a mistake somewhere.

     

    I believe I've properly configured the /etc/pve/qemu-server/102.conf and the /etc/modprobe.d/vfio.conf files (both shown below) , as I can see "Kernel driver in use: vfio-pci" properly substituted for the chosen devices (see lspci -nn -k, spoiler below), except for 2 devices. The Ethernet port (44:00:0) and the NVMe (01:00:0): neither show substituted kernel drivers.

     

    BTW, Cinebench R15 gives about 7200 on average, so about par for this build and shows that the VM is basically working.

     

    Any ideas what I'm doing wrong that prevents pass through? Thanks for any help.

     

    lspci -nn -k :

    Spoiler
    
    00:00.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Root Complex [1022:1480]
            Subsystem: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Root Complex [1022:1480]
    00:00.2 IOMMU [0806]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse IOMMU [1022:1481]
            Subsystem: Advanced Micro Devices, Inc. [AMD] Starship/Matisse IOMMU [1022:1481]
    00:01.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge [1022:1482]
    00:01.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse GPP Bridge [1022:1483]
            Kernel driver in use: pcieport
    00:01.2 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse GPP Bridge [1022:1483]
            Kernel driver in use: pcieport
    00:02.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge [1022:1482]
    00:03.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge [1022:1482]
    00:04.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge [1022:1482]
    00:05.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge [1022:1482]
    00:07.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge [1022:1482]
    00:07.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Internal PCIe GPP Bridge 0 to bus[E:B] [1022:1484]
            Kernel driver in use: pcieport
    00:08.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge [1022:1482]
    00:08.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Internal PCIe GPP Bridge 0 to bus[E:B] [1022:1484]
            Kernel driver in use: pcieport
    00:14.0 SMBus [0c05]: Advanced Micro Devices, Inc. [AMD] FCH SMBus Controller [1022:790b] (rev 61)
            Subsystem: Gigabyte Technology Co., Ltd FCH SMBus Controller [1458:5001]
            Kernel modules: i2c_piix4, sp5100_tco
    00:14.3 ISA bridge [0601]: Advanced Micro Devices, Inc. [AMD] FCH LPC Bridge [1022:790e] (rev 51)
            Subsystem: Gigabyte Technology Co., Ltd FCH LPC Bridge [1458:5001]
    00:18.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Starship Device 24; Function 0 [1022:1490]
    00:18.1 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Starship Device 24; Function 1 [1022:1491]
    00:18.2 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Starship Device 24; Function 2 [1022:1492]
    00:18.3 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Starship Device 24; Function 3 [1022:1493]
            Kernel driver in use: k10temp
            Kernel modules: k10temp
    00:18.4 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Starship Device 24; Function 4 [1022:1494]
    00:18.5 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Starship Device 24; Function 5 [1022:1495]
    00:18.6 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Starship Device 24; Function 6 [1022:1496]
    00:18.7 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Starship Device 24; Function 7 [1022:1497]
    01:00.0 Non-Volatile memory controller [0108]: Phison Electronics Corporation Device [1987:5016] (rev 01)
            Subsystem: Phison Electronics Corporation Device [1987:5016]
            Kernel driver in use: nvme
    02:00.0 Non-Volatile memory controller [0108]: Phison Electronics Corporation E12 NVMe Controller [1987:5012] (rev 01)
            Subsystem: Phison Electronics Corporation E12 NVMe Controller [1987:5012]
            Kernel driver in use: nvme
    03:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Function [1022:148a]
            Subsystem: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Function [1022:148a]
    04:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Reserved SPP [1022:1485]
            Subsystem: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Reserved SPP [1022:1485]
    04:00.3 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Starship USB 3.0 Host Controller [1022:148c]
            Subsystem: Gigabyte Technology Co., Ltd Starship USB 3.0 Host Controller [1458:5007]
            Kernel driver in use: xhci_hcd
    20:00.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Root Complex [1022:1480]
            Subsystem: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Root Complex [1022:1480]
    20:00.2 IOMMU [0806]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse IOMMU [1022:1481]
            Subsystem: Advanced Micro Devices, Inc. [AMD] Starship/Matisse IOMMU [1022:1481]
    20:01.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge [1022:1482]
    20:02.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge [1022:1482]
    20:03.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge [1022:1482]
    20:03.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse GPP Bridge [1022:1483]
            Kernel driver in use: pcieport
    20:04.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge [1022:1482]
    20:05.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge [1022:1482]
    20:07.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge [1022:1482]
    20:07.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Internal PCIe GPP Bridge 0 to bus[E:B] [1022:1484]
            Kernel driver in use: pcieport
    20:08.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge [1022:1482]
    20:08.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Internal PCIe GPP Bridge 0 to bus[E:B] [1022:1484]
            Kernel driver in use: pcieport
    21:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere [Radeon RX 470/480] [1002:67df] (rev e1)
            Subsystem: Tul Corporation / PowerColor Ellesmere [Radeon RX 470/480/570/570X/580/580X/590] [148c:2391]
            Kernel driver in use: amdgpu
            Kernel modules: amdgpu
    21:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Ellesmere HDMI Audio [Radeon RX 470/480 / 570/580/590] [1002:aaf0]
            Subsystem: Tul Corporation / PowerColor Ellesmere HDMI Audio [Radeon RX 470/480 / 570/580/590] [148c:aaf0]
            Kernel modules: snd_hda_intel
    22:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Function [1022:148a]
            Subsystem: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Function [1022:148a]
    23:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Reserved SPP [1022:1485]
            Subsystem: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Reserved SPP [1022:1485]
    23:00.1 Encryption controller [1080]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Cryptographic Coprocessor PSPCPP [1022:1486]
            Subsystem: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Cryptographic Coprocessor PSPCPP [1022:1486]
            Kernel driver in use: ccp
            Kernel modules: ccp
    23:00.3 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Starship USB 3.0 Host Controller [1022:148c]
            Subsystem: Gigabyte Technology Co., Ltd Starship USB 3.0 Host Controller [1458:5007]
            Kernel driver in use: xhci_hcd
    23:00.4 Audio device [0403]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse HD Audio Controller [1022:1487]
            Subsystem: Advanced Micro Devices, Inc. [AMD] Starship/Matisse HD Audio Controller [1022:d102]
            Kernel driver in use: vfio-pci
            Kernel modules: snd_hda_intel
    40:00.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Root Complex [1022:1480]
            Subsystem: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Root Complex [1022:1480]
    40:00.2 IOMMU [0806]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse IOMMU [1022:1481]
            Subsystem: Advanced Micro Devices, Inc. [AMD] Starship/Matisse IOMMU [1022:1481]
    40:01.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge [1022:1482]
    40:01.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse GPP Bridge [1022:1483]
            Kernel driver in use: pcieport
    40:02.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge [1022:1482]
    40:03.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge [1022:1482]
    40:03.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse GPP Bridge [1022:1483]
            Kernel driver in use: pcieport
    40:04.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge [1022:1482]
    40:05.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge [1022:1482]
    40:07.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge [1022:1482]
    40:07.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Internal PCIe GPP Bridge 0 to bus[E:B] [1022:1484]
            Kernel driver in use: pcieport
    40:08.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge [1022:1482]
    40:08.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Internal PCIe GPP Bridge 0 to bus[E:B] [1022:1484]
            Kernel driver in use: pcieport
    41:00.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:57ad]
            Kernel driver in use: pcieport
    42:03.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:57a3]
            Kernel driver in use: pcieport
    42:05.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:57a3]
            Kernel driver in use: pcieport
    42:06.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:57a3]
            Kernel driver in use: pcieport
    42:08.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:57a4]
            Kernel driver in use: pcieport
    42:09.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:57a4]
            Kernel driver in use: pcieport
    42:0a.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:57a4]
            Kernel driver in use: pcieport
    43:00.0 Ethernet controller [0200]: Intel Corporation I210 Gigabit Network Connection [8086:1533] (rev 03)
            Subsystem: Gigabyte Technology Co., Ltd I210 Gigabit Network Connection [1458:e000]
            Kernel driver in use: igb
            Kernel modules: igb
    44:00.0 Ethernet controller [0200]: Intel Corporation I210 Gigabit Network Connection [8086:1533] (rev 03)
            Subsystem: Gigabyte Technology Co., Ltd I210 Gigabit Network Connection [1458:e000]
            Kernel driver in use: igb
            Kernel modules: igb
    45:00.0 Network controller [0280]: Intel Corporation Device [8086:2723] (rev 1a)
            Subsystem: Intel Corporation Device [8086:0084]
            Kernel driver in use: vfio-pci
            Kernel modules: iwlwifi
    46:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Reserved SPP [1022:1485]
            Subsystem: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Reserved SPP [1022:1485]
    46:00.1 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Matisse USB 3.0 Host Controller [1022:149c]
            Subsystem: Advanced Micro Devices, Inc. [AMD] Matisse USB 3.0 Host Controller [1022:1486]
            Kernel driver in use: xhci_hcd
    46:00.3 USB controller [0c03]: Advanced Micro Devices, Inc. [AMD] Matisse USB 3.0 Host Controller [1022:149c]
            Subsystem: Advanced Micro Devices, Inc. [AMD] Matisse USB 3.0 Host Controller [1022:148c]
            Kernel driver in use: xhci_hcd
    47:00.0 SATA controller [0106]: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] [1022:7901] (rev 51)
            Subsystem: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] [1022:7901]
            Kernel driver in use: ahci
            Kernel modules: ahci
    48:00.0 SATA controller [0106]: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] [1022:7901] (rev 51)
            Subsystem: Advanced Micro Devices, Inc. [AMD] FCH SATA Controller [AHCI mode] [1022:7901]
            Kernel driver in use: ahci
            Kernel modules: ahci
    49:00.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:1470] (rev c3)
            Kernel driver in use: pcieport
    4a:00.0 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Device [1022:1471]
            Kernel driver in use: pcieport
    4b:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Vega 10 XL/XT [Radeon RX Vega 56/64] [1002:687f] (rev c3)
            Subsystem: Hightech Information System Ltd. Vega 10 XL/XT [Radeon RX Vega 56/64] [1787:2388]
            Kernel driver in use: vfio-pci
            Kernel modules: amdgpu
    4b:00.1 Audio device [0403]: Advanced Micro Devices, Inc. [AMD/ATI] Vega 10 HDMI Audio [Radeon Vega 56/64] [1002:aaf8]
            Subsystem: Advanced Micro Devices, Inc. [AMD/ATI] Vega 10 HDMI Audio [Radeon Vega 56/64] [1002:aaf8]
            Kernel driver in use: vfio-pci
            Kernel modules: snd_hda_intel
    4c:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Function [1022:148a]
            Subsystem: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Function [1022:148a]
    4d:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Reserved SPP [1022:1485]
            Subsystem: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Reserved SPP [1022:1485]
    60:00.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Root Complex [1022:1480]
            Subsystem: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Root Complex [1022:1480]
    60:00.2 IOMMU [0806]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse IOMMU [1022:1481]
            Subsystem: Advanced Micro Devices, Inc. [AMD] Starship/Matisse IOMMU [1022:1481]
    60:01.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge [1022:1482]
    60:02.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge [1022:1482]
    60:03.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge [1022:1482]
    60:04.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge [1022:1482]
    60:05.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge [1022:1482]
    60:07.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge [1022:1482]
    60:07.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Internal PCIe GPP Bridge 0 to bus[E:B] [1022:1484]
            Kernel driver in use: pcieport
    60:08.0 Host bridge [0600]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Host Bridge [1022:1482]
    60:08.1 PCI bridge [0604]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Internal PCIe GPP Bridge 0 to bus[E:B] [1022:1484]
            Kernel driver in use: pcieport
    61:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Function [1022:148a]
            Subsystem: Advanced Micro Devices, Inc. [AMD] Starship/Matisse PCIe Dummy Function [1022:148a]
    62:00.0 Non-Essential Instrumentation [1300]: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Reserved SPP [1022:1485]
            Subsystem: Advanced Micro Devices, Inc. [AMD] Starship/Matisse Reserved SPP [1022:1485]

     

     

    /etc/modprobe.d/vfio.conf :

    Spoiler
    
    options vfio-pci ids=1987:5016,1022:1487,1022:d102,8086:1533,1458:e000,8086:2723,8086:0084,8087:0029,1002:687f,1787:2388,1002:aaf8 disable_vga=1
    
    where:
    
    01:00.0 = 1987:5016 = NVMe SSD; Sabrent 1TB Rocket Gen4
    23:00.4 = 1022:1487,1022:d102 = Realtek 1220 Audio
    44:00.0 = 8086:1533,1458:e000 = Intel I210 Ethernet
    45:00.0 = 8086:2723,8086:0084,8087:0029 = Network controller; 8087:0029 for USB portion of BT
    46:00.3 = 1022:149c,1022:148c = USB controller
    4b:00.0 = 1002:687f,1787:2388 = VGA compatible controller (Vega 56) (located at PCIe 3; changes to 5d:00:0 if PCIe 4 is populated)
    4b:00.1 = 1002:aaf8 = Audio device controller (Vega 10)

     

     

    /etc/pve/qemu-server/102.conf :

    Spoiler
    
    args: -device isa-applesmc,osk="ourhardworkbythesewordsguardedpleasedontsteal(c)AppleComputerInc" -smbios type=2 -cpu Penryn,kvm=on,vendor=GenuineIntel,+kvm_pv_unhalt,+kvm_pv_eoi,+invtsc,vmware-cpuid-freq=on,+pcid,+ssse3,+sse4.2,+popcnt,+avx,+aes,+xsave,+xsaveopt,check -device usb-kbd,bus=ehci.0,port=2
    balloon: 0
    bios: ovmf
    boot: cdn
    bootdisk: sata2
    cores: 64
    cpu: Penryn
    efidisk0: local-lvm:vm-102-disk-1,size=4M
    hostpci0: 01:00,pcie=1
    hostpci1: 23:00,pcie=1
    hostpci2: 45:00,pcie=1
    hostpci3: 44:00,pcie=1
    hostpci4: 4b:00,pcie=1,x-vga=on,romfile=vega56.bin
    ide2: local:iso/opencore.iso,cache=unsafe,size=256M
    machine: q35
    memory: 28000
    name: PassThru
    net0: vmxnet3=02:59:97:1F:23:2C,bridge=vmbr0,firewall=1
    numa: 0
    ostype: other
    sata0: local-lvm:vm-102-disk-0,cache=unsafe,discard=on,size=32G,ssd=1
    sata2: /dev/disk/by-id/nvme-Sabrent_Rocket_4.0_1TB_03F1079C104401028054,size=976762584K
    scsihw: virtio-scsi-pci
    smbios1: uuid=44c47c0e-b160-426b-8b4d-bbaa99c2dc0b
    sockets: 1
    usb0: host=22d4:1803
    usb1: host=045e:07f8
    usb2: host=8087:0029
    vga: none
    vmgenid: 0a592045-b32d-41bf-b636-9ac17879cc7a

     

     

     

     

  12. Hackintoshes typically don't work with on-board Intel BT/WiFi, requiring the use of add-on PCIe cards, like a Fenvi T919.

     

    Does this VM method now allow (interface with) MacOS to use on-board Intel BT/WiFi?

     

    And any experience about using Thunderbolt PCIe cards? I presently have these working with flashed firmware on X299 and X570 builds, and I'm planning on using the GB TRX40 Designare mobo.

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.