Become a sponsor to Geoffrey McRae
Hi,
My real name is Geoffrey McRae and I love FOSS projects, cool technology, and electronics. In my downtime, I also like to play games with friends. Inventing and learning about cool technologies is my passion, and finding novel solutions to problems and solving them in unconventional ways is my forte.
Unfortunately, due to platform-exclusive titles, it's not possible to run Linux 100% of the time. As a workaround for many years, I put up with a dual boot environment, dreading each reboot just to play a game. Eventually, I got sick of this and figured it could be done better.
Some investigation lead me to discover that running windows in a Virtual Machine with bare-metal performance was possible through the concept of VFIO Passthrough, but there was an issue, you had to have a physical monitor attached to the GPU's output. So I started investigating a proof of concept solution to feed the frame buffer back to the host system, and Looking Glass was invented.
Partway through development of the original Looking Glass proof of concept I noted another issue, my nice new Ryzen system had very poor GPU performance when the NPT (Nested page tables) feature of the CPU was in use. NPT is required for general performance. So I put on my hacking hat and started digging through the AMD documentation. After a few days, I uncovered the bug and had it fixed upstream.
Little did I know that so many others were affected by this bug, and very quickly I found out with the mass of thankyou emails that I was sent for fixing this and was even awarded a bounty for fixing it. Some of the public tech giants such as L1Techs, HackADay and Linus Tech Tips also noticed and started to use this now fixed feature with videos such as GTA5 running on Linux, and the famous 7 Gamers 1 CPU demonstration.
Wendell @ L1Techs stated that the next leap was to somehow get the video from the guest back to the host, little did he know that I already had a working prototype that did this. So I got in touch and the rest is history.
By supporting me you will be supporting the Looking Glass project and related projects. I work from home and would like to do this full time if the funding can be provided to continue this work. I have also been working with AMD to fix bugs in their platforms such as the Generation 1 Threadripper bus reset issues, AMD Vega & Navi reset issues which this funding will also help to cover.
This would just start to cover the minimum needed to write a new version of the Looking Glass Host application as a Kernel Indirect Display Driver for Windows. The benefits of this would be the elimination of the requirement for an HDMI dummy plug or monitor (VFIO on all laptops with DGPUs would become viable), as well as the ability to obtain direct access to the DXGI swap chain in kernel mode allowing us to do some very nice things (zero-copy into IVSHMEM, proper mouse decoupling, etc). While $2000/m may seem quite high, the learning curve and time sink here is enormous as there are many unknowns and it will require writing a ton of code that doesn't yet exist in any form in the LG code base such as dynamic EDID parsing and generation
Featured work
-
gnif/LookingGlass
An extremely low latency KVMFR (KVM FrameRelay) implementation for guests with VGA PCI Passthrough.
C 4,726 -
gnif/PureSpice
A pure GPLv2 compliant C implementation of the SPICE protocol with minimal dependencies.
C 20
$1 a month
Select$1 Tier Description
$5 a month
Select$5 Tier Description
$10 a month
Select$10 Tier Description
$20 a month
Select$20 Tier Description
$30 a month
Select$30 Tier Description
$40 a month
Select$40 Tier Description
$50 a month
Select$50 Tier Description
$100 a month
Select$100 Tier Description