I often find that the documentation on this subject either leaves a bit to be desired, doesn't emphasize some really important aspects, or is just downright hard to follow at times.
Because of this, I wrote my own tutorial that primarily sources personal experience on the topic in an effort to drastically improve the available documentation on the subject (in a sort-of verbose nature).
One of the goals of the tutorial is to show the reader examples and explain why things are being done so that the reader comes away from the tutorial with a better understanding of how PCI-e passthrough works overall.
Feedback is highly encouraged! Submit an issue or pull request if you think the tutorial needs further improvement. I'm also open to suggestions of any kind.
https://clayfreeman.github.io/gpu-passthrough/