Return to

Looking Glass - Triage



Too high, the windows video capture rate can’t keep up at those resolutions. This is not a Looking Glass problem.


Oh I thought people were getting decent performance at even higher resolutions than mine. What is the highest resolution that the video capture can keep up with?

EDIT: Just tested Overwatch with both 2560x1080 and 1920x1080; didn’t notice the slightest performance increase.



I’m running into a snag with the looking glass host on Windows, though I assume this is more of an issue with something on the Linux side. I’ve gotten looking glass working on older hardware a few months ago but this is a new install. I feel like I’m missing something obvious so hopefully I just overlooked something.

This is the error I’m getting from looking-glass-host on Windows 10:

[I]     CaptureFactory.h:83   | CaptureFactory::DetectDevice   | Trying DXGI
[I]     CaptureFactory.h:86   | CaptureFactory::DetectDevice   | Using DXGI                                             
[E]          ivshmem.cpp:64   | IVSHMEM::Initialize            | Unable to enumerate the device, is it attached? 
[E]          Service.cpp:57   | Service::Initialize            | IVSHMEM failed to initalize

I have this included in the devices section of my libvirt config:

<shmem name='looking-glass'>                                                                                                                                              
   <model type='ivshmem-plain'/>                                                                                                                                           
   <size unit='M'>64</size>                                                                                                                                                
   <address type='pci' domain='0x0000' bus='0x00' slot='0x0b' function='0x0'/>                                                                                             

I’m not sure what the “address type=‘pci’” bit is doing in there but it’s being added automatically when I start the VM. Permissions seem to be correct for the shared memory file:

.rw-rw---- 67M thnikk kvm 30 Nov 20:13 looking-glass

And lastly, I have a 2700X running on an MSI B450M Mortar. The host is using a GTX 660 Ti and the VM is using a Vega 64. I’m running Arch on the host and Win 10 on the VM.

Any help would be greatly appreciated.

Edit: I also read that someone else had the same error and it was fixed when they installed the driver. I double checked and it looks like I have the right version:


The baloon driver has nothing to do with IVSHMEM, you need to install the IVSHMEM driver for the PCI standard RAM controller


Duh, I figured it was something like that. I assumed that the driver package only contained the one driver and thought I got it when I installed the balloon driver, but I completely glossed over the PCI standard RAM controller part in the quickstart guide. It’s working perfectly now, thanks a lot!


So, i have looking glass set up, but im getting EXTREMELY low performance (60fps in windows with the -k option to see perf, but only 1-3 UPS). When i launch looking glass my FPS in the guest VM drops as well, though not to the extent that the apparent FPS in the looking glass window shows. Window size matched the guest, i launched LG with -a and -d

where can i begin to troubleshoot this?

host gpu is an rx550 with amdpro drivers, guest is a nvidia titan X maxwell. cpu is a ryzen 5 1600


We can’t diagnose anything if you do not provide logs or technical details. UPS is expected to be low if there is not much going on, windows provides frames only if there has been an update that is not just cursor movement.


Replying to the DXGI 1.5 update…

Count me out on testing. My machine doesn’t have enough cores to do a Windows 10 VM and a pfsense VM at the same time and not take a performance hit. If I ever get Threadripper, I’ll reconsider loading Windows 10 1809 in a VM with networking behind a pfsense VM. Sorry, ShutUp10 and Spybot Anti-Beacon aren’t enough.

If you could find performance enhancements for older versions of DXGI as well, that would be useful for us still rocking Windows 8.1 VMs. Otherwise I’m likely going to have to shift to a capture card based solution for streaming downscaled 4K.

God willing, if it takes Valve to expose NvFBC and for there to be a “Steam Local Link” shared memory tech based on Looking Glass, I’m fine with that. Even if they bury it in a “Virtualization” tab in Steam in-home streaming advanced settings with a checkbox that says “Detect IVSHMEM presence for use of shared memory in virtualization environments”


How many cores do you think you need? I am only giving 4 full cores (8 threads) to Windows 10 and it’s more then acceptable for everything I can throw at it.

Run Windows 10 N, it has most of that junk disabled by default as it’s intended for schools where protection of children is a major concern.

There is nothing more that can be done with the older versions. That said give it a go anyway, you never know, it might still work but just be “unsupported” by microsoft. I don’t have a Windows 8 environment to test in.


I need minimum of 3 cores hyperthreaded for both my host and guest, and I only have a 6 core processor. I tried 4 cores to the guest and 2 to the host on my 6 core system and the DPC latency didn’t work out.I also think the risk is too great to get a E5-1680 V2 at this stage, as Threadripper would serve me better for allocating enough cores for both Windows and a pfsense VM at the same time.

Unfortunately, not in a position to get volume licenses for Windows for use, and frankly, for demonstration purposes, having the watermark makes you a laughing stock.

I feel like NvFBC is the solution to performance bottlenecks, but I know that will have to be in a official downstream fork like from Codeweavers or Valve. (if they think Looking Glass is a good idea)

1080p for Looking Glass though works fine right now. It’s only 4K resolutions that suffer. I’ll be shifting to 4K for my native resolution soon because I’m likely getting a 4K monitor in the next 2 months.


Windows 10 licensing is very odd, I have found that if you skip the key the Windows 10 N install doesn’t care, it still activates and works fine.

I can confirm without a doubt that it is not.


I’ve seen volume license keys actually warn you about expiry, so that’s why I’m a little hesitant to push fully ahead, along with the fact I need to sandbox the networking with a pfsense VM to be absolutely sure.

I remember Mirai from Multiboxology talking about how anything using a DirectX or DXGI hook was simply not going to cut it for same machine 4K, and what made his situation worse was he swore by SLI, which is a nightmare to get DirectX/DXGI to capture. (In fact, it might be impossible)


I am not sure where any of that is coming from, besides it likely doesn’t apply anyway as we are not using a DX or DXGI hook, we are using the actual capture API.


Technical details of this change are discussed in my latest video:


Multiboxology stated each capture API he’s tried for same machine capture just cannot capture 4K properly, especially since he’s explicitly using an SLI setup and not willing to go single card.


I can confirm that DXGI capture works fine with SLI, tested it today on a GTX 960.


I have been doing some invasive performance diagnostics and I have found that in titles like Fallout76, running in full screen mode drastically hinders performance.

If you’re having issues with capture rates, please try running in full screen borderless mode if you have the option to do so.

Edit: Confirmed the same issue with 'theHunter: Call of the wild", windowed performs far better.
Edit: Confirmed for BF4 also


Hmm, might be because none of his capture programs use DXGI, but rather a DirectX hook based capture API, and it only hooks to the framebuffer output of one card.


Hi there. I’m not sure if I’m posting in the right place or not - I’m trying to get Looking Glass working. My Win10 Guest in KVM is working great on Ubuntu 18.04 with passthrough 1080Ti video/hdmi audio. I’ve followed the directions for installing LG and it seems to be working. I get the WIn10 desktop popping up in Linux, but it flashes steadily between the screen and black. If I move the guest mouse, the flickering is much faster. When I stop, it cycles screen/black/screen/black about twice per second.

Any thoughts on what I might try?

Thank you!


This is the right place. What version of Looking Glass are you using? A11 or master?

Please provide the client log output also.