Geoffrey McRae
42ef9964de
[host] enlarge the cursor buffer size for large cursor shapes
2020-11-01 04:34:26 +11:00
Geoffrey McRae
0badf2a84c
[all] move defines for LGMP_QUEUE_*_LEN into KVMFR.h
2020-10-30 18:48:41 +11:00
Geoffrey McRae
9d0ae23f9f
[host] init ivshmem options before testing
2020-10-19 03:01:35 +11:00
Geoffrey McRae
9ff1859dc1
[host] windows: check the ivshmem device exists in the service
2020-10-19 02:49:15 +11:00
Geoffrey McRae
7a7e1d006b
[host] set the program name/description in the app.manifest
2020-10-19 01:56:03 +11:00
Geoffrey McRae
38b05cda50
[host] dxgi: fix incorrect bpp value
2020-10-12 20:08:51 +11:00
Geoffrey McRae
7a49f75d95
[host] dxgi: ensure formatVer is incremented on re-init
2020-10-12 19:39:57 +11:00
Geoffrey McRae
b2961c7939
[all] added new format version field to frame header
2020-10-12 18:52:37 +11:00
Geoffrey McRae
8a9f004ff6
[host/client] fix invalid initialization of RGBA16F
2020-10-11 19:39:47 +11:00
Geoffrey McRae
9c6bd888fd
[host/client] added experimental RGBA16 float support (EGL only)
2020-10-11 19:22:31 +11:00
Geoffrey McRae
a94d3734c2
[all] pass the project path to the version.cmake script
2020-10-09 02:51:28 +11:00
Geoffrey McRae
e1d7752165
[host] fix nsis build failure to do invalid path to new VERSION file
2020-10-09 02:36:48 +11:00
Geoffrey McRae
e6c88a4af3
[all] be smarter about getting the git version
2020-10-09 02:17:20 +11:00
Geoffrey McRae
e20c8a5cc7
[host] dxgi: don't try to get the hotspot of a null cursor
2020-10-06 23:24:01 +11:00
Geoffrey McRae
4f4d2dbf42
[host] dxgi: fix memory leak if an error occurs
2020-10-06 22:32:10 +11:00
Geoffrey McRae
7e362050f7
[all] update KVMFR to provide cursor hotspot information
...
This commit bumps the KVMFR protocol version as it adds additional
hotspot x & y fields to the KVMFRCursor struct. This corrects the issue
of invalid alignment of the local mouse when the shape has an offset
such as the 'I' beam.
2020-08-20 13:51:01 +10:00
camr0
72d70e8322
Update host/README.md: c-host -> host
2020-08-17 11:44:52 +10:00
Geoffrey McRae
1c7961daeb
[host] dxgi: rework locking and retry logic for lower latency
2020-08-15 20:49:49 +10:00
Geoffrey McRae
cdc3384883
[host] dxgi: improve frame signaling mechanics
2020-08-15 18:16:11 +10:00
Geoffrey McRae
969effedde
[host] update information about PsExec now LG can run as a service
2020-08-13 11:41:16 +10:00
Geoffrey McRae
dc4d1d49fa
[host] updated the readme with regards to log file location
2020-08-12 22:15:22 +10:00
Geoffrey McRae
4e1f947a09
[host] Windows: fix uninstaller product name
2020-08-12 22:03:10 +10:00
Geoffrey McRae
15d1a74291
[host] Windows: multiple fixes to the installer
2020-08-12 21:50:48 +10:00
TheCakeIsNaOH
7dba6b9b08
[Host] Convert installer to setup service instead of scheduled task
2020-08-12 21:32:15 +10:00
TheCakeIsNaOH
a5ad531004
[Host] Change default install dir "Looking-Glass" to "Looking Glass"
2020-08-12 21:32:15 +10:00
TheCakeIsNaOH
c119b3dcca
[Host] Correct installer and shortcut names
2020-08-12 21:32:15 +10:00
TheCakeIsNaOH
e2f2437ef4
[Host] Installer command line options and install location selection add
2020-08-12 21:32:15 +10:00
TheCakeIsNaOH
b2980fea63
[Host] Add instructions on how to build NSIS installer.
2020-08-12 21:32:15 +10:00
TheCakeIsNaOH
2b518690b8
[Host] NSIS script change names from C-Host to Host
2020-08-12 21:32:15 +10:00
TheCakeIsNaOH
92aca75792
[c-host] Add NSIS installer script
2020-08-12 21:32:15 +10:00
Geoffrey McRae
64fdb8b7bb
[host] Windows: service (un)install now starts/stops the service
...
In addition to starting and stopping the service, it now also stops the
LG process if the service started it.
2020-08-12 20:56:02 +10:00
Geoffrey McRae
380b5df9f9
[host] increase sleep timeout to 100ms
2020-08-11 19:11:17 +10:00
Geoffrey McRae
c7330167cf
[host] shutdown capture if there are no subscribers
...
Fixes #33
2020-08-11 18:30:47 +10:00
Geoffrey McRae
ca02e1aba9
[host] Windows: change "Open Log File" to "Log File Location"
2020-08-11 17:45:00 +10:00
Geoffrey McRae
ca4b1f5592
[host] Windows: don't open the log file, instead show it's location
...
Now that it's recommended to run LG as the `SYSTEM` user, launching an
application to read the log file is dangerous as it will be launched
with the same access rights (`SYSTEM`). Instead so as Microsoft
recommends and only present a message box with the information.
2020-08-11 17:42:00 +10:00
Geoffrey McRae
0cf1e27709
[host] Windows: run with HIGH priority if started by the service
2020-08-11 17:37:40 +10:00
Geoffrey McRae
045932ce77
[host] send the correct cursor shape on client connection
2020-08-11 17:16:54 +10:00
Geoffrey McRae
bf5481446b
[host] Windows: poll more freqently for a stopped LG process
2020-08-11 15:22:29 +10:00
Geoffrey McRae
4619ddef5d
[host] Windows: added missing linker library
2020-08-11 13:15:18 +10:00
Geoffrey McRae
ea74ee6e25
[host] windows: fix crosscompile take 2
2020-08-11 13:11:42 +10:00
Geoffrey McRae
ecd73aa670
[host] windows: fix linux crosscompile
2020-08-11 13:07:23 +10:00
Geoffrey McRae
10d9678b3d
[host] Windows: improved service restart detection
2020-08-11 12:47:50 +10:00
Geoffrey McRae
e08d3afdbc
[host] Windows: added missing service files
2020-08-11 12:27:04 +10:00
Geoffrey McRae
9a6b598438
[host] Windows: Implemented service to launch LG as the SYSTEM user
...
Experimental, use at your own peril!
This commit adds the ability for the LG host to install and launch with
Windows as a system service.
To install simply run `looking-glass-host.exe InstallService` or
conversely to uninstall `looking-glass-host.exe UninstallService`.
2020-08-11 12:22:22 +10:00
Geoffrey McRae
1d6d640b6e
[host] dxgi: default to using the acquire lock
2020-08-07 20:31:46 +10:00
Geoffrey McRae
977d7b277d
[host] dxgi: boost GPU thread priority if possible
2020-08-07 19:44:00 +10:00
Geoffrey McRae
9e3a42cb62
[host] don't stop the timer when restarting capture
2020-08-03 12:04:50 +10:00
Geoffrey McRae
67dec216d2
[host] search the applications local directory for the config
2020-05-30 12:31:26 +10:00
Geoffrey McRae
553e2830bb
[client/host] share the host version with the client for diagnostics
2020-05-29 14:14:31 +10:00
Geoffrey McRae
667ab981ba
[host] send the latest cusror information when a new client connects
2020-05-25 14:37:02 +10:00
Geoffrey McRae
bc7871f630
[c-host] renamed finall to just plain host
2020-05-25 13:42:43 +10:00
Geoffrey McRae
373d4ac932
[host] removed old host application from the project, see c-host
2019-05-28 14:47:09 +10:00
Paul Götzinger
b5975e0f05
[host] [c-host] added support to specify IVSHMEM device
...
[host] basic IVSHMEM device selecting implemented
Minor fixes for IVSHMEM device scanning
[c-host] added support to specify IVSHMEM device
2019-05-10 22:28:27 +10:00
Geoffrey McRae
28b12c85f4
[build] make "common" a static library (part 1/2)
2019-04-11 11:03:30 +10:00
Geoffrey McRae
526c09b7ff
[host] added missing file from build
2019-02-28 16:26:09 +11:00
Geoffrey McRae
5a37a53cb0
[host] move windows specific debug code to the host
2019-02-28 16:23:31 +11:00
Geoffrey McRae
08bf01b649
[all] update copyright dates
2019-02-22 22:16:14 +11:00
Geoffrey McRae
263b412fdf
[host] dxgi: fixed reversed logic for fallback
2019-02-07 15:13:07 +11:00
Geoffrey McRae
037ea5b1fc
[host] fix compiler warnings
2019-02-07 14:43:18 +11:00
Geoffrey McRae
18634fa805
[host] fallback to IDXGIOutput1 if IDXGIOutput5 is not available
2019-02-07 14:43:18 +11:00
Geoffrey McRae
1ef61f6cd3
[host] use a global hook to obtain cursor move pos
2019-01-11 23:58:50 +11:00
Geoffrey McRae
5518ccb795
[host] NvFBC: user specified privateData for debug
2019-01-09 16:10:46 +11:00
Geoffrey McRae
6e1180ce06
[host] nvfbc: initial updates to re-enable support
2019-01-03 17:08:05 +11:00
Geoffrey McRae
2a86339b1d
[host] [Patch 1/2] fix copy of padded resolutions
2019-01-02 10:29:46 +11:00
Geoffrey McRae
a1b1ed0060
[host] initiate the texture copy earlier
2018-12-07 20:54:30 +11:00
Geoffrey McRae
2cb18a3f8f
[host] removed incomplete h264
2018-12-07 20:54:30 +11:00
Geoffrey McRae
2a30bb718a
[host] updated to take advantage of DXGI v1.5
2018-12-04 21:26:46 +11:00
Geoffrey McRae
d235d076c4
[host] simplify capture logic and fix re-init bug
2018-11-02 21:38:02 +11:00
Geoffrey McRae
9f67f42f94
[host] fix hang on capture error
2018-10-19 21:16:47 +11:00
Geoffrey McRae
31a25c94c6
[host] fix failure to re-init
2018-10-19 21:16:42 +11:00
Geoffrey McRae
6a9f687eae
[host] increase cursor ring size to avoid a race
2018-10-19 20:20:01 +11:00
Geoffrey McRae
df7e9b1184
[host] remove unused critical sections
2018-10-19 20:15:42 +11:00
Geoffrey McRae
1350ba6c4b
[host] accumulate cursor updates rather then queue
2018-10-19 20:14:43 +11:00
Geoffrey McRae
f36fd5ac1a
[host] correct cursor visibility information
2018-10-09 18:28:08 +11:00
Geoffrey McRae
0e8678b182
[host] correct mouse position with hotspot offset
2018-10-09 18:10:59 +11:00
Geoffrey McRae
ce4f1be2a6
[host] fix cursor visibility bug
2018-10-09 17:52:13 +11:00
Geoffrey McRae
db907b1b67
[host] improve mouse sync with the client
2018-10-09 17:48:59 +11:00
Geoffrey McRae
fb37174e5f
[dxgi] cleaned up retry logic
2018-10-04 17:05:32 +10:00
Geoffrey McRae
8f0a6cd810
[host] general performance improvements
2018-10-04 00:07:34 +10:00
Geoffrey McRae
471303a179
[host] better sync, helps enormously with 4K!!!
2018-09-30 03:50:43 +10:00
Geoffrey McRae
73a2597c8a
[dxgi] fix crash caused by failure to release in some instances.
2018-09-27 12:49:52 +10:00
Geoffrey McRae
3cd152c9d5
[host] DXGI capture improvements
2018-09-26 21:20:17 +10:00
Geoffrey McRae
a989914fef
[host] remove the invalid usage of SafeRelease
...
SafeRelease was really useless, derefencing the smart pointers through
the use of & releases the value before SafeRelease get's to it. Instead
either allow the destructor to handle it's release, or explicityly
release it by assigning NULL
2018-07-28 10:27:50 +10:00
Geoffrey McRae
f692284f27
[host] don't uselessly try to scale 1:1 textures
2018-07-28 10:27:50 +10:00
Geoffrey McRae
d292d46fcb
[host] correct YUV output, do not copy padding bytes
2018-07-28 07:48:10 +10:00
Geoffrey McRae
b899a65726
[host] correct RGBtoYUV shader output
2018-07-28 07:47:49 +10:00
Geoffrey McRae
63b4dd633c
[host] correct invalid copy size for U & V planes
2018-07-28 07:25:00 +10:00
Geoffrey McRae
eba99f6968
[host] fix compiler warnings
2018-07-28 06:29:34 +10:00
Geoffrey McRae
354bef94ee
[host] fixed project Release shader build
2018-07-28 06:25:41 +10:00
Geoffrey McRae
e515cdc8dd
[host] added YUV420 output support
2018-07-28 06:19:59 +10:00
Geoffrey McRae
2a03d1c4a9
[host] removed unused shader view
2018-07-28 06:19:59 +10:00
Geoffrey McRae
3e3c409fc4
[host] ignore compiled shader headers
2018-07-28 06:19:59 +10:00
Geoffrey McRae
62e3dd250b
[host] remove compiled shader headers from repo
2018-07-28 06:19:59 +10:00
Geoffrey McRae
3799929f59
[host] remove the depth buffer, it's unused
2018-07-28 06:19:59 +10:00
Geoffrey McRae
2019766989
[host] added format converter class
2018-07-28 06:19:58 +10:00
Geoffrey McRae
58c3b37e49
[h264] cosmetics
2018-07-28 06:19:58 +10:00
Geoffrey McRae
c650c2e474
[dxgi/h264] fix failure to re-init h264 correctly
2018-07-28 06:19:58 +10:00
Geoffrey McRae
e4cdc58399
[host] move H264 out of DXGI into seperate class
2018-07-26 05:50:06 +10:00
Geoffrey McRae
af143bdd82
[dxgi] update DXGI to use timeout return value
2018-07-26 03:09:59 +10:00
Geoffrey McRae
343983d9af
[host] add timeout return value for repeated frame
...
This is to allow a repeat frame without incuring an additional
memory copy when the frame is already in shared memory.
2018-07-26 03:08:52 +10:00
Geoffrey McRae
5cabf155ab
[host] flag paused when waiting for sec desktop
2018-07-24 01:12:24 +10:00
Geoffrey McRae
43593d8aea
[host] replaced MultiMemcpy with plain memcpySSE
2018-07-23 15:21:43 +10:00
Geoffrey McRae
8a9d0b0bfb
[host] fix crash on screen blanking
2018-06-01 00:39:18 +10:00
Geoffrey McRae
d4c41d2d94
[host] improve capture performance
...
Contrary to the MS documentation, benchmarking shows a substantial
increase in performance when releasing the captured frame as soon
as possible. This change makes it possible to achieve 60FPS at 4K
resolutions.
2018-05-31 18:53:11 +10:00
Geoffrey McRae
d753af9d17
[host] remove debug tracing noise
2018-05-29 18:37:21 +10:00
Geoffrey McRae
b23c7808c0
[host] don't count re-init requests as failures
2018-05-29 18:37:21 +10:00
commander kotori
80581a4aa2
[host] ask for unicode with mingw-w64 makefile
...
Pass -DUNICODE as a CFLAG. The visual studio project asks for
a unicode (wide-string) build, but the unix makefile did not.
This fixes the build on msys2.
2018-05-28 12:10:52 +10:00
Geoffrey McRae
871aee2aae
[host] fixed missed cursor shape updates
2018-05-28 10:34:24 +10:00
Geoffrey McRae
3adcbfaa7d
[host] cosmetics
2018-05-24 18:08:59 +10:00
Geoffrey McRae
213c220d83
[host] don't assume the capture was successful
2018-05-24 17:05:49 +10:00
Geoffrey McRae
eef18dd655
[host] add critical section for m_cursorInfo
2018-05-24 16:50:50 +10:00
Geoffrey McRae
b29f1c62bb
[host] update to KVMFR v6 and decouple mouse
2018-05-24 11:24:24 +10:00
Geoffrey McRae
15a337fee8
[host] use the new memcpySSE implementation
2018-05-22 18:59:24 +10:00
arcnmx
35b4d75eea
[host] mingw-w64 compile fixes ( #44 )
...
* [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
2018-01-30 21:07:46 +11:00
Geoffrey McRae
a36d312844
[host] dxgi: fixed missed header update for timeout fix
2018-01-04 09:30:55 +11:00
Geoffrey McRae
6653340bac
[host] dxgi: follow suit and use h264 high profile
2018-01-04 09:30:27 +11:00
Geoffrey McRae
9000fdf6fc
[host] fix frame duplication problem with new MFT implementation
2017-12-31 00:32:39 +11:00
Geoffrey McRae
9b7f54fa35
[host] service restarts now restart capture interfaces
2017-12-30 13:35:45 +11:00
Geoffrey McRae
9ef9f60505
[host] dxgi: fixed MFT memory leak and re-init failure
2017-12-30 13:35:45 +11:00
Geoffrey McRae
b5f2092e9c
[host] return the compressed frame size in the pitch field
2017-12-29 21:01:02 +11:00
Geoffrey McRae
03622f61b0
[host] Added experimental H264 compression to DXGI (disabled by default)
...
This is not yet working, the client is yet to be updated to support
decompressing this stream.
2017-12-29 20:53:52 +11:00
Geoffrey McRae
3d9230ac93
[host] dxgi: fixed frame update regression
2017-12-29 07:15:59 +11:00
Geoffrey McRae
2d746cbfd4
[host] dxgi: performance improvements
2017-12-29 07:01:13 +11:00
Geoffrey McRae
2f2813037b
[host] improved latency of multimemcpy with hybrid locking and preempt
2017-12-29 07:00:27 +11:00
Geoffrey McRae
f6f4c8070a
[host] adjusted frame and cursor offset calculations
2017-12-29 06:11:32 +11:00
Geoffrey McRae
59fa025292
[host] add store fence to shm writes as we are using writecombine
2017-12-28 15:42:44 +11:00
Geoffrey McRae
e09d7f0ad0
[host] Update IVSHMEM class to support incoming driver version
2017-12-28 15:42:44 +11:00
Geoffrey McRae
16e804b068
[host] added tracing class to help profile slow code points
2017-12-23 18:15:15 +11:00
arcnmx
d9397610f3
[host] compile MultiMemcpy on mingw
2017-12-21 14:42:49 +11:00
arcnmx
f26d8fbd3e
[host] remove unused variables
2017-12-21 14:42:49 +11:00
Geoffrey McRae
43b096a5e7
[host] added multi-threaded memcopy for high resolutions
2017-12-21 13:49:36 +11:00
Geoffrey McRae
2fe800f502
[host] dxgi: corrected timeout alteration left behind from debugging
2017-12-20 04:35:07 +11:00
Geoffrey McRae
ec6c35010b
[host] updated host application for the new mt client format
...
See prior commit for details on this update
2017-12-20 00:58:42 +11:00
Geoffrey McRae
2a93e2ed55
[host] removed comments from prior testing
2017-12-19 13:40:59 +11:00
Geoffrey McRae
1f004472cc
[host] dxgi: re-mapping is required to sync memory changes properly
2017-12-18 21:34:44 +11:00
Geoffrey McRae
0d1d49b00e
[host] dxgi: wait for sync before trying to read the memory map
2017-12-18 17:35:35 +11:00
Geoffrey McRae
e298f9169c
[client] dxgi: persistant map the texture memory
2017-12-18 17:18:37 +11:00
Geoffrey McRae
9e75c7ab34
[host] boost the priority to realtime (run as admin required)
2017-12-18 17:18:11 +11:00
Geoffrey McRae
8dec59f3ff
[host] dxgi: don't release the frame until we need a new one
...
Per Microsoft spec we should not release the frame until we are about to
acquire another frame, this pervents additional GPU overhead on the
guest.
2017-12-18 12:03:22 +11:00
Geoffrey McRae
49acc6ec0b
[host] dxgi: fix termination due to wait timeout
2017-12-18 00:10:42 +11:00
Geoffrey McRae
4e6c1ea648
[host] fix build in VS++
2017-12-18 00:06:53 +11:00
arcnmx
e6c6c16d56
[host] compile NvFBC on mingw
2017-12-17 09:11:25 +11:00
Geoffrey McRae
24709ef186
[host] dxgi: set the pitch on new frames
2017-12-17 05:20:40 +11:00
Geoffrey McRae
db59e67ddb
[host] update capture classes to return the pitch
2017-12-17 05:05:56 +11:00
Geoffrey McRae
1815387bbb
[host] update to use the new header format
2017-12-17 05:03:47 +11:00
Geoffrey McRae
9d8f3a79b0
[host] detect switch user event and wait instead of terminating
...
Fixes #22
2017-12-17 04:50:04 +11:00
Geoffrey McRae
bf85358715
Revert "[host] simplify dll loading"
...
This reverts commit b89a8fee04
.
2017-12-17 04:04:25 +11:00
Geoffrey McRae
b77a34b8b6
[host] DXGI: fix Secure Desktop wait logic
...
Fixes #20
2017-12-17 02:27:48 +11:00
Geoffrey McRae
7c5b2b5c1c
[host] dxgi: re-send the last frame if capture times out
...
This change prevents the guest from stalling on startup if there are no
frames being captured
2017-12-16 10:24:37 +11:00
Geoffrey McRae
758b7af754
[host] use a local copy of the header and then update it all in one go
...
Writing to shared memory is much faster then reading as the shared
memory is not cached, this change ensures we are using a local copy
of the header performing the final update all in one go.
2017-12-16 10:06:55 +11:00