[wpe-webkit] off-screen rendering of WPEWebkit

胡鉴-浙江工商大学(通信) hujian0602 at 126.com
Sat Mar 2 00:25:34 PST 2024


Hi,



I would like to implement the functionality of embedding a WebKit browser within our  self-developed UI framework using WPEWebKit. The hardware environment is based on an embedded ARMv8 architecture chip, and the software environment is a customized version of the Linux kernel. There are the following limitations:

(1) The environment does not support GPU hardware acceleration;
(2) It does not support standard graphics interface display windows such as X11;
(3) It does not support Wayland;
(4) Due to differences in the processor instruction set, we cannot directly reuse precompiled binary products and need to perform cross-compilation ourselves.
 
After some exploration, I compared frameworks like CEF, QT WebEngine, and WPEWebKit. Theoretically, WPEWebKit is exactly what I need. Thus, I referred to WPEBackend-direct and attempted to customize and modify it based on this to achieve the desired effect. The general approach is as follows:
 
                  WPE framework                                                                             Application
------------------------------------------------------                                         ---------------------------------------------------
|                 |             |                                |                                        |                             |                              |
|  webkit    |    wpe   |        WPEBackend  |   ----------------------------   |    WPEBackend   |   self-developed    |
|                 |             |              server        |       IPC for message,     |           client          |    UI framwork       |
|                 |             |                                |       Shared mem for       |                             |                               |
-------------------------------------------------------      rendering frame        ---------------------------------------------------
 
Based on the above approach, can I implement _wpe_renderer_backend_egl_offscreen_target_interface to achieve off-screen rendering and obtain rendering frame data in a bitmap-like format, and then send it to the frame buffer of our self-developed UI framework for drawing and displaying? If so, how should I go about implementing it?
I tried to implement RendererBackendEGLOffscreenTarget by myself, but for some reason, the WPE framework did not callback to my implementation. How should I locate where the problem lies?
 
Due to version limitations of GCC, C libraries, etc., I need to choose to use WPEWebKit-2.32.0 and libwpe-1.0.
 
I am a newcomer in the WPEWebKit field and look forward to everyone's help. Thank you very much!
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-wpe/attachments/20240302/dc12c85b/attachment.htm>


More information about the webkit-wpe mailing list