mirror of
https://github.com/gnif/LookingGlass.git
synced 2024-11-10 08:38:20 +00:00
134 lines
8.2 KiB
Markdown
134 lines
8.2 KiB
Markdown
|
#Looking Glass Client
|
||
|
|
||
|
This is the Looking Glass client application that is designed to work in tandem with the Looking Glass Host application
|
||
|
|
||
|
## Build Dependencies
|
||
|
|
||
|
* binutils-dev
|
||
|
* cmake
|
||
|
* fonts-freefont-ttf
|
||
|
* libsdl2-dev
|
||
|
* libsdl2-ttf-dev
|
||
|
* libspice-protocol-dev
|
||
|
* libfontconfig1-dev
|
||
|
* libx11-dev
|
||
|
* nettle-dev
|
||
|
|
||
|
### Debian (and maybe Ubuntu)
|
||
|
|
||
|
apt-get install binutils-dev cmake fonts-freefont-ttf libsdl2-dev libsdl2-ttf-dev libspice-protocol-dev libfontconfig1-dev libx11-dev nettle-dev
|
||
|
|
||
|
## Building
|
||
|
|
||
|
mkdir client/build
|
||
|
cd client/build
|
||
|
cmake ../
|
||
|
make
|
||
|
|
||
|
## Key Bindings
|
||
|
|
||
|
By default Looking Glass uses the `Scroll Lock` key as the escape key for commands as well as the input capture mode toggle, this can be changed using the `-m` switch if you desire a different key.
|
||
|
Below are a list of current key bindings:
|
||
|
|
||
|
| Command | Description |
|
||
|
|-|-|
|
||
|
| <kbd>ScrLk</kbd> | Toggle cursor screen capture |
|
||
|
| <kbd>ScrLk</kbd>+<kbd>F</kbd> | Full Screen toggle |
|
||
|
| <kbd>ScrLk</kbd>+<kbd>I</kbd> | Spice keyboard & mouse enable toggle |
|
||
|
| <kbd>ScrLk</kbd>+<kbd>N</kbd> | Toggle night vision mode (EGL renderer only!) |
|
||
|
|
||
|
## Setting options via command line arguments
|
||
|
|
||
|
The syntax is simple: `module:name=value`, for example:
|
||
|
|
||
|
./looking-glass-host win:fullScreen=yes egl:nvGain=1
|
||
|
|
||
|
## Setting options via configuration files
|
||
|
|
||
|
By default the application will look for and load the config files in the following locations
|
||
|
|
||
|
* /etc/looking-glass-client.ini
|
||
|
* ~/.looking-glass-client.ini
|
||
|
|
||
|
The format of this file is the commonly known INI format, for example:
|
||
|
|
||
|
[win]
|
||
|
fullScreen=yes
|
||
|
|
||
|
[egl]
|
||
|
nvGain=1
|
||
|
|
||
|
Command line arguments will override any options loaded from the config files.
|
||
|
|
||
|
## Supported options
|
||
|
|
||
|
```
|
||
|
|------------------------------------------------------------------------------------------------------------|
|
||
|
| Long | Short | Value | Description |
|
||
|
|------------------------------------------------------------------------------------------------------------|
|
||
|
| app:configFile | -C | NULL | A file to read additional configuration from |
|
||
|
| app:shmFile | -f | /dev/uio0 | The path to the shared memory file |
|
||
|
| app:shmSize | -L | 128 | Specify the size in MB of the shared memory file (0 = detect) |
|
||
|
| app:renderer | -g | auto | Specify the renderer to use |
|
||
|
| app:license | -l | no | Show the license for this application and then terminate |
|
||
|
| app:cursorPollInterval | | 1000 | How often to check for a cursor update in microseconds |
|
||
|
| app:framePollInterval | | 1000 | How often to check for a frame update in microseconds |
|
||
|
|------------------------------------------------------------------------------------------------------------|
|
||
|
|
||
|
|-------------------------------------------------------------------------------------------------------|
|
||
|
| Long | Short | Value | Description |
|
||
|
|-------------------------------------------------------------------------------------------------------|
|
||
|
| win:title | | Looking Glass (client) | The window title |
|
||
|
| win:position | | center | Initial window position at startup |
|
||
|
| win:size | | 1024x768 | Initial window size at startup |
|
||
|
| win:autoResize | -a | no | Auto resize the window to the guest |
|
||
|
| win:allowResize | -n | yes | Aallow the window to be manually resized |
|
||
|
| win:keepAspect | -r | yes | Maintain the correct aspect ratio |
|
||
|
| win:borderless | -d | no | Borderless mode |
|
||
|
| win:fullScreen | -F | no | Launch in fullscreen borderless mode |
|
||
|
| win:fpsLimit | -K | 120 | Frame rate limit (0 = disable - not recommended) |
|
||
|
| win:showFPS | -k | no | Enable the FPS & UPS display |
|
||
|
| win:ignoreQuit | -Q | no | Ignore requests to quit (ie: Alt+F4) |
|
||
|
| win:noScreensaver | -S | no | Prevent the screensaver from starting |
|
||
|
| win:alerts | -q | yes | Show on screen alert messages |
|
||
|
|-------------------------------------------------------------------------------------------------------|
|
||
|
|
||
|
|---------------------------------------------------------------------------------------------------------------------------------------|
|
||
|
| Long | Short | Value | Description |
|
||
|
|---------------------------------------------------------------------------------------------------------------------------------------|
|
||
|
| input:grabKeyboard | -G | yes | Grab the keyboard in capture mode |
|
||
|
| input:escapeKey | -m | 71 = ScrollLock | Specify the escape key, see https://wiki.libsdl.org/SDLScancodeLookup for valid values |
|
||
|
| input:hideCursor | -M | yes | Hide the local mouse cursor |
|
||
|
|---------------------------------------------------------------------------------------------------------------------------------------|
|
||
|
|
||
|
|----------------------------------------------------------------------------------------------------------------------|
|
||
|
| Long | Short | Value | Description |
|
||
|
|----------------------------------------------------------------------------------------------------------------------|
|
||
|
| spice:enable | -s | yes | Enable the built in SPICE client for input and/or clipboard support |
|
||
|
| spice:host | -c | 192.168.10.50 | The SPICE server host or UNIX socket |
|
||
|
| spice:port | -p | 5900 | The SPICE server port (0 = unix socket) |
|
||
|
| spice:input | | yes | Use SPICE to send keyboard and mouse input events to the guest |
|
||
|
| spice:clipboard | | yes | Use SPICE to syncronize the clipboard contents with the guest |
|
||
|
| spice:clipboardToVM | | yes | Allow the clipboard to be syncronized TO the VM |
|
||
|
| spice:clipboardToLocal | | yes | Allow the clipboard to be syncronized FROM the VM |
|
||
|
| spice:scaleCursor | -j | yes | Scale cursor input position to screen size when up/down scaled |
|
||
|
|----------------------------------------------------------------------------------------------------------------------|
|
||
|
|
||
|
|--------------------------------------------------------------------------|
|
||
|
| Long | Short | Value | Description |
|
||
|
|--------------------------------------------------------------------------|
|
||
|
| egl:vsync | | no | Enable vsync |
|
||
|
| egl:nvGainMax | | 1 | The maximum night vision gain |
|
||
|
| egl:nvGain | | 0 | The initial night vision gain at startup |
|
||
|
|--------------------------------------------------------------------------|
|
||
|
|
||
|
|------------------------------------------------------------------------------------|
|
||
|
| Long | Short | Value | Description |
|
||
|
|------------------------------------------------------------------------------------|
|
||
|
| opengl:mipmap | | yes | Enable mipmapping |
|
||
|
| opengl:vsync | | no | Enable vsync |
|
||
|
| opengl:preventBuffer | | yes | Prevent the driver from buffering frames |
|
||
|
| opengl:amdPinnedMem | | yes | Use GL_AMD_pinned_memory if it is available |
|
||
|
|------------------------------------------------------------------------------------|
|
||
|
```
|