Note: I haven't dealt with sound yet, which is another potential sticking point if you're doing gaming (most people seem to use a separate sound device, although I've seen some people use network sound when running into issues; HDMI sound I assume would work fine if you're doing GPU pass through) since I was just focused on getting my VR HMD working, which has it's own sound output already.
IOMMU groups are defined by AGESA and the X570 boards in general seem to have much finer grained groupings vs earlier AMD chips/boards (although people seem to have done ACS workarounds). My recommendation is to find something that someone has gotten working already and just follow along (the VFIO subgroup at level1techs and r/VFIO on reddit seem to be the best resources).
Caveats:
- Anti-cheat systems used in multiplayer games generally don't like running in VMs. - Consumer Nvidia cards don't get reset on VM reboot, you need to reboot the machine. - IIRC Nvidia cards need a KVM hack to get the driver to work.
Nvidia cards do require a config workaround for VM detection but the workaround is relatively straightforward (and works w/o further mucking).