No description
Find a file
2024-12-02 16:44:11 -05:00
agent remove old CaptureFrame() api 2024-12-02 16:34:05 -05:00
shared bleh 2024-12-02 16:30:25 -05:00
src cleanup client 2024-12-02 16:44:11 -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 bleh 2024-12-02 16:30:25 -05:00
Cargo.lock bleh 2024-12-02 16:30:25 -05:00
Cargo.toml bleh 2024-12-02 16:30:25 -05:00
README.md cleanup client 2024-12-02 16:44:11 -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 since I don't feel like rewriting structures and the shared code in Rust), which displays the framebuffer (in a quick-and-dirty fashion.). Mostly test-only code. Some of it isn't though, and will be turned into a standalone client crate.