Looking Glass - Triage

Some changes are in the works to help with this for the next release.

Over the last few days I have started messing around with streaming to Twitch from Linux, via Looking Glass

if anyone is interested I have a unignie benchmark running over here using the latest experiemental build of LG

https://twitch.tv/gnif2

OBS is running on a Linux VM, capturing the Windows VM and encoding in hardware on the Vega

I am going to start streaming some of my game play with my mates, so if people are interested to see how LG performs day to day, feel free to subscribe

you might even get the odd bit of programming/dev

Edit: I am streaming at a higher bit-rate then Twitch recommends, please let me know if you get an error when trying to stream.

1 Like

Just compiled the latest client out of github being i saw you made some changes related to cursor control, and I may be to early with this but just wanted to share what i had. The old client (A12) still works fine, but with the change posted the newly compiled client is unable to connect to spice channels, even when specified.

cfikes@cfikes-neon:~/scripts/KVMFR$ ./looking-glass-client -F -j
[I]               main.c:777  | run                            | Looking Glass ()
[I]               main.c:778  | run                            | Locking Method: Atomic
[I]               main.c:771  | try_renderer                   | Using Renderer: EGL
[I]               main.c:844  | run                            | Using: EGL
[I]              spice.c:153  | spice_connect                  | Remote: 127.0.0.1:5900
[E]              spice.c:775  | spice_read                     | incomplete write
[E]              spice.c:267  | spice_on_common_read           | read failure
[E]              spice.c:374  | spice_on_main_channel_read     | read failure
[E]              spice.c:220  | spice_process                  | failed to perform read on main channel
[E]               main.c:966  | run                            | Failed to process spice messages
[I]               main.c:984  | run                            | Waiting for host to signal it's ready...
[I]                egl.c:372  | egl_render_startup             | Vendor  : X.Org
[I]                egl.c:373  | egl_render_startup             | Renderer: Radeon RX 580 Series (POLARIS10, DRM 3.23.0, 4.15.0-45-generic, LLVM 7.0.0)
[I]                egl.c:374  | egl_render_startup             | Version : OpenGL ES 3.2 Mesa 18.2.2

Like I said i may be a little to early being it was added to git 31 minutes ago, but just wanted to share. When disabling spice integration with -S it works just fine, albeit with no cursor control of course.

Yes, these are brand new commits I am working on now, please roll back to the prior commit and let me know how it goes.

Edit: This is fixed in:

1 Like

Knew I was a little early, but DANG your fast lol.

Edit: Just an update, cursor tracking is working better than ever, no sticky keyboard keys either. Great work!

1 Like

It’s MUCH smoother now and much less stuttery, amazing! However, I still have an issue(which might have been present before but shown in another form). The guest cursor doesn’t quite sync properly, it’s hard to explain, so I recorded it. The black cursor is the host.
Video

I did disable mouse acceleration and all that. One thing I noticed when fiddling around in the mouse settings was that mouse speed largely affects this. If I increase or decrease it gets much worse. Maybe it is related, maybe not. Any ideas?

That is because it’s mouse acceleration, disabled means 1:1, you need to use the registry hack as mentioned on the LG website to ensure it’s 1:1.

Aside from that, Is your guest running the same resolution as the looking-glass client window?

Hmm I did run the script… And yep the resolution is the same. I tried disabling scaling too but no luck!

Did you try adjusting the speed aswell?

I was able to somewhat replicate your issue if I moved the slider.

For me, looking glass only works on this speed setting
image

Edit: I used looking glass on commit 07e4c1c

Yeah it worked the best with that setting. I am thinking it might work if it was possible to change the speed more specifically… But it is supposed to work like this, why doesn’t it… Hmm. Maybe it has something to do with resolution. My monitor is 1440p

The only way it will not match is if you mess with that slider and/or your client is not exactly the same dimensions as your guest. The registry settings zero it all out to remove acceleration, which is what you need if you want a seamless cursor.

Please note that this is not something that is likely to ever be “fixed”, it is simply a limit of how we can interact with the guest, the best you can do is mitigate by following the instructions I have provided.

Oh, it probably didn’t work at first because I had the pointer enhancement turned off from before.
Edit: Yep. After enabling pointer enhancement in windows, and then executing the script again it works amazingly! Thank you.

1 Like
libvirt.libvirtError: internal error: qemu unexpectedly closed the monitor: 2019-02-22T12:46:10.229397Z qemu-system-x86_64: -object memory-backend-file,id=shmmem-shmem0,mem-path=/dev/shm/looking-glass,size=1048576,share=yes: backing store (null) size 0x1 does not match 'size' option 0x100000

What the is this error?

The file /dev/shm/looking-glass already exists and is only 1 byte in size, either remove the file or use truncate to set it’s size correctly.

truncate --size=1048576 /dev/shm/looking-glass

Please note that 1048576 equates to 1MB, which is far too small for Looking Glass, you need to allocate 32MB or more depending on your desired resolution.

New feature incoming!

3 Likes

4:30 AM - Who needs sleep anyway :laughing:

1 Like

Good news, as of a few minutes ago Looking Glass just got host to guest clipboard sync! I will make a demo video when I get a chance a bit later on.

3 Likes
3 Likes

Hey, jumping back in here to double check… about to make a tutorial video for setting up this with Windows 8.1 using Alpha 12 release code. You mentioned it’s using a newer version of DXGI. Are there fallbacks in case the new version isn’t present?

Also, looks like people are moving off Trello to Favro for milestone tracking.

1 Like

There isn’t in A12 but there is in the latest master