No description
Find a file
2024-12-02 17:01:21 -05:00
agent remove old CaptureFrame() api 2024-12-02 16:34:05 -05:00
client move client and test minifb client code to seperate crates 2024-12-02 17:01:21 -05:00
shared bleh 2024-12-02 16:30:25 -05:00
testclient move client and test minifb client code to seperate crates 2024-12-02 17:01:21 -05:00
.clang-format clang-format 2024-11-20 21:29:22 -05:00
.gitignore move client and test minifb client code to seperate crates 2024-12-02 17:01:21 -05:00
README.md move client and test minifb client code to seperate crates 2024-12-02 17:01:21 -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 Rust crate for Hazelnut clients to use. Wraps the Shared code.
  • A test client written in Rust which displays the framebuffer (in a quick-and-dirty fashion.).