* [host] rename min() to LG_MIN()
* [host] format string type fixes, %Ix doesn't exist in mingw
* [host] DXGI minor fixes
* [host] mingw lacks media foundation api headers and QISearch
The compiled xlib-shim.so can be used to intercept and prevent SDL
from calling XSync, which causes latency issues on some video
hardware.
To use specify the full path to the file in the LD_PRELOAD
environment variable, like so:
LD_PRELOAD=/full/path/xlib-shim.so ./looking-glass
This fixes a race condition which causes the mouse ringbuffer to
overflow. It also corrects out of order message index IDs due to
multiple threads sending messages asyncronously.
This partially resolves lag issues on hosts running the amdgpu driver.
If mouse caputure is enable the lag issue returns, this is because SDL
calls `XSync` in `X11_WarpMouse` and `X11_WarpMouseGlobal`, if these
calls are removed all input lag issues dissapear.
This issue has been reported to SDL as the calls to `XSync` are not
required per the xlib documentation.
the client now will look for a configuration file in the following
locations by default.
* /etc/looking-glass.conf
* ~/.looking-glass.conf
All configuration files are loaded and may override values specified by
any prior configuration files loaded.
Sample Config:
global:
{
fullScreen=false;
showFPS=true;
x=0;
y=0;
w=800;
h=600;
}
OpenGL:
{
mipmap="false";
}
Since we do not use IRQs anymore we can use the ivshmem-plain device
which doesn't need the ivshmem-server. The QEMU arguments now should be
as follows:
-device ivshmem-plain,memdev=ivshmem
-object memory-backend-file,id=ivshmem,share=on,mem-path=/dev/shm/looking-glass,size=32M
Obviously adjusting the memory size as required. It is suggested that
the shared memory file be created before the guest is started with the
appropriate permissions, for example:
touch /dev/shm/looking-glass
chown user:kvm /dev/shm/looking-glass
chmod 660 /dev/shm/looking-glass