Crate framebuffer

Source
Expand description

Framebuffer device.

Provides interfaces for reading, mapping, and managing the format of the framebuffer.

The function framebuffer is used to create two structs: Framebuffer, which is used to map an area of memory for the guest to write to, and FramebufferAccess, which is transformed into a View to allow the VNC server to read from that memory. In HvLite, the Framebuffer is used to create a FramebufferDevice and a FramebufferLocalControl which share state using an inner mutex. The latter implements [FramebufferControl] which provides the necessary interfaces for a video device to control the framebuffer. In Underhill, the format sender is extracted from the framebuffer and used to create a different struct that implements the same trait.

This is separate from the synthetic device because its lifetime is separate from that of the synthetic video VMBus channel.

Structs§

Framebuffer
The video framebuffer to be provided to the device.
FramebufferAccess
An accessor for the framebuffer. Can be sent cross-process via mesh.
FramebufferDevice
A chipset device for the framebuffer.
FramebufferLocalControl
Used to control a framebuffer running in the same process
SavedState
Saved state.
View
A mapped view of the framebuffer.

Constants§

FRAMEBUFFER_SIZE
The framebuffer size. In the future, this will be variable.

Functions§

framebuffer
Creates a framebuffer and an object that can be used to read from it. The framebuffer should be allocated prior to calling this function.