No description
modeco80
e0b12c9729
There probably isn't that much utility to doing this, but now the shared/ code can be imported to write a hazelnut client application in C++. Not that that's of any use to me, but seperating it means it should also be easier to work on. No more strange compile errors because clangd is confused and dumb. |
||
---|---|---|
agent | ||
client | ||
shared | ||
testclient | ||
.clang-format | ||
.gitignore | ||
README.md |
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.).