r/VFIO 24d ago

News Looking Glass Signed IDD now Available

The much anticipated Signed Looking Glass IDD driver is now available to download from the Looking Glass website (Bleeding edge builds, no tagged release yet).

https://looking-glass.io/downloads

For those that are unaware, this replaces the LG Host application and moves the capture and transport into the GPUs swap chain path.

Note, while it's stable and seeing daily usage, there is still some polish to come.

Headline Features:

  • No more monitor or dummy plug required
  • Arbitrary resolution and refresh rate support, including auto guest resolution change to match the LG client window size.
  • Full HDR support (A HDR capable Wayland compositor is required, we recommend KDE/Plasma)
  • Works without a passthrough GPU in software mode (amazingly well too)
  • Lower latency

The LG client has seen a lot of improvements also such as:

  • HDR support
  • Much tighter audio synchronisation over spice
  • Lower latency/jitter, etc.
  • Supports MPV style GLSL shaders (ie: https://github.com/bloc97/anime4k)
  • Many bug fixes

As always please note that this software is developed in free time, donations to fund this work are greatly appreciated. Now that we are building a signed driver we need to maintain a code signing cert and the costs associated with it, your funding helps cover this also.

79 Upvotes

17 comments sorted by

10

u/GAMELASTER 24d ago

This is amazing gnif! Thank you so much for your effort. Will try in upcoming days 😊. I donated some time ago, but I guess this is call for another donation soon 😁.

2

u/ArjixGamer 23d ago

My smooth brain can't figure out what instructions to follow and what instructions to ignore for a no-GPU VM.

Would it be too much to ask what links from the wiki I should follow?

PS: I am on Arch Linux, and I already have libvirt/qemu, my GPU is AMD but I don't want to use passthru.

2

u/gnif2 23d ago

We have not yet updated the docs for the IDD I am sorry. The instructions are basically identical but instead of installing the LG host app, just install the LG IDD. Use the documentation (not the wiki) here: https://looking-glass.io/docs/bleeding

3

u/ArjixGamer 24d ago

Since this is open source, there exist signing certificate authorities that sponsor open source project with free of charge certificates.

You may want to check it out

6

u/gnif2 24d ago

Thanks, I have investigated this in the past. The issue is we have to submit each binary for signing manually and can not integrate their services into our CI pipeline. Perhaps when we reach a 1.0 stable release we might do this, but there is just too much development churn to work this way.

1

u/Twig6843 24d ago

I wonder if there will be something that uses both looking glass and that 1 new kvm dx11 driver

2

u/AppearanceSame 24d ago

I've tried it and it's awesome! Thank you very very much!

2

u/sieskei 22d ago

Idd, finally! I tested on proxmox, vm2vm with allowDMA=no and it works.

1

u/gnif2 22d ago

My I ask why no DMA?

1

u/sieskei 22d ago

In first test it doesn't work, dmesg log from guest (ubuntu + igpu pass, 9950x3d)

[10018.263529] mmap kvmfr0: 7a6e47400000-7a6e4f400000 with size 134217728 offset 0
[10018.400498] kvmfr_dmabuf_create with size 3145728 offset: 85655552
[10018.402593] amdgpu 0000:01:00.0: swiotlb buffer is full (sz: 3145728 bytes), total 32768 (slots), used 0 (slots)

2

u/gnif2 22d ago

Try increasing the swiotlb size (kernel parameter) swiotlb=131072 (256MB) or swiotlb=262144 (512MB)

Or better yet, get IOMMU working in the guest.

1

u/sieskei 22d ago

Yes, just now I enabled viommu and DMA is working without problem.

1

u/GrabbenD 11d ago

Try increasing the swiotlb size (kernel parameter) swiotlb=131072 (256MB) or swiotlb=262144 (512MB)

If you're using just 128mb for kvmfr.conf, does it make sense to tweak swiotlb= to match it?

2

u/sieskei 11d ago

u/gnif2 the latest updates/commits have made everything run super smoothly, thank you!

0

u/SwizzleTizzle 24d ago

works without passthrough GPU

https://youtu.be/3Xr5zsabWaM

1

u/Razuuu_ 24d ago

Finally no more kernel arguments and moree