wlroots icon indicating copy to clipboard operation
wlroots copied to clipboard

DRM output writeback support

Open emersion opened this issue 6 years ago • 4 comments

See https://gitlab.freedesktop.org/wayland/weston/issues/145

TL;DR this would allow us to add proper support for export-dmabuf even if multiple planes are used, and without the additional complexity of sending multiple DMA-BUFs to the consumer. screencopy could also benefit from this.

Note that only the Mali driver and VC4 support writeback connectors right now. A good test device is a Raspberry Pi 3.


wlroots has migrated to gitlab.freedesktop.org. This issue has been moved to:

https://gitlab.freedesktop.org/wlroots/wlroots/-/issues/1247

emersion avatar Sep 17 '18 14:09 emersion

Hi,

I'm interested to work in this issue since I'm putting effort to implement writeback in the VKMS [1]. However, this is my first attempt to work on the userspace side. I would like to ask anyone for some ideas on how to start with this issue. My current plan is:

  1. Add the writeback in the VKMS
  2. Change wlroots to be capable to handle writeback
  3. Use McWayface as a use case for testing the changes in VKMS and wlroots

Make sense? Anyone could give some extra ideas?

Ps.: Since I'm new here, this could take a long time for me to accomplish. Finally, I also want to take a look at issue 145 in the freedesktop.

  1. https://lists.freedesktop.org/archives/dri-devel/2018-October/193806.html (patchwork: https://patchwork.freedesktop.org/patch/257771/)

rodrigosiqueira avatar Oct 22 '18 14:10 rodrigosiqueira

1 and 2 look good, but I'd suggest using rootston instead of mcwayface.

Since I'm new here, this could take a long time for me to accomplish

We're not in a hurry, take your time and ask questions as they come up

ddevault avatar Oct 22 '18 14:10 ddevault

Thanks! I will start to dive into this issue.

rodrigosiqueira avatar Oct 22 '18 17:10 rodrigosiqueira

Regarding the API, we can probably add a new wlr_drm_connector_create_writeback that spawns a new writeback connector. We already have wlr_drm_connector_add_mode to add arbitrary modes.

(For reference, VKMS docs: https://dri.freedesktop.org/docs/drm/gpu/vkms.html)

emersion avatar Nov 10 '18 22:11 emersion