Geoffrey McRae
80b9bda59d
[idd] keep the textures mapped until overwrite for future re-use
2023-04-14 13:26:08 +10:00
Geoffrey McRae
0c176acf94
[idd] updated to a VS2022 project with Windows 10 support
2023-04-14 12:14:17 +10:00
Geoffrey McRae
0c3dce3ca6
[idd] implemented frame feed from the guest (very hacky)
...
This is NOT READY for general consumption, if you decide to make
use of this driver, DO NOT ASK FOR SUPPORT.
2023-04-11 16:55:58 +10:00
Geoffrey McRae
3c85957b99
[idd] implemented core shared memory functionallity and LGMP setup
2023-04-11 16:53:57 +10:00
Geoffrey McRae
77ddcfe489
[idd] implement CIVSHMEM and open it
2023-04-11 16:53:57 +10:00
Geoffrey McRae
d228ef135e
[idd] target a specific version of windows
2023-04-11 16:53:57 +10:00
Geoffrey McRae
0afcf2c2ce
[idd] add LGMP to the project
2023-04-11 16:53:57 +10:00
Geoffrey McRae
75da66a090
[idd] initial indirect driver with Looking Glass monitor
2023-04-11 16:53:57 +10:00
Geoffrey McRae
11676d3d56
[common] windows: fix invalid free of stack allocated memory
2023-04-11 16:51:25 +10:00
Geoffrey McRae
b13682a9ef
[lgmp] update library to fix issues with MSVC builds
2023-04-11 16:51:02 +10:00
Geoffrey McRae
642634293d
[lgmp] update to fix compilation under MSVC
2023-04-10 10:24:53 +10:00
Geoffrey McRae
01f9c2bfb5
[lgmp] update to fix alignment with MSVC compiled code
2023-04-10 10:21:39 +10:00
Geoffrey McRae
9385b2de7a
[submodule] update LGMP to the latest version for incoming Idd support
2023-04-10 03:07:07 +10:00
Jonathan Rubenstein
d2f7667fae
[github] CODEOWERS: Fix typo stopping JJRcop owning /doc/
...
Made an embarassing typo
2023-04-09 09:43:19 +10:00
Jonathan Rubenstein
cfef966603
[github] build: Use debian package for sphinxcontrib-spelling
2023-04-05 08:13:54 +10:00
Jonathan Rubenstein
4f09d5b771
[doc] troubleshooting: Rewrite missing desktop
2023-04-04 23:31:41 +10:00
Geoffrey McRae
b7b302334c
[client] main: remove debug true
from if statement
2023-04-02 20:14:16 +10:00
Geoffrey McRae
28e74a73a4
[client] main: detect and warn on sub-optimal guest CPU configuration
2023-04-02 20:13:14 +10:00
Geoffrey McRae
996e1b2f7a
[client] overlay: fix race on startup that caused a segfault
...
Fixes #1065
2023-03-30 14:59:37 +11:00
Geoffrey McRae
0ee5751b3a
[client] egl: fix buffer overflow
2023-03-30 14:16:51 +11:00
Geoffrey McRae
e067db7bb4
[doc] fix typos and correct 1440p resolution.
...
Closes #1064
Closes #1061
2023-03-19 12:57:16 +11:00
Geoffrey McRae
b4b4a37b2b
[client] egl: switch to using GL_TEXTURE_EXTERNAL_OES for DMABUF
...
According to Erik @ NVidia the open source NVidia driver will not
create a EGLImage from a DMABUF if the target is not
GL_TEXTURE_EXTERNAL_OES. This change set converts the dmabuf texture
from GL_TEXTURE_2D to GL_TEXTURE_EXTERNAL_OES and at runtime performs a
global search & replace on fragment shaders as needed to remain
compatible, replacing `sampler2D` with `samplerExternalOES`.
Ref: https://github.com/NVIDIA/open-gpu-kernel-modules/discussions/243#discussioncomment-3283415
2023-03-09 09:20:01 +11:00
Geoffrey McRae
bbc9204bfe
[client] egl: ensure the preprocessed files have a null terminator
2023-03-09 09:15:39 +11:00
Geoffrey McRae
894b8b0c22
[client] x11: generate synthetic EnterNotify event on cursor leave
...
If the cursor was grabbed the window the cursor moves over when it is
ungrabbed will recieve an EnterNotify event with the mode of
NotifyUngrab, unfortunatly some window manages such as i3 will ignore
this message and as such focus follows mouse will not function
correctly. This patch injects a normal EnterNotify to work around this
issue.
2023-03-05 16:42:47 +11:00
Geoffrey McRae
91b0cba145
[client] egl: switch from mediump
to highp
...
This fixes a rounding issue on certain hardware (NVidia) which actually
implement mediump as half precision (16-bit) float. It's safe to assume
`highp` is available as if the GPU does not support it, then the shader
compiler will try to find a lower precision that is supported by the GPU
2023-03-05 14:10:21 +11:00
Geoffrey McRae
2f48798db9
[client] wayland: check for failure of wl_display_connect
2023-02-28 23:38:44 +11:00
Geoffrey McRae
254b370bbf
[client] audio/pipewire: fix compilation under clang
2023-01-24 13:46:22 +11:00
Geoffrey McRae
86efc47505
[client] audio/pipewire: PW_KEY_TARGET_OBJECT only exists as of 0.3.44
2023-01-24 13:43:17 +11:00
Geoffrey McRae
b559d6b9bc
[client] audio/pipewire: add options to set the default out/rec devices
2023-01-24 13:35:25 +11:00
Geoffrey McRae
48cd0c3789
[client] audio: add missing earlyInit call for audio devs
2023-01-24 13:35:18 +11:00
Geoffrey McRae
6f8e6f9a19
[client] x11: catch and print details of X11 errors with a backtrace
2023-01-05 17:33:01 +11:00
Geoffrey McRae
188f25c6bf
[host] nvfbc: increase retry timeout to 1 second
2022-12-09 08:00:03 +11:00
Geoffrey McRae
8619f787b9
[host] nvfbc: retry on failure to init
...
@quantum has observed nvfbc under rare circumstances fail to initialize,
this adds a retry to the init with a short delay to hopefully recover
from this situation.
2022-12-08 21:24:11 +11:00
Quantum
60ac03ebaf
[client] wayland: implement window size setting for xdg-shell
...
This should allow win:autoResize to work on Wayland when the compositor
supports such an operation.
2022-12-08 21:08:33 +11:00
Quantum
e1ebde3cd2
[host] windows: log to stderr that logs will continue in file
...
This prevents users from posting the stderr as if it's the only output.
2022-12-08 21:08:07 +11:00
Quantum
f519904c38
[host] app: clarify that config file not found is not fatal
...
This prevents users from thinking this is the problem they are facing.
2022-12-08 21:08:07 +11:00
Geoffrey McRae
fa6f1abaac
[obs] fix compatibility with updated LGMP build
2022-11-08 00:00:39 +11:00
Geoffrey McRae
875242fe15
[host] app: improve throttleFPS logic
2022-11-07 22:56:20 +11:00
Geoffrey McRae
20b5957999
[client] update LGMP to fix buffer overflow bug
2022-11-07 21:57:10 +11:00
Geoffrey McRae
f0cb9d1167
[client] main: fix spice display fallback when waiting for LGMP upgrade
2022-11-07 19:16:52 +11:00
Geoffrey McRae
6cd88a70ad
[host/client] lgmp: update to fix possible race issue
2022-11-07 14:44:26 +11:00
Geoffrey McRae
697bbcd6d4
[host] app: correct timer restart on lgmp corruption recovery
2022-11-07 13:36:57 +11:00
Geoffrey McRae
ecca5720a9
[host] app: ensure that rand
will be random
2022-11-07 13:26:52 +11:00
Geoffrey McRae
50e856f823
[host] lgmp: update LGMP again to fix bug in last update
2022-11-07 13:20:24 +11:00
Geoffrey McRae
6359bb9acd
[host] lgmp: update to fix failure to randomize the session ID
2022-11-07 13:12:51 +11:00
Geoffrey McRae
938011fce6
[module] swap offset & size in printk output for consistency
2022-11-07 13:12:51 +11:00
Geoffrey McRae
d09a10299e
[module] cosmetics
2022-11-07 13:12:51 +11:00
Geoffrey McRae
8e706636d3
[host] app: don't stop the lgmpTimer on session recovery
2022-11-07 12:20:25 +11:00
Ali Abdel-Qader
352cd2fafe
[client] remove non-prototype function declarations
...
With -Wstrict-prototypes on non-protyped functions are deprecated and
functions must include a void parameter if they do not take parameters.
2022-11-01 08:03:15 +11:00
Chris Spencer
081a0a419d
[client] audio: use actual device period if larger than expected maximum
...
This is rare and I'm not sure what causes it, but PipeWire sometimes uses a
larger period size than requested for no obvious reason (e.g., we could
request a period size of 512, but PipeWire uses 2048 anyway). This causes
us to stay in a permanent state of underrunning because the target latency
is too low.
With this change, we use the actual device period in the target latency
calculation if it is larger than the expected maximum. We may still get
some glitches at the beginning of playback (because the startup latency is
based upon the expected maximum period size), but it will recover after a
few seconds as it adjusts to the new target latency.
2022-11-01 08:02:37 +11:00