No description
Find a file
2024-12-02 03:35:15 -05:00
agent remove unneeded sdk inc/lib files 2024-12-02 01:55:14 -05:00
shared heavily simplified main loop 2024-12-02 01:43:14 -05:00
src add doc to a bit more 2024-12-02 03:27:59 -05:00
.clang-format clang-format 2024-11-20 21:29:22 -05:00
.gitignore ivshmem work 2024-12-01 19:24:43 -05:00
build.rs working ivshmem setup 2024-12-01 22:08:11 -05:00
Cargo.lock working ivshmem setup 2024-12-01 22:08:11 -05:00
Cargo.toml working ivshmem setup 2024-12-01 22:08:11 -05:00
README.md update readme 2024-12-02 03:35:15 -05:00

Hazelnut

A semi-prototype of CollabVM 3.0 agent functionality (specifically display).

Currently NVIDIA-specific (since we use NvFBC); support for DXGI duplication (for post Win7) should be added at some point.

The agent runs on Windows 7 x64 onwards. Lower (or x86) is currently not supported as a target.

The agent uses IVSHMEM to provide frames to the client in a low-latency fashion. Later on virtio-serial may be considered for low-bandwidth additional functionality, like input. For now, however, the agent is display only.

This repository contains:

  • The agent. Written in C++20.
  • Shared headers and utility code, used between the agent and the client. Written in C++20, mostly so it can be shared between the agent and client.
  • A simple client, written mostly in Rust (with some C++ glue), which displays the framebuffer (in a quick-and-dirty fashion.). Mostly test-only code. Some of it isn't though!