From 969effedde74ca42feed26228820ff85983f9037 Mon Sep 17 00:00:00 2001 From: Geoffrey McRae Date: Thu, 13 Aug 2020 11:41:16 +1000 Subject: [PATCH] [host] update information about PsExec now LG can run as a service --- VERSION | 2 +- client/README.md | 17 ---------------- host/README.md | 20 +++++++++++++++++++ host/platform/Windows/capture/DXGI/src/dxgi.c | 11 +++++----- 4 files changed, 27 insertions(+), 23 deletions(-) diff --git a/VERSION b/VERSION index df769040..e06c7c88 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -B2-rc3-32-g4e1f947a09+1 \ No newline at end of file +B2-rc3-33-gdc4d1d49fa+1 \ No newline at end of file diff --git a/client/README.md b/client/README.md index 4ceabf8f..4a2aeec6 100644 --- a/client/README.md +++ b/client/README.md @@ -35,23 +35,6 @@ Should this all go well you should be left with the file `looking-glass-client` ## Usage Tips -### High priority capture using DXGI and Secure Desktop (UAC) capture support - -By default Windows gives priority to the foreground application for any GPU -work which causes issues with capture if the foreground application is consuming -100% of the available GPU resources. The looking glass host application is able -to increase the kernel GPU thread to realtime priority which fixes this, but in -order to do so it must run as the `SYSTEM` user account. To do this, please use -`PsExec` from SysInternals (Microsoft), for example: - - PsExec64.exe -s -i -d looking-glass-host.exe - -This will also enable the host application to capture the secure desktop which -includes things like the lock screen and UAC prompts. - -A future update (likely Beta 3) will include a service launcher for the Looking -Glass host which will remove the need for `PsExec`. - ### 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. diff --git a/host/README.md b/host/README.md index 052f429d..c5f41256 100644 --- a/host/README.md +++ b/host/README.md @@ -65,6 +65,26 @@ Or if running as a system service it will be located in: You can find out where the file is by right clicking on the tray icon and selecting "Log File Location" +### High priority capture using DXGI and Secure Desktop (UAC) capture support + +By default Windows gives priority to the foreground application for any GPU +work which causes issues with capture if the foreground application is consuming +100% of the available GPU resources. The looking glass host application is able +to increase the kernel GPU thread to realtime priority which fixes this, but in +order to do so it must run as the `SYSTEM` user account. To do this, Looking +Glass needs to run as a service. This can be accomplished by either using the +NSIS installer which will do this for you, or you can use the following command +to Install the service manually: + + looking-glass-host.exe InstallService + +To remove the service use the following command: + + looking-glass-host.exe UninstallService + +This will also enable the host application to capture the secure desktop which +includes things like the lock screen and UAC prompts. + ## Why does this version require Administrator privileges This is intentional for several reasons. diff --git a/host/platform/Windows/capture/DXGI/src/dxgi.c b/host/platform/Windows/capture/DXGI/src/dxgi.c index 927206e4..a461330d 100644 --- a/host/platform/Windows/capture/DXGI/src/dxgi.c +++ b/host/platform/Windows/capture/DXGI/src/dxgi.c @@ -202,8 +202,8 @@ static bool dxgi_init() { DEBUG_INFO("The above error(s) will prevent LG from being able to capture the secure desktop (UAC dialogs)"); DEBUG_INFO("This is not a failure, please do not report this as an issue."); - DEBUG_INFO("To fix this run LG using the PsExec SysInternals tool from Microsoft."); - DEBUG_INFO("https://docs.microsoft.com/en-us/sysinternals/downloads/psexec"); + DEBUG_INFO("To fix this, install and run the Looking Glass host as a service."); + DEBUG_INFO("looking-glass-host.exe InstallService"); } // this is required for DXGI 1.5 support to function @@ -408,9 +408,10 @@ static bool dxgi_init() status = fn(GetCurrentProcess(), D3DKMT_SCHEDULINGPRIORITYCLASS_REALTIME); if (FAILED(status)) { - DEBUG_INFO("Failed to set realtime GPU priority, this is not an error!"); - DEBUG_INFO("To fix this run LG using the PsExec SysInternals tool from Microsoft."); - DEBUG_INFO("https://docs.microsoft.com/en-us/sysinternals/downloads/psexec"); + DEBUG_WARN("Failed to set realtime GPU priority."); + DEBUG_INFO("This is not a failure, please do not report this as an issue."); + DEBUG_INFO("To fix this, install and run the Looking Glass host as a service."); + DEBUG_INFO("looking-glass-host.exe InstallService"); } } }