GsoC Research Links
I don't expect this of to be of much use to anyone else in this form but I would like this to be here for the sake of reference:
General Wayland Resources
- Wayland Book by Drew DeVault - https://wayland-book.com/
- Somewhat outdated but detailed book on Wayland - https://jan.newmarch.name/Wayland/index.html
- Writing Wayland Clients (in C) - https://bugaevc.gitbooks.io/writing-wayland-clients/content/
- Wayland Protocols - https://wayland.app/
- Smithay Wayland-rs Explainer - https://smithay.github.io/book
DMABuf Texture Sharing
- Blaztinn's DMABuf Texture Sharing Example - https://blaztinn.gitlab.io/post/dmabuf-texture-sharing/
- Eleni's DMABuf Sharing Example - https://eleni.mutantstargoat.com/hikiko/egl-dma-1/
- Pekka Paalanen on Supporting Wayland GL Clients and DMABuf - https://ppaalanen.blogspot.com/2012/11/on-supporting-wayland-gl-clients-and.html
DMABuf+Screencopy Implementations
- wf-recorder's DMABuf Implementation - https://github.com/ammen99/wf-recorder/pull/206
- wl-screenrec using scrcpy+dmabuf for Recording - https://github.com/russelltg/wl-screenrec
DMABuf Documentation
- Kernel Docs on DMABufs - https://www.kernel.org/doc/html/latest/userspace-api/dma-buf-alloc-exchange.html
- DRI Docs on DMABuf Alloc Exchange - https://dri.freedesktop.org/docs/drm/userspace-api/dma-buf-alloc-exchange.html
- DMABuf System Slides - https://elinux.org/images/a/a8/DMA_Buffer_Sharing-_An_Introduction.pdf
PipeWire and DMABuf
- DMABuf in PipeWire - https://docs2.pipewire.org/page_dma_buf.html
- Better Screencasting with GNOME on Wayland - https://feaneron.com/2020/02/24/even-better-screencast-with-gnome-on-wayland/
- Introducing Graphics Offload in GTK - https://blog.gtk.org/2023/11/15/introducing-graphics-offload/
Other Resources
- New Screencopy Protocol - https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/124
- LWN Series on Linux Graphics Stack and Part 2 - https://lwn.net/Articles/955376/ and https://lwn.net/Articles/955708/
- About Gaming on Wayland - https://zamundaaa.github.io/wayland/2021/12/14/about-gaming-on-wayland.html