If you decide to do a GPU pass-through, I’m pretty sure that should automatically make the HDMI port available to you, or likely after you make sure that your HDMI port is assigned to that GPU… But, that’s a HostOS configuration and won’t be related to your virtualization.
That means that you should be able to skip all the articles you read about implementing QEMU (do you even know what that would involve?).
Which should bring you back to the most basic question… What virtualization are you planning to use? Libvirt is not a virtualization technology, it’s a virtualization manager that supports a very large number of different virtualization technologies… examples of virtualization technologies include but are not limited to KVM, Xen, QEMU variants of those two, VMware, Virtualbox, etc. And, Libvirt additionally supports isolation technologies like docker and LXC.
Where is HDMI output connected? What GPU? What drivers are you using in guest?
Use looking glass project, but with Ubuntu as guest instead of Windows
It captures video output using Windows specific API and then passes to host via shared memory. Now Linux supports virtio-gpu which basically passes OpenGL from guest to host. Linux also supports PRIME which allows using one GPU for rendering with output sent to another GPU. I once played with having virtio-gpu and nVidia pass-through, it even sort of worked using nouveau/modesetting in guest. Of course it probably depends on your exact requirements. I could not make nVidia binary driver work in guest.