Geoffrey McRae
b7e3ef6824
[client] nanosvg: disable warning for release builds
2025-09-14 01:12:16 +10:00
Geoffrey McRae
870eb8c670
[repos] lgmp: update to fix queue empty state bug
2025-09-14 00:14:37 +10:00
Geoffrey McRae
d02d46283c
[obs] dmabuf: fix repeated re-creation of dmabuf texture
2025-09-14 00:14:37 +10:00
Quantum
d5ee54e23e
[idd] install: use CreateWellKnownSid
2025-09-13 19:49:39 +10:00
Quantum
41d3e7a981
[idd] install: rework error handling for ensureKeyWithAce
...
Also avoid weird allocators like LocalAlloc in favour of malloc.
2025-09-13 19:33:53 +10:00
Quantum
e75c7cff46
[idd] install: call ensureKeyWithAce once and fail properly
2025-09-13 19:10:57 +10:00
Quantum
e81462176a
[idd] installer: update help text
...
Also rename /driver to /ivshmem since this is a driver package.
2025-09-13 14:53:22 +10:00
Geoffrey McRae
d00f12875c
[idd] installer: dont make the reg key owned by USER MODE DRIVERS
...
Windows 11 does not allow the key to be owned by USER MODE DRIVERS
granting the user control via the ACL should resolve this
2025-09-13 14:34:04 +10:00
Geoffrey McRae
b6ceb72855
[idd] driver: cleanup duplicated string constant
2025-09-13 14:08:33 +10:00
Geoffrey McRae
13ae3441cf
[idd] driver: move the ExtraMode registry key now permissions are correct
...
This resolves the problem of this setting being essentially lost
between driver upgrades.
2025-09-13 14:08:33 +10:00
Geoffrey McRae
b83d70a068
[idd] installer: create the IDD registry key for the driver
...
The driver runs under the account `NT AUTHORITY\USER MODE DRIVERS`
and as a result requires the key to be owned by this user so that
it is able to write to it.
2025-09-13 14:08:33 +10:00
Geoffrey McRae
2d28d27e90
Revert idd reg changes due to missing nsis support
2025-09-13 11:21:48 +10:00
Geoffrey McRae
e6b3b7fa76
[idd] nsis: add missed includes
2025-09-13 11:13:21 +10:00
Geoffrey McRae
9220c85e85
[idd] nsis: fix syntax error in if statements
2025-09-13 11:09:58 +10:00
Geoffrey McRae
2c370847e7
[idd] nsis: create a registry key the driver can write to
2025-09-13 11:06:01 +10:00
Quantum
e1170f8e01
[idd] installer: fix copy pasta from host installer
2025-09-13 10:39:55 +10:00
Quantum
41d2210624
[idd] installer: add option to disable old host application
2025-09-13 10:39:39 +10:00
Quantum
037a61a1c7
[host] ci/windows: use explicit windows-2025
...
This allows forks for whom windows-latest doesn't point to windows-2025
to build successfully.
2025-09-13 10:39:26 +10:00
Quantum
c6eda7e3a0
[idd] ci: build installer
2025-09-13 10:39:11 +10:00
Quantum
ff8650829c
[idd] install: create NSIS installer script
2025-09-13 00:32:00 +10:00
Geoffrey McRae
df6d22455e
[idd] install: copy executable to staging directory
2025-09-12 22:53:14 +10:00
Quantum
52849bc1d7
[idd] all: delete ARM and ARM64 targets
2025-09-12 22:36:10 +10:00
Quantum
155540a8f7
[idd] install: create new driver installer/uninstaller
2025-09-12 18:54:33 +10:00
Quantum
6e00dedc2b
[idd] helper: enable per-monitor DPI awareness
2025-09-11 18:45:43 +10:00
Quantum
3da40f046d
[ci] idd: add job
2025-09-11 17:05:38 +10:00
Quantum
e816847fb1
[idd] all: use UTF-8 source code
2025-09-11 17:00:35 +10:00
Geoffrey McRae
eec9aa3ae3
[client] egl: fix uninitialized use of variables
2025-09-08 11:00:06 +10:00
Geoffrey McRae
f07dd827ae
[client] egl: fix null pointer dereference crash
2025-09-08 10:57:08 +10:00
Geoffrey McRae
08064efb7f
[idd] driver: fix failure to track last pointer ID
build / client (Debug, map[cc:clang cxx:clang++], libdecor) (push) Has been cancelled
build / client (Debug, map[cc:clang cxx:clang++], xdg-shell) (push) Has been cancelled
build / client (Debug, map[cc:gcc cxx:g++], libdecor) (push) Has been cancelled
build / client (Debug, map[cc:gcc cxx:g++], xdg-shell) (push) Has been cancelled
build / client (Release, map[cc:clang cxx:clang++], libdecor) (push) Has been cancelled
build / client (Release, map[cc:clang cxx:clang++], xdg-shell) (push) Has been cancelled
build / client (Release, map[cc:gcc cxx:g++], libdecor) (push) Has been cancelled
build / client (Release, map[cc:gcc cxx:g++], xdg-shell) (push) Has been cancelled
build / module (push) Has been cancelled
build / host-linux (push) Has been cancelled
build / host-windows-cross (push) Has been cancelled
build / host-windows-native (push) Has been cancelled
build / obs (clang) (push) Has been cancelled
build / obs (gcc) (push) Has been cancelled
build / docs (push) Has been cancelled
2025-09-07 20:28:55 +00:00
Geoffrey McRae
01cae959d8
[client] core: workaround windows mouse information problem
...
Under windows there is no cursor enabled at all until it has been moved
for the fist time by the user. If our cursor information is invalid we
assume that this has occured and induce a wiggle to force windows to
create the cursor.
2025-09-07 20:24:17 +10:00
Geoffrey McRae
da154a5591
[github] ci: install NSIS (take 6)
build / client (Debug, map[cc:clang cxx:clang++], libdecor) (push) Has been cancelled
build / client (Debug, map[cc:clang cxx:clang++], xdg-shell) (push) Has been cancelled
build / client (Debug, map[cc:gcc cxx:g++], libdecor) (push) Has been cancelled
build / client (Debug, map[cc:gcc cxx:g++], xdg-shell) (push) Has been cancelled
build / client (Release, map[cc:clang cxx:clang++], libdecor) (push) Has been cancelled
build / client (Release, map[cc:clang cxx:clang++], xdg-shell) (push) Has been cancelled
build / client (Release, map[cc:gcc cxx:g++], libdecor) (push) Has been cancelled
build / client (Release, map[cc:gcc cxx:g++], xdg-shell) (push) Has been cancelled
build / module (push) Has been cancelled
build / host-linux (push) Has been cancelled
build / host-windows-cross (push) Has been cancelled
build / host-windows-native (push) Has been cancelled
build / obs (clang) (push) Has been cancelled
build / obs (gcc) (push) Has been cancelled
build / docs (push) Has been cancelled
2025-09-07 13:56:42 +10:00
Geoffrey McRae
a85b666238
[github] ci: install NSIS (take 6)
2025-09-07 13:49:13 +10:00
Geoffrey McRae
eff1e4d7ea
[github] ci: install NSIS (take 4)
2025-09-07 13:42:26 +10:00
Geoffrey McRae
4affd03c2d
[github] ci: install NSIS (take 3)
2025-09-07 13:37:36 +10:00
Geoffrey McRae
a1cc58c9f2
[github] ci: install NSIS (take 2)
2025-09-07 13:35:42 +10:00
Geoffrey McRae
9a6e03114e
[github] ci: install nsis for windows native builds
...
As of the Windows Server 2025 image github provides, nsis is no longer
included, as such we must install it ourself.
2025-09-07 13:25:53 +10:00
Geoffrey McRae
0feaa716c5
[idd] helper: implement enable/disable priv
...
Implements `EnablePriv` and `DisablePriv` so the helper can now
interact with the desktop. Fixes issues with setting cursor position
2025-09-07 13:07:15 +00:00
Geoffrey McRae
5f9649b4a2
[client] egl: set the dmabuf sampler state at creation
build / client (Debug, map[cc:clang cxx:clang++], libdecor) (push) Has been cancelled
build / client (Debug, map[cc:clang cxx:clang++], xdg-shell) (push) Has been cancelled
build / client (Debug, map[cc:gcc cxx:g++], libdecor) (push) Has been cancelled
build / client (Debug, map[cc:gcc cxx:g++], xdg-shell) (push) Has been cancelled
build / client (Release, map[cc:clang cxx:clang++], libdecor) (push) Has been cancelled
build / client (Release, map[cc:clang cxx:clang++], xdg-shell) (push) Has been cancelled
build / client (Release, map[cc:gcc cxx:g++], libdecor) (push) Has been cancelled
build / client (Release, map[cc:gcc cxx:g++], xdg-shell) (push) Has been cancelled
build / module (push) Has been cancelled
build / host-linux (push) Has been cancelled
build / host-windows-cross (push) Has been cancelled
build / host-windows-native (push) Has been cancelled
build / obs (clang) (push) Has been cancelled
build / obs (gcc) (push) Has been cancelled
build / docs (push) Has been cancelled
2025-09-02 13:12:03 +10:00
Geoffrey McRae
e40610ea77
[client] egl: sync on fence without force glFlush in non-dmabuf path
2025-09-02 13:09:39 +10:00
Geoffrey McRae
d5839c7efd
[client] egl: improve dmabuf import hot path performance
...
build / client (Debug, map[cc:clang cxx:clang++], libdecor) (push) Has been cancelled
build / client (Debug, map[cc:clang cxx:clang++], xdg-shell) (push) Has been cancelled
build / client (Debug, map[cc:gcc cxx:g++], libdecor) (push) Has been cancelled
build / client (Debug, map[cc:gcc cxx:g++], xdg-shell) (push) Has been cancelled
build / client (Release, map[cc:clang cxx:clang++], libdecor) (push) Has been cancelled
build / client (Release, map[cc:clang cxx:clang++], xdg-shell) (push) Has been cancelled
build / client (Release, map[cc:gcc cxx:g++], libdecor) (push) Has been cancelled
build / client (Release, map[cc:gcc cxx:g++], xdg-shell) (push) Has been cancelled
build / module (push) Has been cancelled
build / host-linux (push) Has been cancelled
build / host-windows-cross (push) Has been cancelled
build / host-windows-native (push) Has been cancelled
build / obs (clang) (push) Has been cancelled
build / obs (gcc) (push) Has been cancelled
build / docs (push) Has been cancelled
* Removes the vector in favour of a two element array
* Removes iteration on the vector
* Create and track a per-image fence
* bind the EGLImage to the texture at creation, avoiding re-binding
* sync on GL_SYNC_FLUSH_COMMANDS_BIT and remove glFlush
2025-08-31 13:48:08 +10:00
Geoffrey McRae
2a2250b9bd
[idd] driver: added files missed in the last commit
2025-08-30 18:08:53 +00:00
Geoffrey McRae
16a283717a
[idd] driver; support custom resolution and refresh rate list
...
Custom modes can now be configured via the registry under
HKEY_LOCAL_MACHINE\SOFTWARE\LookingGlass\IDD
Create the value "Modes" as a REG_MULTI_SZ with the value as
a list of modes, for example:
1024x768@60
1920x1080@60
1920x1080@120*
The '*' denotes the preferred mode to default to if one has not
been selected by the user.
2025-08-30 18:02:55 +00:00
Geoffrey McRae
5a4a2529af
[idd] driver: remove static EDID
...
We do not need this as we are configuring the avialable modes directly
2025-08-30 14:13:53 +00:00
Geoffrey McRae
403bf87d6d
[idd] driver: ignore failure due to normal operation
...
If the screen is blanked or removed through a user action
`IddCxMonitorQueryHardwareCursor` will return with a failure. This
is normal and we should not log this as an error.
2025-08-30 13:05:28 +00:00
Geoffrey McRae
e1a585ad6f
[idd] driver: relocate the HW cursor thread into CSwapChainProcessor
...
It is invalid to call `IddCxMonitorSetupHardwareCursor` before
`IddCxSwapChainSetDevice`. This fixes this by moving the thread into
CSwapChainProcessor and starting it after `IddCxSwapChainSetDevice`
has succeeded.
2025-08-30 11:56:30 +00:00
Geoffrey McRae
7c2e0ec4e9
[repo] lgmp: update to fix packing to align with MSVC properly
2025-08-30 05:14:07 +10:00
Geoffrey McRae
33600682cf
[repos] lgmp: fix msvc build (take 5)
2025-08-30 03:57:02 +10:00
Geoffrey McRae
60bda2befc
[repos] lgmp: fix msvc build (take 4)
2025-08-30 03:00:25 +10:00
Geoffrey McRae
04a55e1419
[repos] lgmp: fix MSVC build (take 3)
2025-08-30 02:35:55 +10:00
Geoffrey McRae
ca98b5b1fd
[repos] lgmp: fix client build under MSVC
2025-08-30 01:30:27 +10:00