Return to

Looking Glass - Guides, Help and Support



I think the guide is off for configuring the libvirt client

All of the OS’s are showing
"" I remember with alpha9 it was showing separate guides for each OS


From what I have seen in playing around with it, yes because it also needs to use some of the GPU power, if you add the GPU column to task manager you’ll see the load from looking-glass-host. I can play PUBG natively on ultra at 3440x1440 and get around 90 FPS but with Looking Glass I need to drop it down to medium or high to have a playable framerate but I still see the game framerate is higher. GPU usage would be pegged at pretty much 100% on ultra even natively, it’s still pretty much 100% when I drop the quality down a bit but still pretty high and you can see the stutters, though it is playable. Of course at a lower resolution there is less usage so it would be smoother even with a high usage.

I’m not aware of any way to prioritize GPU usage like you can with CPU usage.

Here’s on high:

Screenshot from 2018-01-01 13-05-42

Here’s on ultra low just to show the difference:

Screenshot from 2018-01-01 13-07-00


also when using alpha9 I got everything to launch fine but now using alpha10 when I launch the client I get a blank screen but the mouse works fine.
I verified that the process is working and I am using the same command as I did for alpha9
./LookingGlass/client/bin/looking-glass-client -p 5901

any idea what is going on?


You might not be able to prioritize a process, but there’s things like frame rate target controll for AMD and whatever Nvidia got.
By setting the GPU to only make a certain number of frames (and I’m not talking V-sync here) you might save up some GPU resources for other things without dropping quality or resolution.

And if you set it low enough there might even be thermal headroom to boost up when those really tough scenes show up.


I’ll look into it.


I’ve compiled LookingGlass successfully on Opensuse 42.3 . But I have a bit of trouble setting VM for it. I’ve edited the file as described in the docs . VM and passthrough works. But as I don’t have spice device LookingGlass has nothing to connect to. So what should I add to make it work?

edit: I’ve tried adding Spice Display , but it brings “Cirrus” virtual gpu for the ride along with it, so I guess that’s not it.


Either assign dedicated peripherals to the VM and disable spice in the client or use spice and the client for which you need “Display Spice”. Just let it add the Cirrus video adapter because it insists to have a graphics adapter for a display, you can just disable it in Windows then.


thx :slight_smile: . Did that. Now I can start LookingGlass, but the app window is empty:

and here’s what I see in cli:

[I]               main.c:684  | run                            | Locking Method: Atomic
[I]               main.c:677  | try_renderer                   | Using Renderer: OpenGL
[I]               main.c:765  | run                            | Using: OpenGL
[I]               main.c:883  | run                            | Waiting for host to signal it's ready...
[I]              spice.c:341  | spice_on_common_read           | notify message: keyboard channel is insecure
[I]               main.c:887  | run                            | Host ready, starting session


Did you run the host application too?
What does your domain XML look like?
Are both host and guest application up-to-date and match version?


oh, silly me - I haven’t launched the windows app. But I can’t start it - during launch I get “missing MSCP140.dll” error. Will try to nail it down.
edit: ok, installing "visual c++ Redistributable " helped. YAY!
OK, so now I need to dig through manuals as I vaguely remember there was a key to grab mouse for the LookingGlass window. Atm shared cursor is funky - for a lower half of the screen it works, but on the upper one it is messed up (it quickly goes up, over LG window, to my top Xfce panel).


Press Scroll Lock.


Thanks - that did the trick :slight_smile: !
I’ll need to try how it works in some sort of game, but in OpenGL it doesn’t work. Tried Rhino3D and the app for the 3d printer in my workshop. While the menus work as they should, the 3d viewport itself is stuck - it does not refresh at all.


Try opengl-basic renderer (see earlier posts) and different options for the renderer, also if there’s anything abnormal in host (run with -f option) or client output.

I also encourage you to take this VFIO Hardware Compatibility Survey as soon as you got your setup working.
You can list that you’re using Looking Glass near the end of the survey.


Has anything changed in the way you switch renderers? Typing ./looking-glass-client -o opengl-basic does nothing on my side. Is there a way to list available renderers?

edit: read most of the posts above and it looks in current builds opengl-basic is not available.
How should I troubleshoot the issue properly?
In the VM I’m using GT1030.
I’ll record a video showing the problem tomorrow.

  -g NAME   Force the use of a specific renderer
  -o OPTION Specify a renderer option (ie: opengl:vsync=0)
            Alternatively specify "list" to list all renderers and their options

You can always try a previous a version (download a previous git commit and compile).
As I said earlier, the logs and domain xml (or qemu command) might be useful.
Is that an older windows installation with configuration and installed stuff? I would try a fresh install.


Based on your initial screenshot of your VM config since you didn’t have spice you should disable it with the -s flag. For your reference, this is the command I use. Audio is piped to PulseAudio for my setup, and I pass through an entire USB controller so I flip between guest and host with my KVM switch.

looking-glass-client -s -j -k -a -d -x 0 -y 0

  -s        Disable spice client
  -j        Disable cursor position scaling
  -k        Enable FPS display
  -a        Auto resize the window to the guest
  -d        Borderless mode
  -x XPOS   Initial window X position [current: center]
  -y YPOS   Initial window Y position [current: center]


I’ve had some limited success with frame limiting using Nvidia Profile Inspector or RTSS to limit the frames to say 50 or 60 FPS. In more demanding games does help but it depends on the game, PUBG kept crashing after maybe 20 seconds for me when I frame limit it so I need to play around a little with it. Having said that though it did help in some cases I just need to test some more games, given I’m running such a high resolution and high refresh rate I think my bottleneck right now might actually be my R9 280X that I’m using on the host system, it certainly performs much better than the Intel HD 630 was capable of, intel_gpu_top showed me that it was completely maxed out so it just couldn’t keep up with that resolution. Need to look for some AMD monitoring tools…

EDIT: I pass through a 1080 Ti which is watercooled so it’s OC’d to the max, still lots of thermal headroom, die limited!

EDIT2: I checked with radeontop, my R9 280X is not maxed out so guest GPU is pushing as much as it can already…


checked the logs - no errors reported there :frowning: .
But found the culprit - I realized that I haven’t attached cable to GPU assigned to VM. Which is a bit funny that desktop and UI does not have problems with such setup, but opengl / dx apps do.
Works like a charm - totally love it. Damn it really helps me as a workaround for lack of cad apps on Linux. Kudos to all involved!


Ah, yes, I noticed this as well with Minecraft. Gotta have a cable plugged in or an EDID plug. I have it on another input so I can flip to it if I need to and it’s happy to see it even if I’m not on that input.


That depends on the monitor though. Some don’t send anything if that input isn’t specified.

But wendell did mention this in the video, including the dummy plug.