A little teaser of what is to come :)

Sorry but I just cant help showing what I am working on, this is just too cool :slight_smile:

Bottom left window is a Windows 10 VM with a 1080ti passed through, integrated into my i3wm desktop seamlessly, pixel perfect, zero quality loss and un-perceivable latency (<5ms).

This will all be released open source in the very near future. Currently the project is unnamed, but we’re working on it :slight_smile:

Edit: there is actually no tearing, just the screenshot util seems to be a bit too slow.

Edit2: 3D Mark Result

Edit3: I have started a GoFundMe campaign to try to raise some funds to purchase additional hardware to continue development on this and the AMD TR power state issue.

Edit4: Working Demonstration

Edit5: Official Repository (no code released yet though)

Edit6: Latest Update Video

Edit7: I now have a patreon, help me continue to develop stuff like this.

Edit8: Official Website
https://looking-glass.hostfission.com/

90 Likes

Exciting stuff! Can’t wait to see more of this.

3 Likes

Granted :slight_smile:

kvmgfx sample

13 Likes

OH MY LORD

i need this right now!
seriously though how did you do it? never seen such a seamless vm. i will pay any amount of money to get this :slight_smile: as soon as i get my new ryzen setup that is :smile:

6 Likes

All in good time :slight_smile:. Just wetting your appetite.

I have spent the last month on this project (starting with the NPT fix) from initial conception to what you see here. Obviously this can run full screen fully integrated with the host.

I am currently working with @wendell to get this to a point where it’s ready for release with @celmor and @SgtAwesomesauce providing testing and feedback.

20 Likes

Can confirm it’s legit :smiley:

39 Likes

wow thanks @gnif and @wendell you guys sure made me drool over this.
looking forward to future updates :smiley:

5 Likes

This looks fantastic, and i3wm best wm.

I’ve just started playing with pci passthrough, and this work represents the dream.

2 Likes

Oh man this is my dream (and that it’ll be simple enough for a pleb like me)!

Any luck or plans on AMD GPU’s?

4 Likes

Call me a sceptic, but what is it you’re developing exactly?

The 5ms latency sounds like you’re doing some form of screen recording.

Edit: read on, there’s no 5ms of latency, shuffling graphics around this way should get you mere microseconds of latency at less than or around 1% of CPU core at 4k 60Hz. There might be some overhead somewhere but theoretically this is all coming together as a very efficient mechanism to send graphics from one GPU to another.

1 Like

The guest OS is rendering its graphics directly into a frame buffer in memory that is read and displayed directly by the host graphics card. There is no compression or anything like that. Essentially, it is a memory to memory copy.

As such it does not suffer from side effects from lossy compression (color shift, artifacts) and the latency is only as long as it takes to do memory copies, which on modern cpus is handled almost entirely without needing the CPU proper.

This will permit windows guests on linux hosts to display GPU accelerated video and graphics on the host with basically no delay, which will be the best user experience. Your windows guest with a passed-through graphics card no longer needs its own dedicated monitor.

23 Likes

This will be pretty huge, in my opinion.

8 Likes

This is great! I take it that the passed through card is setting the render target to a memory region somewhere, and then the window simply pulls from that shared region to display? I am imagining a series of steps like below.

  1. Guest renders to own GPU like normal
  2. GPU copies memory to main memory
  3. Window presents memory location as what it want rendered to X
  4. Normal X shenanigans

How close is that?

Neat! Will there also be a solution for Mac/Linux Guest?

Guys, I can’t afford to donate to the cause, but I’m willing to help with testing when I have time. I’ve got a pretty proficent background in Linux (senior Sysadmin at a software and hosting house for gambling sites). Already have a passthrough setup running on a Fedora host with Win10 guest.

Let me know it your interested in some extra hands?

2 Likes

I Name This

Project Theia

After the Titan goddess that gave the ancient greeks sight, glittering and glory! :smiley_cat:

13 Likes

Would like to second this. Perhaps putting up a thread that calls for a test when you want.

@wendell @gnif Will this work with nvidia optimus laptops?

1 Like

Unfortunately NO.

Optimus is a whole other ballgame that involves Hardware MUX’s and DMA Framebuffer magic which prevents GPU passthrough entirely since you cannot uncouple one GPU from the other in an effective manner.

It can work for some very Niche cases however where the hardware is setup correctly:

The technical TLDR:

Most laptops are of the middle type. dGPU passthrough needs a laptop of the far right type.

image

Hisrotically, no, but there may soon be an option in some scenarios:

Your first order of business will be to pass it through. If it does pass through then this… could… work

be sure to check out the diagram for all the different ways optimus may be connected… that may be relevant

3 Likes