IOHDACodecDevice only shows up after replugging hdmi cable or installing FakePCIID.kext

I have this odd issue where audio over hdmi won't work until I replug the hdmi cable. Then an extra section called IOHDACodecDevice shows up in ioreg under HDEF.

With FakePCIID installed, without any helper kexts it works without re-plugging. So I thought to be smart and set the device id that it fakes in the OpenCore config. Added the device id to the correct section in the config and it does set the new device id properly, just like FakePCIID does, but audio over hdmi still doesn't work and re-plugging also stops working. Replugging works fine when I only define the alc layout.

So I either have to use this old kext or re-plug the cable. There must be a better way to do this. But I don't know what FakePCIID does exactly. It does more than changing the device id for sure. Else setting the device id in the OpenCore config would've worked right?

tl;dr
How can I replicate what FakePCIID does in the OpenCore config so I can ditch this kext?

submitted by /u/Specific_Commercial3
[link] [comments]