Specify renderer for client

Problem:
Looking Glass appears to be running at ~15 fps. When starting Looking Glass it mentions it’s using:
Renderer: Mesa DRI Intel® Haswell Desktop
Version : OpenGL ES 3.1 Mesa 19.1.8

Seeing as how I have an R7 370 plugged into Linux can I specify for it to use that and not the iGPU?

Context:
I have an Intel i7-4690k and an R7 370 on my Linux host. I have passed through my RX 580 to Windows, however for whatever reason my ASUS Z97 Deluxe BIOS doesn’t allow me to select my R7 370 as the Primary Display in the 16x (4x electrically) port that’s off the chipset to boot from, as both “PEG” and “PCI-E” boot to my 580, so I boot to my iGPU, which isn’t an issue as I have a screen plugged into all GPUs: I have a screen plugged into both my iGPU and all 4 ports used on my 370 (yes, I’m running 5 screens).

Is this 15FPS in games or just on the desktop?

Just the desktop. I haven’t tried games yet.

sorry, can you also confirm if it’s FPS or UPS?

UPS? I’m just going by what it “feels” / looks like, not any frame rate counter.

Please turn on the frame rate counter in the client and report back :).

looking-glass-client -k

UPS. It seems to be running pretty consistently at 24 UPS and 120 FPS.

so the client is rendering at 120FPS, and it’s getting updates from the host at 24UPS, if this is just on the desktop it’s because updates are only sent when there are changes. If this is present even when in games then there is an issue.

Note: the cursor is decoupled and does not affect the UPS

I’m running the latest release (B1), and the UPS does drop as low as 4 for a few seconds at times. There are also times when it is ~30 and ~40 UPS. Once I launched 3D Mark I saw the UPS drop to 0 and yeah, that makes sense re: the cursor.

Running 3D Mark Night Raid the UPS claims it’s running at ~60 UPS, FPS according to 3D mark is 115-160, FPS according to -k is ~120.

However, both with -k on and off, either there’s massive stuttering or it’s not running at 60. (I tried with it off because the console mentioned the microstutters with -k on)

The game/bench might run at 115-160, but it doesn’t mean that it is drawing to your monitor at that speed. 60UPS is to be expected in some instances as you have v-sync enabled. Usually this is caused by desktop composition (ie, WDM). Make sure your application is running in Full Screen mode, not Full Screen Windowed.

You are also to expect UPS to be as low as 1UPS, it fluctuates depending on how often windows is updating the display.

Also please note that benchmark software uses 100% of the GPU’s resources leaving little to no room for capture, performance of LG or any capture software during benchmarks is always going to be terrible, especially when windows gives capture a low priority to begin with.

The same thing happens with the Heaven benchmark, which is definitely running in fullscreen. Both monitors are definitely running at 60 fps. I’m just running at low to guarantee >100 fps rendering.

When my phone is charged back up and decides it’s not going to thermal throttle whilst recording video recording at 60fps to demonstrate this, I’ll post a link showing both the Looking Glass client and the native display-out.

The fact that you see 60UPS which is the monitors refresh confirms without a doubt that vsync is still in play here, if it was a performance issue you would be seeing all sorts of numbers. Make sure that vsync is also off in the heaven benchmark.

Also please also note that even though your running low, the benchmark still gets priority to render 100+ FPS, leaving no room for capture. The best setup for gaming is to lock the game to the desired refresh, usually using vsync is best.

While vsync introduces latency for a physical monitor output, it does not for Looking Glass, as LG captures the frame without waiting for vsync. We then default the client to not use vsync to avoid vsync delay in the client.

TL;DR; game/app vsync on, lg client vsync off = best performance and lowest latency