Looking Glass is the brilliant brainchild of Geoffrey McRae from HostFission, born out of his unwavering determination to find a better solution for seamlessly integrating Linux and Windows. After years of dual-booting between the two operating systems, Geoffrey knew there had to be a more efficient way. Thanks to remarkable advancements in VFIO support, particularly the exceptional PCI passthrough of video cards on IOMMU-compatible systems, Geoffrey saw an opportunity to tackle this challenge head-on and create an all-in-one solution.
With the help of comprehensive guides, Geoffrey successfully set up a KVM Virtual Machine with his powerful GeForce 1080Ti. However, he quickly noticed that the performance on his AMD system left much to be desired. Delving deeper into the issue, he discovered that disabling Nested Page Tables (NPT) significantly improved video performance but adversely affected the rest of the VM. This roadblock needed to be overcome before considering this configuration as a viable solution. Undeterred by the setback, Geoffrey embarked on a journey of exploration to identify the cause and find a resolution.
Weeks turned into an immersive quest, as Geoffrey tirelessly combed through kernel and QEMU KVM sources, delving into the inner workings of KVM and devouring every whitepaper AMD had to offer on IOMMU and KVM. It was during this journey of discovery that he stumbled upon an astonishing revelation: the very same bug reported over a decade ago in AMD Phenom processors, affecting specific PCI devices, was still haunting the system. Correspondence between AMD and kernel developers revealed that AMD had acknowledged the problem but showed little interest in rectifying it, with no updates for over ten years. At this point, it seemed that the community had resigned itself to accepting it as a hardware flaw. Nevertheless, Geoffrey's unyielding persistence paid off, as he finally pinpointed the root cause and joyously shared the crucial information that would fix this age-old bug.
Enter Wendell from Level1, who had already been exploring IOMMU VFIO passthrough in his recent videos for Level1Tech. When he caught wind of Geoffrey's groundbreaking patch, he immediately leaped at the chance to test it and verify its effectiveness, which he promptly showcased in an awe-inspiring video release. In that same video, Wendell envisioned the next step: capturing the framebuffer and seamlessly displaying it on the host. Little did he know that Geoffrey had already transformed that vision into a remarkable proof of concept. Eager to collaborate, Geoffrey reached out to Wendell, sharing his groundbreaking work and enabling him to trial an early pre-alpha version of the software.
Through exclusive internal testing and tantalizing sneak peeks shared on the Level1 forums, the community rallied behind the project with unwavering support. A momentous decision was made through a community-wide vote, resulting in two captivating names for the application: "KVMFR" and "Looking Glass." Ultimately, it was agreed that the protocol responsible for transferring video frames from guest to client would be called KVMFR (KVM Frame Relay), while the software's implementation would proudly bear the name Looking Glass. With the project's distinctive identity established, it was released to the public on GitHub under the liberating GPL 2.0 license, captivating hearts and minds within the community.