Return to

Looking Glass - Triage



Ok, now it’s making sense. Thanks for the great work gnif.


Soooo… With the embargo lift today, it’s looking like the 2990WX is not going to be good for Looking Glass. Heavy memory copy performance penalties in it’s UMA only state.

If you want Threadripper 2, wait till August 31st for the 2950x.


Or get a low-end Epyc instead.
Side-note: do they work in X399 boards since it’s the same socket?
/edit seems nope.

From what I’ve seen that penalty is mainly if you’re doing it on one of the 2 dies that are not directly attached to the RAM, it should be fine if you pin the process to one of the two dies with the active IMC.


I’ve just finished up setting up my Ubuntu 18.04 LTS machine with a Windows 10 Guest VM that uses Looking Glass, and I’ve written down in extreme detail all of the problems I ran into while attempting to do so, here:

Hopefully some of you will find this useful!


I think, 2990WX is NUMA only.


Firstly I apologize if this is a repeat question. For Looking Glass, what is a good baseline AMD graphics card to use on the linux host? I’ve already got a GTX 1080 that I plan on using for my VMs. I plan on using the latest version of Fedora running on a TR 1950X. Also I will be using a 144hz 2560x1080 display.


Anything that will support OpenGL and the resolution you intend to run. The host is only displaying “pictures” and doesn’t render the 3d scene.

This is beyond LG’s capability at this time, it will work but your FPS will suffer.

For future reference, this is listed on the LG website’s home page:


is there a source repo/gist/whatever for that?


No, this is just a patch I have had laying around for a while. It can be applied with git am 0001-PA-Fixes.patch


ah, thanks. you mind if I put it up as a gist somewhere so people can see it before downloading?


Go for it, it’s not my work so I didn’t feel right taking any attribution for it. I just updated it to patch QEMU 3 clean.


thanks, good to know. I’ll be sure to credit spheenik.


Interesting. Was the audio patch getting upstreamed just wishful thinking, or are the qemu people considering it?


I really don’t know, I have not been tracking it. I know there were some audio changes accepted that this patch set used to contain, but without the remainder of this patch PA audio is still broken.


hmm. I’ve been using passed through audio hardware from the start so it’s not something I’m personally tracking very closely, but I guess the only thing for it is time.


I have been using the spice audio instead of straight pa and it has been workinh fine. I did have a few freezes on the VM which I think are related to audio (gnif’s description of the problem sounds perfect) but, overall, everything is working really well.


I followed the guide listed on the site, I’m using A11 version of the code. The host is running a GTX 1080 and the guest is running a RX560. The screen displays correctly, No distortions or artifacts, but I have no mouse control. It doesn’t track my mouse at all. Any steps I can take to troubleshoot this? I’m not seeing any error or warning messages on either side of the lookingglass application.


Are you using SPICE or running without? Please share the output of the client and your VM configuration. Nobody can help you if you don’t give us the information, it’s like saying “my car wont start, whats wrong?”


Sorry, here is additional information. Yes, I’m using virt manager, which has a spice console, once Looking Glass starts it takes over the console. The mouse works fine on the Virt Manager spice console, but doesn’t work at all in Looking Glass console. I see the warnings about it may be off, but it’s non-existent. Here is the host logs:

[I]               main.c:692  | run                            | Looking Glass ()
[I]               main.c:693  | run                            | Locking Method: Atomic
[I]               main.c:686  | try_renderer                   | Using Renderer: OpenGL
[I]               main.c:775  | run                            | Using: OpenGL
[I]              spice.c:159  | spice_connect                  | Remote:
[I]               main.c:901  | run                            | Waiting for host to signal it's ready...
[I]              spice.c:367  | spice_on_common_read           | notify message: keyboard channel is insecure
[I]             opengl.c:552  | pre_configure                  | Vendor  : NVIDIA Corporation
[I]             opengl.c:553  | pre_configure                  | Renderer: GeForce GTX 1080/PCIe/SSE2
[I]             opengl.c:554  | pre_configure                  | Version : 4.6.0 NVIDIA 390.48
[I]               main.c:921  | run                            | Host ready, starting session
[I]               main.c:177  | updatePositionInfo             | client 1024x768, guest 3840x2160, target 1024x576, scaleX: 3.75, scaleY 3.75
[W]               main.c:180  | updatePositionInfo             | Window size doesn't match guest resolution, cursor alignment may not be reliable
[I]             opengl.c:602  | configure                      | Using decoder: NULL
[I]               main.c:177  | updatePositionInfo             | client 1025x768, guest 3840x2160, target 1025x576, scaleX: 3.75, scaleY 3.75
[W]               main.c:180  | updatePositionInfo             | Window size doesn't match guest resolution, cursor alignment may not be reliable

The guest logs:
[I] CaptureFactory.h:83 | CaptureFactory::DetectDevice | Trying DXGI
[i] CaptureFactory.h:83 | CaptureFactory::DetectDevice | Using DXGI
[I] Service.cpp: 132 | Service::InitPointers | Total Available: 128MB
[I] Service.cpp: 133 | Service::InitPointers | Max Cursor Size: 1MB
[i] Service.cpp: 134 | Service::InitPointers | Max Frame Size: 63MB
[i] Service.cpp: 135 | Service::InitPointers | Cursor : 0000025094440080 (0x00000080)
[i] Service.cpp: 136 | Service::InitPointers | Frame 1: 0000025094540080 (0x0010000080)
[I] Service.cpp: 137 | Service::InitPointers | Frame 2: 00000250984C0000 (0x04080000)
[I] Service.cpp: 191 | Service::Process | Restart Requested


Please share your VM configuration.