Thanks for this guide.
I used it for setting up my I9-9900K, RX580 and the Z390 Ultra.
I used your SSDT for the RX580, and created my own for the USB ports, as the layout is different between our boards.
I also modified your thunderbolt SSDT for the Alpine Ridge card I have is pcie4.
According to the Gigabyte website, the GC-Alpine Ridge card is not supported, but it does seem to work just fine.
hot-Plugging seems to be working and my MOTU 828es shows up and works just fine in my preliminary testing.
I didnt even have to much about with windows to "activate" any of the thunderbolt devices. It just kinda worked. I was pretty surprised actually.
I am curious how you got imessage etc.. working without emuVariableUefi-64?
I couldn't get it working with your config, so I did the 'sudo nvram -p' test and saw that not much was in the nvram, and variables I created did not persist across reboots. Once I added emuVariableUefi imessage started working.
It's certainly not the end of the world if I use emuVariableUefi64, but i thought I'd ask.