Skip to content

QubesOS/qubes-gui-agent-windows

Qubes GUI agent

  • TODO: build test tools
  • TODO: (watchdog) detect if the agent fails/crashes too often and disable it/return to fullscreen mode
  • TODO: consider rewriting window tracking logic to use windows hooks intead of polling (I don't remember why hooks weren't used in the first place, maybe they don't work reliably for all windows since DLL injection is needed and that breaks for protected processes like winlogon)
  • TODO: custom WDDM driver (maybe some time in the future)

Building locally on a single Windows dev machine

To build locally, all QWT component sources should be stored in parallel directories, like shown below (without the qubes- prefix).

+---artifacts (build output, generated by the build process)
+---core-agent-windows
+---core-qubesdb
+---core-vchan-xen
+---gui-agent-windows
+---gui-common
+---installer-windows-tools
+---vmm-xen-windows-pvdrivers
\---windows-utils

Executables are test-signed, build output is copied to the .artifacts directory inside the component and linked to the global artifacts directory mentioned above. Run clean.cmd to remove all files produced by the build process.

Prerequisites

  • Microsoft EWDK iso mounted as a drive.
  • QUBES_BUILDER environment variable set to the location of qubes-builderv2 repository.
  • Internet connection.
  • powershell-yaml PowerShell package installed (run powershell -command Install-Package powershell-yaml as admin) (TODO: provide offline installer for this).

Visual Studio build

Run vs.cmd to open the project in Visual Studio with pre-set environment for development/building.

Command-line noninteractive build

Run build.cmd [Release|Debug]. Release configuration is built if no option is provided.

About

No description, website, or topics provided.

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published

Contributors 6