Skip to content
alexgcastro edited this page Apr 10, 2024 · 855 revisions

Web Engines Hackfest 2024

URL: https://www.webengineshackfest.org/

Mastodon: @[email protected]

Twitter: @webhackfest

Dates: 3-5 June 2024

Matrix room: webengineshackfest:matrix.org

IRC channel: #webengineshackfest on OFTC

⚠️ REMOTE PARTICIPATION ⚠️

The Web Engines Hackfest 2024 will be fully hybrid event. Remote participation will be possible for both talks and breakout sessions.

Breakout sessions

Web Engines Rendering in Linux: sharing ideas and solutions

  • Date & Time: Mon 3th, TBD

  • Place: TBD

  • People: alexg, cgarcia, nzimmermann, magomez

  • Description We want to bring together developers from various web engines to delve into the complexities of rendering architecture on Linux platforms. This collaborative discussion aims to shed light on the diverse approaches and technologies employed by different engines to achieve the best rendering performance. Maybe we can talk about other platforms but main goal is Linux and its nuances, such as: wayland integration, DRM rendering, buffer sharing, multiprocess communication and roles, etc.

Some discussion points we would like to discuss, you can add yours here:

  • Loop execution & Vsync Synchronization: How do you integrate loop with observers to ensure precise rendering stages? Share your strategies for maintaining synchronization with the display’s refresh rate.
  • Rendering Buffers Management: Explore the APIs utilized for buffer allocation and sharing: dmabuf, gbm, etc. Discuss support for X, Wayland, or DRM, and delve into the caching mechanisms that optimize buffer rendering with per-frame damage. How are uploads handled—through OpenGL or more direct APIs?
  • Multiprocess Architecture Insights: Unpack the methods for buffer transmission. Where is the allocation done, and what role does GPUProcess play in GPU operations? We’ll examine the recording and transferal of operations to the GPUProcess and the use of explicit fencing for synchronization.
  • Frame Composition Techniques: Does your engine leverage OpenGL and shaders for frame composition using a layer based architecture? Whether it’s within the GPUProcess or on a separate thread, how to communicate the state? Fencing or blocking in the rendering. we’re interested in how you manage CSS animations and scrolling independently of the main thread. Tiling for the buffers, layer based
  • 2D Graphics Library Exploration: We’ll discuss whether Skia or other graphics contexts are in use, and whether GPU and CPU backends are supported. Describe the architecture for both scenarios and share insights on the backend-specific implementations.
  • 3D library and WebGL/WebGPU support, what does the engine support, what library do you use? ANGLE? How do you integrate it in the source code? How do you pass the rendering buffer to ANGLE?
  • Multimedia integration, what library do you use, how buffers are sent to the compositor? Pushing frames without composition.

Scheduling

TBD

Sponsors

TBD

Clone this wiki locally