Return to

Looking Glass - Guides, Help and Support



I have these libva packages installed on my Xubuntu 17.10x64.

dpkg -l | grep libva

libva-dev 1.8.3-2 amd64 Video Acceleration (VA) API for Linux – development files
libva-drm1 1.8.3-2 amd64 Video Acceleration (VA) API for Linux – DRM runtime
libva-glx1 1.8.3-2 amd64 Video Acceleration (VA) API for Linux – GLX runtime
libva-tpi1 1.8.3-2 amd64 Video Acceleration (VA) API for Linux – TPI runtime
libva-wayland1 1.8.3-2 amd64 Video Acceleration (VA) API for Linux – Wayland runtime
libva-x11-1 1.8.3-2 amd64 Video Acceleration (VA) API for Linux – X11 runtime
libva1 1.8.3-2 amd64 Video Acceleration (VA) API for Linux – runtime

I copied some missing headers files to source tree of client (Looking glass).

  1. Build a tagged release.
  2. Ensure that pkg-config is installed.



I have a problem, LG shows me an image that when I run it with the -s option

Otherwise, a transparent empty window appears and I have to kill the terminal to cancel it


What do you mean? It shows the guests video properly?
Sounds like spice server doesn’t work correctly if you only have issues when trying to use it.


The guest works perfectly with -s
The guest does not work without -s

here is the result without


Since you’re using -c to specify a non-default IP to connect to the spice server and therefore is only used if enabled spice (no -s) I would think that LG has problems connecting to the spice server.
I would check you spice server configuration, IP it listens on, port…
Afaik by default virt-manager sets it up so it only listens on localhost so your specified IP address wouldn’t work in that case.


Ok i’m a noob…
It’s okay now… :sweat_smile:
Thanks !

I still have to solve the problem of the mouse that hangs on invisible walls


That happens when the position of the cursor in guest is different from what the client knows its position is, so when it’s desynced the cursor leaves the clients window before you hit the border of the guest. Hitting scroll-lock will re-synchronize it and lock the cursor to the clients window.


glad to finally know of a use for the scroll lock key. Thanks :smiley:


609 Comments TLDR:
Just a couple of quick questions? does it work with all windows programs?
In all honesty, everything I do is cross-platform with the exception of auto desk Revit.


Yes, if it runs in the VM it’ll display with looking glass. LG works by copying the frame buffer from the GPU in the Windows VM to the host GPU, there are a couple of exceptions such as UAC events which will blank the window but if it’ll capture with either DXGI or NvFBC it will display on the host with looking glass.


I have been in touch with an engineer at AMD about the Vega 10 reset defect, they have assigned an engineer to the problem and are investigating. It was confirmed that it is a firmware problem with the card and can not be fixed in the kernel without help from the hardware team.


Dumb question, but Vega 10 is the RX Vega 56 and RX Vega 64, right?


Correct, but since the bug is common to the newer AMD cards, I would expect any fix they provide will cover them all.


That would require a updated VBIOS. It can’t be modified by the user so the ball is 100% in AMD’s court.


Just leaving this here cause JPEG now has a visually lossless low CPU resource codec:


For anybody who still has issues with Priorities: you can edit Priority and GPU Priority in Computer\HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Multimedia\SystemProfile\Tasks. Capture to 8, the rest lower. This does work under LTSB, but does NOT seem to work with a recent Professional. If anybody has an Idea why, please let me know.


I have a bit of a weird situation.
I read the read me first page and searched this thread but Im out of ideas.

Passthrough is functioning fine and looking glass works, but if I click with the mouse, or press a key on the keyboard, or refocus the looking glass window, the image in the window freezes. If host mode is enabled before the freeze and I switch the monitor to the VM the mouse/keyboard input is still being processed so I know the looking glass didn’t crash.

I use a qemu script without libvirt, for the script and program output see this pastebin link:

Any ideas are welcome because I’m at a loss.


Isn’t it the same as code LG-host?

Link to source code

Change of registry is without influence (W10Home).

It still think, total GPU_load is key.
UPS [email protected] is achieved, let say when GPU_load <75% (GTX 1080Ti ).


I tried Trial MS Windows 10 LTSB 2016 without success (change GPU priority in registry).


I’m getting crazy right now, I can’t figure out what I messed up that LG stopped working

$ looking-glass
[I]               main.c:680  | run                            | Looking Glass (a10-50-gfd8d4d3d38)
[I]               main.c:681  | run                            | Locking Method: Atomic
[I]               main.c:674  | try_renderer                   | Using Renderer: OpenGL
[I]               main.c:762  | run                            | Using: OpenGL
[I]               main.c:877  | run                            | Waiting for host to signal it's ready...
[I]              spice.c:347  | spice_on_common_read           | notify message: keyboard channel is insecure
[I]               main.c:881  | run                            | Host ready, starting session
[I]               main.c:172  | updatePositionInfo             | client 2560x1080, guest 2560x1080, target 2560x1080, scaleX: 1.00, scaleY 1.00
[I]             opengl.c:542  | configure                      | Vendor  : X.Org
[I]             opengl.c:543  | configure                      | Renderer: AMD CAICOS (DRM 2.50.0 / 4.17.0-rc1-ga27fc14219f2, LLVM 6.0.0)
[I]             opengl.c:544  | configure                      | Version : 3.0 Mesa 18.0.1
[I]             opengl.c:575  | configure                      | Using decoder: NULL
[W]              spice.c:410  | spice_on_main_channel_read     | main channel unhandled message type 105
[I]               main.c:514  | eventFilter                    | Server Mode: on
[W]              spice.c:410  | spice_on_main_channel_read     | main channel unhandled message type 105
[I]               main.c:514  | eventFilter                    | Server Mode: off

There seems to be probelm with spice. You get the actual image when starting LG but no more updates. But the cursor lockup inside the LG window still works (just have to switch to the monitor output of my GPU which is passthroughed

Any ideas at where I could look next?