Commit Graph

3350 Commits

Author SHA1 Message Date
Geoffrey McRae
9d66a68403 [common] options: fix build on windows (no strndup) 2023-05-02 12:32:59 +10:00
Geoffrey McRae
07bcc54732 [common] options: trim whitespace from option values
This closes #1071
2023-05-02 12:27:17 +10:00
Geoffrey McRae
dab5618a6d [host] linux: fix compilation 2023-04-26 16:31:02 +10:00
Geoffrey McRae
ad43969c1a [client] egl: add support to map HDR to SDR 2023-04-26 16:26:54 +10:00
Geoffrey McRae
99333a03c1 [host] nvfbc: fix failure to store last hdr state 2023-04-26 15:58:22 +10:00
Geoffrey McRae
45318aa653 [host] nvfbc: bump the format version when HDR status changes 2023-04-26 15:55:26 +10:00
Geoffrey McRae
f84165ac66 [host] app: report to the client if the frame is actually HDR 2023-04-26 15:48:01 +10:00
Geoffrey McRae
e4a8424fad [host] nvfbc: fix ARGB10 support
There is no performance penalty to using ARGB10 as it's still a 32-bit copy per
pixel and the nvidia driver internally handles any conversions required to make
this work for both SDR and HDR.
2023-04-19 19:52:30 +10:00
Geoffrey McRae
880d8042a4 [client] egl: fix support for deep color modes (30bpp) 2023-04-19 18:02:14 +10:00
Geoffrey McRae
a629d24dc3 [client] egl: fix fourcc for RGBA10 dmabuf 2023-04-19 17:30:40 +10:00
MakiseKurisu
7c1bb13d70 [all] add MakiseKurisu to AUTHORS 2023-04-16 19:50:35 +10:00
MakiseKurisu
9d5c543a53 [module] add logging for kvmfr_module_init 2023-04-16 19:50:35 +10:00
MakiseKurisu
063a859de1 [module] add logging for kvmfr_pci_probe 2023-04-16 19:50:35 +10:00
Geoffrey McRae
4f4cf2be7d [client] audio: provide option to prevent volume level sync 2023-04-16 19:10:35 +10:00
Geoffrey McRae
9759b5aa8f [idd] the cursor pos is only valid if it's visible 2023-04-14 21:40:21 +10:00
Geoffrey McRae
bbd0c7a99b [idd] implement cursor shape & position transmission 2023-04-14 20:40:00 +10:00
Geoffrey McRae
c11748a76f [idd] remove unused member variable 2023-04-14 14:10:19 +10:00
Geoffrey McRae
d6b26b0eb1 [idd] resend the last captured frame if a new client connects 2023-04-14 14:08:09 +10:00
Geoffrey McRae
fd0cc6aa10 [idd] consistency: change t to st 2023-04-14 14:08:03 +10:00
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