On 11/14/2017 03:19 PM, Gerd Hoffmann wrote:
What kind of shared memory is used by wayland?
sysv shm? gbm buffers / dmabufs?
Typically, shared memory for CPU-rendered content, and dmabufs for
GPU-rendered content.
Ok. I guess solving this for virtio-gpu (with virgl enabled) is easiest
then. Due to opengl rendering being offloaded to the host gpu the
guest window content already is in a host gpu buffer.
Yes, besides, we already have virtio-gpu in place which can be improved as
needed.
I'm more worried about CPU-rendered buffers, as the client is just putting
in the socket the output of shm_open or similar. There I don't see any easy
solution which is why I tried to get more "creative".
Will clients actually use cpu rendering of opengl is available?
Can clients cpu-render into dumb drm buffers?
For the sake of moving forward, let's assume for now that wl_shm clients
will be rendering to buffers allocated by VGEM or virtio-gpu. How would
the client in the guest be communicating that to the compositor in the host?
I thought of SCM_RIGHTS on AF_VSOCK, which would return BADF if a FD is
passed that cannot be shared in the requested direction. Are there any
better options?
Thanks,
Tomeu