From aperez at igalia.com Tue Apr 9 15:01:32 2024 From: aperez at igalia.com (Adrian Perez de Castro) Date: Wed, 10 Apr 2024 01:01:32 +0300 Subject: [wpe-webkit] WPE WebKit 2.44.1 released Message-ID: <20240410010132.GB3706104@igalia.com> WPE WebKit 2.44.1 is available for download at: https://wpewebkit.org/releases/wpewebkit-2.44.1.tar.xz (33.5 MiB) md5sum: 51290d5cf1e032145f2a30971393b006 sha1sum: b4d61467f0fb27bb45919ae160efe71d40fda6a0 sha256sum: 2c9fbf4fcf8884d34102283e2b008ce0b0bc2cf07de78f564a8b34347e7bc19b This is the first bug fix release in the stable 2.44 series. ## What's new in WPE WebKit 2.44.1? - Do not schedule layer flushes when drawing area size is empty. - Fix videos with alpha when using the DMA-BUF sink. - Fix the build with ENABLE_WEB_AUDIO=OFF. - Fix the build with ENABLE_VIDEO=OFF. - Fix the build with USE_GBM=OFF. - Fix the build in 32-bit platforms - Fix several crashes and rendering issues. ## What is WPE WebKit? WPE WebKit is an embeddable port of the WebKit rendering engine. Offering WebKit's full functionality through a set of GObject-based APIs, it is suitable for projects requiring any kind of web integration, from hybrid HTML/CSS applications to full-fledged web browsers. ## More Information If you want to know more about the project or get in touch with use you may: - Visit our website at https://wpewebkit.org or the upstream site at https://webkit.org - people interested in contributing should read https://webkit.org/coding/contributing.html - Browse the bug list at https://bugs.webkit.org A bug report with a minimal, reproducible test cases is often just as valuable as a patch. - Join the chat at #wpe channel at irc.oftc.net, or the #wpe:matrix.org room - Subscribe to the webkit-wpe at lists.webkit.org mailing list, https://lists.webkit.org/mailman/listinfo/webkit-wpe or the WebKit general development mailing list https://lists.webkit.org/mailman/listinfo/webkit-dev ## Thanks Thanks to all the contributors who made this release possible. The WPE WebKit Team, April 10th, 2024 -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 195 bytes Desc: not available URL: From boaz at bocoup.com Mon Apr 22 08:43:28 2024 From: boaz at bocoup.com (Boaz Sender) Date: Mon, 22 Apr 2024 08:43:28 -0700 Subject: [wpe-webkit] cog headless on rpi Message-ID: I'd like to run cog headlessly on raspian/armhf. The version of cog im finding in rpi apt (0.8.1) appears to predate the headless backend. Is there a newer build for armhf/raspian available somewhere that I might be able to use? Thanks so much, -Boaz -- Boaz Sender -------------- next part -------------- An HTML attachment was scrubbed... URL: From dev.beidl at gmail.com Tue Apr 23 00:25:46 2024 From: dev.beidl at gmail.com (Alfred Neumayer) Date: Tue, 23 Apr 2024 09:25:46 +0200 Subject: [wpe-webkit] WPE WebKit on libhybris drivers Message-ID: Hello, I am working on integrating WPE WebKit as a new browser for Ubuntu Touch, the smart phone OS (which isn't dead but maintained by community members) using libhybris drivers. In a nutshell libhybris wraps GLESv2 and EGL for Android into glibc libraries + some Wayland listeners for passing those buffers between a client and a server. Right now this allows for working WPE WebKit with the WPEQtView (since UT uses QML for UI mostly) but at the cost of performance. Something causes the frame completion handler in the WPEQtViewBackend to get called at roughly 30fps, which isn't ideal and I have ruled out: - OpenGL ES not getting used - Buffer passing between the UIProcess and the WebProcess not working - DisplayVBlank timer stalling redraws to be the causes, so I am wondering how to approach the debugging of this issue further. What I have noticed is that opening webkit://gpu allows smooth scrolling until the first few frames have finished drawing, so roughly the first half of a second is considerably fluid. I really would like to reach the fluidity of recent WebKitGTK. :) Thank you. From aperez at igalia.com Tue Apr 23 07:10:47 2024 From: aperez at igalia.com (Adrian Perez de Castro) Date: Tue, 23 Apr 2024 17:10:47 +0300 Subject: [wpe-webkit] cog headless on rpi In-Reply-To: References: Message-ID: <20240423171047.GB664492@igalia.com> Hello Boaz, On Mon, 22 Apr 2024 08:43:28 -0700 Boaz Sender wrote: > I'd like to run cog headlessly on raspian/armhf. The version of cog im > finding in rpi apt (0.8.1) appears to predate the headless backend. Is > there a newer build for armhf/raspian available somewhere that I might be > able to use? Sadly, I do not see an easily-searchable package index for Raspbian [1], but diving into the package pool I can see that there are .deb packages for 0.16.1 and 0.18.2 [2] -- both with the headless plug-in included. Could it be that you are using an older version of Raspbian? Make sure to "apt update && apt dist-upgrade" to have your system in the most recent version. I hope this helps. Cheers, ?Adri?n --- [1] Something like packages.debian.org would be handy to have! [2] http://archive.raspbian.org/raspbian/pool/main/c/cog/ -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 195 bytes Desc: not available URL: From boaz at bocoup.com Tue Apr 23 09:09:57 2024 From: boaz at bocoup.com (Boaz Sender) Date: Tue, 23 Apr 2024 09:09:57 -0700 Subject: [wpe-webkit] cog headless on rpi In-Reply-To: <20240423171047.GB664492@igalia.com> References: <20240423171047.GB664492@igalia.com> Message-ID: On Tue, Apr 23, 2024 at 7:10?AM Adrian Perez de Castro wrote: > Hello Boaz, > > On Mon, 22 Apr 2024 08:43:28 -0700 Boaz Sender wrote: > > I'd like to run cog headlessly on raspian/armhf. The version of cog im > > finding in rpi apt (0.8.1) appears to predate the headless backend. Is > > there a newer build for armhf/raspian available somewhere that I might be > > able to use? > > Sadly, I do not see an easily-searchable package index for Raspbian [1], > but diving into the package pool I can see that there are .deb packages > for 0.16.1 and 0.18.2 [2] -- both with the headless plug-in included. > Thanks for diving into the pool. > Could it be that you are using an older version of Raspbian? Make sure > to "apt update && apt dist-upgrade" to have your system in the most recent > version. > Oops, of course. Thanks, that did the trick! I'm up and running :). > I hope this helps. Cheers, > ?Adri?n > > --- > [1] Something like packages.debian.org would be handy to have! > [2] http://archive.raspbian.org/raspbian/pool/main/c/cog/ Thanks again so much, for making this project, and for your support, -- Boaz Sender -------------- next part -------------- An HTML attachment was scrubbed... URL: From dev.beidl at gmail.com Thu Apr 25 02:46:35 2024 From: dev.beidl at gmail.com (Alfred Neumayer) Date: Thu, 25 Apr 2024 11:46:35 +0200 Subject: [wpe-webkit] WPE WebKit on libhybris drivers In-Reply-To: References: Message-ID: I have proceeded to implement hybris buffer support into WPEBackend-fdo itself, ensuring that buffers are passed using the optimal way of operation using existing exportable-fdo-egl interfaces: https://github.com/fredldotme/WPEBackend-fdo/tree/hybris I plan to upstream this after verifying functionality and cleanup, as long as I don't get immediate refusal (if you dislike anything strongly about this branch, please let me know ASAP). I have been able to verify using WAYLAND_DEBUG=1 and some tracing output that initial EGLImage creation is happening, but after the first 4 buffers or so passed no further use of my newly implemented interfaces is getting used in tandem with WPEWebKit. Attached a short gist of the Wayland debug output for completeness. Am Di., 23. Apr. 2024 um 09:25 Uhr schrieb Alfred Neumayer : > > Hello, > > I am working on integrating WPE WebKit as a new browser for Ubuntu > Touch, the smart phone OS (which isn't dead but maintained by > community members) using libhybris drivers. > > In a nutshell libhybris wraps GLESv2 and EGL for Android into glibc > libraries + some Wayland listeners for passing those buffers between a > client and a server. Right now this allows for working WPE WebKit with > the WPEQtView (since UT uses QML for UI mostly) but at the cost of > performance. > > Something causes the frame completion handler in the WPEQtViewBackend > to get called at roughly 30fps, which isn't ideal and I have ruled > out: > > - OpenGL ES not getting used > - Buffer passing between the UIProcess and the WebProcess not working > - DisplayVBlank timer stalling redraws > > to be the causes, so I am wondering how to approach the debugging of > this issue further. > > What I have noticed is that opening webkit://gpu allows smooth > scrolling until the first few frames have finished drawing, so roughly > the first half of a second is considerably fluid. > > I really would like to reach the fluidity of recent WebKitGTK. :) > > Thank you. -------------- next part -------------- Apr 25 09:49:24 ubuntu-phablet aa-exec[215391]: Scaling to "3.12" x Apr 25 09:49:24 ubuntu-phablet aa-exec[215391]: Using Wayland-EGL Apr 25 09:49:24 ubuntu-phablet aa-exec[215391]: Starting app from main.cpp Apr 25 09:49:24 ubuntu-phablet aa-exec[215391]: Using the 'xdg-shell' shell integration Apr 25 09:49:24 ubuntu-phablet aa-exec[215391]: warning: queue 0x614f2e6930 destroyed while proxies still attached: Apr 25 09:49:24 ubuntu-phablet aa-exec[215391]: android_wlegl_server_buffer_handle#24 still attached Apr 25 09:49:24 ubuntu-phablet aa-exec[215391]: android_wlegl_server_buffer_handle#23 still attached Apr 25 09:49:24 ubuntu-phablet aa-exec[215391]: android_wlegl_server_buffer_handle#15 still attached Apr 25 09:49:24 ubuntu-phablet webhunt[215391]: Could not open /etc/machine-info: Failed to open file ?/etc/machine-info?: Permission denied Apr 25 09:49:24 ubuntu-phablet aa-exec[215391]: Could not determine the accessibility bus address Apr 25 09:49:24 ubuntu-phablet aa-exec[215410]: [ 111471.768] {Default Queue} -> wl_display#1.get_registry(new id wl_registry#2) Apr 25 09:49:24 ubuntu-phablet aa-exec[215410]: [ 111471.880] {Default Queue} -> wl_display#1.sync(new id wl_callback#3) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111479.451] {Display Queue} wl_display#1.delete_id(3) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111479.534] {Default Queue} wl_registry#2.global(1, "wl_compositor", 3) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111479.553] {Default Queue} wl_registry#2.global(2, "wpe_bridge", 1) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111479.564] {Default Queue} -> wl_registry#2.bind(2, "wpe_bridge", 1, new id [unknown]#4) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111479.576] {Default Queue} wl_registry#2.global(3, "wpe_dmabuf_pool_manager", 1) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111479.582] {Default Queue} wl_registry#2.global(4, "android_wlegl", 2) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111479.586] {Default Queue} wl_callback#3.done(0) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111479.605] {Default Queue} -> wpe_bridge#4.initialize() Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111479.612] {Default Queue} -> wl_display#1.sync(new id wl_callback#3) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111479.772] {Display Queue} wl_display#1.delete_id(3) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111479.785] {Default Queue} wpe_bridge#4.implementation_info(0) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111479.790] {Default Queue} wl_callback#3.done(0) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111537.224] {Default Queue} -> wl_display#1.get_registry(new id wl_registry#3) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111537.309] {Default Queue} -> wl_display#1.sync(new id wl_callback#5) Apr 25 09:49:25 ubuntu-phablet WPEWebProcess[215410]: Error loading the injected bundle (/home/alfred/Projects/open/webhunt/build/aarch64-linux-gnu/WebKit/install/lib/wpe-webkit-2.0/injected-bundle/libWPEInjectedBundle.so): /home/alfred/Projects/open/webhunt/build/aarch64-linux-gnu/WebKit/install/lib/wpe-webkit-2.0/injected-bundle/libWPEInjectedBundle.so: cannot open shared object file: No such file or directory Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111552.571] {Default Queue} -> wl_display#1.get_registry(new id wl_registry#6) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111553.463] -> wl_display#1.sync(new id wl_callback#7) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111577.177] {Display Queue} wl_display#1.delete_id(5) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111577.259] {Display Queue} wl_display#1.delete_id(7) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111577.277] wl_registry#6.global(1, "wl_compositor", 3) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111577.306] -> wl_registry#6.bind(1, "wl_compositor", 1, new id [unknown]#8) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111577.331] wl_registry#6.global(2, "wpe_bridge", 1) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111577.349] -> wl_registry#6.bind(2, "wpe_bridge", 1, new id [unknown]#9) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111577.369] wl_registry#6.global(3, "wpe_dmabuf_pool_manager", 1) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111577.387] -> wl_registry#6.bind(3, "wpe_dmabuf_pool_manager", 1, new id [unknown]#10) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111577.406] wl_registry#6.global(4, "android_wlegl", 2) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111577.422] wl_callback#7.done(0) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111577.442] -> wl_compositor#8.create_surface(new id wl_surface#7) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111577.463] -> wpe_dmabuf_pool_manager#10.create_pool(new id wpe_dmabuf_pool#11, wl_surface#7) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111577.575] -> wpe_bridge#9.connect(wl_surface#7) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111577.597] -> wl_display#1.sync(new id wl_callback#12) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111610.592] {Display Queue} wl_display#1.delete_id(12) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111610.675] wpe_bridge#9.connected(1) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111610.806] wl_callback#12.done(0) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111616.599] wl_registry#3.global(1, "wl_compositor", 3) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111616.694] wl_registry#3.global(2, "wpe_bridge", 1) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111616.715] wl_registry#3.global(3, "wpe_dmabuf_pool_manager", 1) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111616.732] wl_registry#3.global(4, "android_wlegl", 2) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111616.767] -> wl_registry#3.bind(4, "android_wlegl", 2, new id [unknown]#12) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111616.808] wl_callback#5.done(0) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111617.040] -> android_wlegl#12.get_server_buffer_handle(new id android_wlegl_server_buffer_handle#5, 1079, 1990, 1, 768) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111617.085] -> wl_display#1.sync(new id wl_callback#13) Apr 25 09:49:25 ubuntu-phablet aa-exec[215391]: BaseNativeWindowBuffer::BaseNativeWindowBuffer(): 0x614f45e900 Apr 25 09:49:25 ubuntu-phablet aa-exec[215391]: static void BaseNativeWindowBuffer::_incRef(android_native_base_t*): 0x614f45e900 refcount = 1 Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111644.446] {Display Queue} wl_display#1.delete_id(5) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111644.609] {Display Queue} wl_display#1.delete_id(13) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111644.640] android_wlegl_server_buffer_handle#5.buffer_ints(array[88]) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111644.714] android_wlegl_server_buffer_handle#5.buffer_fd(fd 45) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111644.739] android_wlegl_server_buffer_handle#5.buffer_fd(fd 46) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111644.757] android_wlegl_server_buffer_handle#5.buffer(new id wl_buffer#4278190080, 1, 1088) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111645.064] wl_callback#13.done(0) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111645.121] -> android_wlegl#12.get_server_buffer_handle(new id android_wlegl_server_buffer_handle#13, 1079, 1990, 1, 768) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111645.160] -> wl_display#1.sync(new id wl_callback#14) Apr 25 09:49:25 ubuntu-phablet aa-exec[215391]: BaseNativeWindowBuffer::BaseNativeWindowBuffer(): 0x614f2b0880 Apr 25 09:49:25 ubuntu-phablet aa-exec[215391]: static void BaseNativeWindowBuffer::_incRef(android_native_base_t*): 0x614f2b0880 refcount = 1 Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111676.413] {Display Queue} wl_display#1.delete_id(13) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111676.475] {Display Queue} wl_display#1.delete_id(14) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111676.500] android_wlegl_server_buffer_handle#13.buffer_ints(array[88]) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111676.528] android_wlegl_server_buffer_handle#13.buffer_fd(fd 45) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111676.552] android_wlegl_server_buffer_handle#13.buffer_fd(fd 46) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111676.574] android_wlegl_server_buffer_handle#13.buffer(new id wl_buffer#4278190081, 1, 1088) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111676.649] wl_callback#14.done(0) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111676.691] -> android_wlegl#12.get_server_buffer_handle(new id android_wlegl_server_buffer_handle#14, 1079, 1990, 1, 768) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111676.734] -> wl_display#1.sync(new id wl_callback#15) Apr 25 09:49:25 ubuntu-phablet aa-exec[215391]: BaseNativeWindowBuffer::BaseNativeWindowBuffer(): 0x614f2b0960 Apr 25 09:49:25 ubuntu-phablet aa-exec[215391]: static void BaseNativeWindowBuffer::_incRef(android_native_base_t*): 0x614f2b0960 refcount = 1 Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111709.522] {Display Queue} wl_display#1.delete_id(14) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111709.584] {Display Queue} wl_display#1.delete_id(15) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111709.612] android_wlegl_server_buffer_handle#14.buffer_ints(array[88]) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111709.641] android_wlegl_server_buffer_handle#14.buffer_fd(fd 45) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111709.666] android_wlegl_server_buffer_handle#14.buffer_fd(fd 46) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111709.689] android_wlegl_server_buffer_handle#14.buffer(new id wl_buffer#4278190082, 1, 1088) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 111709.769] wl_callback#15.done(0) Apr 25 09:49:25 ubuntu-phablet WPEWebProcess[215410]: Could not open /etc/machine-info: Failed to open file ?/etc/machine-info?: Permission denied Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 112417.740] -> wl_surface#7.frame(new id wl_callback#15) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 112419.818] -> wl_buffer#4278190080.destroy() Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 112419.933] -> android_wlegl#12.get_server_buffer_handle(new id android_wlegl_server_buffer_handle#16, 1079, 1981, 1, 268436224) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 112419.948] -> wl_display#1.sync(new id wl_callback#17) Apr 25 09:49:25 ubuntu-phablet aa-exec[215391]: static void BaseNativeWindowBuffer::_decRef(android_native_base_t*): 0x614f45e900 refcount = 0 Apr 25 09:49:25 ubuntu-phablet aa-exec[215391]: virtual BaseNativeWindowBuffer::~BaseNativeWindowBuffer(): 0x614f45e900 Apr 25 09:49:25 ubuntu-phablet aa-exec[215391]: BaseNativeWindowBuffer::BaseNativeWindowBuffer(): 0x614f45e900 Apr 25 09:49:25 ubuntu-phablet aa-exec[215391]: static void BaseNativeWindowBuffer::_incRef(android_native_base_t*): 0x614f45e900 refcount = 1 Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 112443.967] {Display Queue} wl_display#1.delete_id(16) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 112443.996] {Display Queue} wl_display#1.delete_id(17) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 112444.003] android_wlegl_server_buffer_handle#16.buffer_ints(array[88]) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 112444.013] android_wlegl_server_buffer_handle#16.buffer_fd(fd 46) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 112444.018] android_wlegl_server_buffer_handle#16.buffer_fd(fd 48) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 112444.023] android_wlegl_server_buffer_handle#16.buffer(new id wl_buffer#4278190080, 1, 1088) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 112444.060] wl_callback#17.done(0) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 112444.852] -> wl_surface#7.frame(new id wl_callback#17) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 112444.887] -> wl_surface#7.attach(wl_buffer#4278190080, 0, 0) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 112444.894] -> wl_surface#7.damage(0, 0, 1079, 1981) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 112444.901] -> wl_surface#7.commit() Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 112444.907] {Default Queue} -> wl_display#1.sync(new id wl_callback#18) Apr 25 09:49:25 ubuntu-phablet aa-exec[215391]: void* WS::ImplHybrisEGL::createImage(wl_resource*): Creating and returning image Apr 25 09:49:25 ubuntu-phablet aa-exec[215391]: static void BaseNativeWindowBuffer::_incRef(android_native_base_t*): 0x614f45e900 refcount = 2 Apr 25 09:49:25 ubuntu-phablet aa-exec[215391]: -9223025697683 Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 112460.618] discarded [unknown]#18.[event 0](0 fd, 12 byte) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 112460.869] {Display Queue} wl_display#1.delete_id(18) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 112473.823] {Display Queue} wl_display#1.delete_id(15) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 112474.711] {Display Queue} wl_display#1.delete_id(17) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 112474.833] wl_callback#15.done(0) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 112474.937] -> wl_surface#7.frame(new id wl_callback#15) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 112475.179] wl_callback#17.done(0) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 112475.214] wl_buffer#4278190080.release() Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 112475.235] -> wl_buffer#4278190081.destroy() Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 112475.288] -> android_wlegl#12.get_server_buffer_handle(new id android_wlegl_server_buffer_handle#17, 1079, 1990, 1, 268436224) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 112475.310] -> wl_display#1.sync(new id wl_callback#18) Apr 25 09:49:25 ubuntu-phablet aa-exec[215391]: static void BaseNativeWindowBuffer::_decRef(android_native_base_t*): 0x614f2b0880 refcount = 0 Apr 25 09:49:25 ubuntu-phablet aa-exec[215391]: virtual BaseNativeWindowBuffer::~BaseNativeWindowBuffer(): 0x614f2b0880 Apr 25 09:49:25 ubuntu-phablet aa-exec[215391]: BaseNativeWindowBuffer::BaseNativeWindowBuffer(): 0x614f2b0880 Apr 25 09:49:25 ubuntu-phablet aa-exec[215391]: static void BaseNativeWindowBuffer::_incRef(android_native_base_t*): 0x614f2b0880 refcount = 1 Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 112476.164] {Display Queue} wl_display#1.delete_id(17) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 112476.197] {Display Queue} wl_display#1.delete_id(18) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 112476.208] android_wlegl_server_buffer_handle#17.buffer_ints(array[88]) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 112476.222] android_wlegl_server_buffer_handle#17.buffer_fd(fd 45) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 112476.233] android_wlegl_server_buffer_handle#17.buffer_fd(fd 48) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 112476.244] android_wlegl_server_buffer_handle#17.buffer(new id wl_buffer#4278190081, 1, 1088) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 112476.286] wl_callback#18.done(0) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 112476.816] -> wl_surface#7.frame(new id wl_callback#18) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 112476.885] -> wl_surface#7.attach(wl_buffer#4278190081, 0, 0) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 112476.903] -> wl_surface#7.damage(0, 0, 1079, 1990) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 112476.917] -> wl_surface#7.commit() Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 112476.930] {Default Queue} -> wl_display#1.sync(new id wl_callback#19) Apr 25 09:49:25 ubuntu-phablet aa-exec[215391]: void* WS::ImplHybrisEGL::createImage(wl_resource*): Creating and returning image Apr 25 09:49:25 ubuntu-phablet aa-exec[215391]: static void BaseNativeWindowBuffer::_incRef(android_native_base_t*): 0x614f2b0880 refcount = 2 Apr 25 09:49:25 ubuntu-phablet aa-exec[215391]: 17 Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 112477.692] discarded [unknown]#19.[event 0](0 fd, 12 byte) Apr 25 09:49:25 ubuntu-phablet aa-exec[215410]: [ 112477.730] {Display Queue} wl_display#1.delete_id(19) Apr 25 09:49:26 ubuntu-phablet aa-exec[215410]: [ 112487.077] {Display Queue} wl_display#1.delete_id(15) Apr 25 09:49:26 ubuntu-phablet aa-exec[215410]: [ 112487.242] {Display Queue} wl_display#1.delete_id(18) Apr 25 09:49:26 ubuntu-phablet aa-exec[215410]: [ 112487.257] wl_callback#15.done(0) Apr 25 09:49:26 ubuntu-phablet aa-exec[215410]: [ 112487.343] -> wl_surface#7.frame(new id wl_callback#15) Apr 25 09:49:26 ubuntu-phablet aa-exec[215410]: [ 112538.361] wl_callback#18.done(0) Apr 25 09:49:26 ubuntu-phablet aa-exec[215410]: [ 112538.450] wl_buffer#4278190081.release() Apr 25 09:49:26 ubuntu-phablet aa-exec[215410]: [ 112538.467] -> wl_buffer#4278190082.destroy() Apr 25 09:49:26 ubuntu-phablet aa-exec[215410]: [ 112538.506] -> android_wlegl#12.get_server_buffer_handle(new id android_wlegl_server_buffer_handle#18, 1079, 1990, 1, 268436224) Apr 25 09:49:26 ubuntu-phablet aa-exec[215410]: [ 112538.521] -> wl_display#1.sync(new id wl_callback#19) Apr 25 09:49:26 ubuntu-phablet aa-exec[215391]: static void BaseNativeWindowBuffer::_decRef(android_native_base_t*): 0x614f2b0960 refcount = 0 Apr 25 09:49:26 ubuntu-phablet aa-exec[215391]: virtual BaseNativeWindowBuffer::~BaseNativeWindowBuffer(): 0x614f2b0960 Apr 25 09:49:26 ubuntu-phablet aa-exec[215391]: BaseNativeWindowBuffer::BaseNativeWindowBuffer(): 0x614f2b0960 Apr 25 09:49:26 ubuntu-phablet aa-exec[215391]: static void BaseNativeWindowBuffer::_incRef(android_native_base_t*): 0x614f2b0960 refcount = 1 Apr 25 09:49:26 ubuntu-phablet aa-exec[215410]: [ 112539.840] {Display Queue} wl_display#1.delete_id(18) Apr 25 09:49:26 ubuntu-phablet aa-exec[215410]: [ 112539.883] {Display Queue} wl_display#1.delete_id(19) Apr 25 09:49:26 ubuntu-phablet aa-exec[215410]: [ 112539.890] android_wlegl_server_buffer_handle#18.buffer_ints(array[88]) Apr 25 09:49:26 ubuntu-phablet aa-exec[215410]: [ 112539.904] android_wlegl_server_buffer_handle#18.buffer_fd(fd 45) Apr 25 09:49:26 ubuntu-phablet aa-exec[215410]: [ 112539.910] android_wlegl_server_buffer_handle#18.buffer_fd(fd 48) Apr 25 09:49:26 ubuntu-phablet aa-exec[215410]: [ 112539.915] android_wlegl_server_buffer_handle#18.buffer(new id wl_buffer#4278190082, 1, 1088) Apr 25 09:49:26 ubuntu-phablet aa-exec[215410]: [ 112539.963] wl_callback#19.done(0) Apr 25 09:49:26 ubuntu-phablet aa-exec[215410]: [ 112543.532] -> wl_surface#7.frame(new id wl_callback#19) Apr 25 09:49:26 ubuntu-phablet aa-exec[215410]: [ 112543.580] -> wl_surface#7.attach(wl_buffer#4278190082, 0, 0) Apr 25 09:49:26 ubuntu-phablet aa-exec[215410]: [ 112543.590] -> wl_surface#7.damage(0, 0, 1079, 1990) Apr 25 09:49:26 ubuntu-phablet aa-exec[215410]: [ 112543.597] -> wl_surface#7.commit() Apr 25 09:49:26 ubuntu-phablet aa-exec[215410]: [ 112543.604] {Default Queue} -> wl_display#1.sync(new id wl_callback#20) Apr 25 09:49:26 ubuntu-phablet aa-exec[215391]: void* WS::ImplHybrisEGL::createImage(wl_resource*): Creating and returning image Apr 25 09:49:26 ubuntu-phablet aa-exec[215391]: static void BaseNativeWindowBuffer::_incRef(android_native_base_t*): 0x614f2b0960 refcount = 2 Apr 25 09:49:26 ubuntu-phablet aa-exec[215391]: 66 Apr 25 09:49:26 ubuntu-phablet aa-exec[215410]: [ 112544.683] discarded [unknown]#20.[event 0](0 fd, 12 byte) Apr 25 09:49:26 ubuntu-phablet aa-exec[215410]: [ 112544.715] {Display Queue} wl_display#1.delete_id(20) Apr 25 09:49:26 ubuntu-phablet aa-exec[215410]: [ 112545.251] {Display Queue} wl_display#1.delete_id(15) Apr 25 09:49:26 ubuntu-phablet aa-exec[215410]: [ 112545.259] {Display Queue} wl_display#1.delete_id(19) Apr 25 09:49:26 ubuntu-phablet aa-exec[215410]: [ 112545.264] wl_callback#15.done(0) Apr 25 09:49:26 ubuntu-phablet aa-exec[215410]: [ 112682.015] -> wl_surface#7.frame(new id wl_callback#15) Apr 25 09:49:26 ubuntu-phablet aa-exec[215410]: [ 112689.265] wl_callback#19.done(0) Apr 25 09:49:26 ubuntu-phablet aa-exec[215410]: [ 112689.475] wl_buffer#4278190082.release() Apr 25 09:49:26 ubuntu-phablet aa-exec[215410]: [ 112689.509] -> wl_buffer#4278190080.destroy() Apr 25 09:49:26 ubuntu-phablet aa-exec[215410]: [ 112689.535] -> android_wlegl#12.get_server_buffer_handle(new id android_wlegl_server_buffer_handle#19, 1079, 1990, 1, 268436224) Apr 25 09:49:26 ubuntu-phablet aa-exec[215410]: [ 112689.560] -> wl_display#1.sync(new id wl_callback#20) Apr 25 09:49:26 ubuntu-phablet aa-exec[215391]: static void BaseNativeWindowBuffer::_decRef(android_native_base_t*): 0x614f45e900 refcount = 1 Apr 25 09:49:26 ubuntu-phablet aa-exec[215391]: BaseNativeWindowBuffer::BaseNativeWindowBuffer(): 0x614f490600 Apr 25 09:49:26 ubuntu-phablet aa-exec[215391]: static void BaseNativeWindowBuffer::_incRef(android_native_base_t*): 0x614f490600 refcount = 1 Apr 25 09:49:26 ubuntu-phablet aa-exec[215410]: [ 112690.387] {Display Queue} wl_display#1.delete_id(19) Apr 25 09:49:26 ubuntu-phablet aa-exec[215410]: [ 112690.418] {Display Queue} wl_display#1.delete_id(20) Apr 25 09:49:26 ubuntu-phablet aa-exec[215410]: [ 112690.430] android_wlegl_server_buffer_handle#19.buffer_ints(array[88]) Apr 25 09:49:26 ubuntu-phablet aa-exec[215410]: [ 112690.446] android_wlegl_server_buffer_handle#19.buffer_fd(fd 46) Apr 25 09:49:26 ubuntu-phablet aa-exec[215410]: [ 112690.458] android_wlegl_server_buffer_handle#19.buffer_fd(fd 48) Apr 25 09:49:26 ubuntu-phablet aa-exec[215410]: [ 112690.468] android_wlegl_server_buffer_handle#19.buffer(new id wl_buffer#4278190080, 1, 1088) Apr 25 09:49:26 ubuntu-phablet aa-exec[215410]: [ 112690.514] wl_callback#20.done(0) Apr 25 09:49:26 ubuntu-phablet aa-exec[215410]: [ 112696.702] -> wl_surface#7.frame(new id wl_callback#20) Apr 25 09:49:26 ubuntu-phablet aa-exec[215410]: [ 112696.780] -> wl_surface#7.attach(wl_buffer#4278190080, 0, 0) Apr 25 09:49:26 ubuntu-phablet aa-exec[215410]: [ 112696.790] -> wl_surface#7.damage(0, 0, 1079, 1990) Apr 25 09:49:26 ubuntu-phablet aa-exec[215410]: [ 112696.798] -> wl_surface#7.commit() Apr 25 09:49:26 ubuntu-phablet aa-exec[215410]: [ 112696.805] {Default Queue} -> wl_display#1.sync(new id wl_callback#21) Apr 25 09:49:26 ubuntu-phablet aa-exec[215391]: void* WS::ImplHybrisEGL::createImage(wl_resource*): Creating and returning image Apr 25 09:49:26 ubuntu-phablet aa-exec[215391]: static void BaseNativeWindowBuffer::_incRef(android_native_base_t*): 0x614f490600 refcount = 2 Apr 25 09:49:26 ubuntu-phablet aa-exec[215391]: 153 Apr 25 09:49:26 ubuntu-phablet aa-exec[215410]: [ 112697.710] discarded [unknown]#21.[event 0](0 fd, 12 byte) Apr 25 09:49:26 ubuntu-phablet aa-exec[215410]: [ 112697.739] {Display Queue} wl_display#1.delete_id(21) Apr 25 09:49:26 ubuntu-phablet aa-exec[215410]: [ 112698.258] {Display Queue} wl_display#1.delete_id(15) Apr 25 09:49:26 ubuntu-phablet aa-exec[215410]: [ 112698.271] {Display Queue} wl_display#1.delete_id(20) Apr 25 09:49:26 ubuntu-phablet aa-exec[215410]: [ 112698.276] wl_callback#15.done(0) Apr 25 09:49:26 ubuntu-phablet aa-exec[215410]: [ 113446.902] -> wl_surface#7.frame(new id wl_callback#15) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113487.089] wl_callback#20.done(0) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113487.161] wl_buffer#4278190080.release() Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113494.995] -> wl_surface#7.frame(new id wl_callback#20) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113495.078] -> wl_surface#7.attach(wl_buffer#4278190081, 0, 0) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113495.088] -> wl_surface#7.damage(0, 0, 1079, 1990) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113495.096] -> wl_surface#7.commit() Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113495.102] {Default Queue} -> wl_display#1.sync(new id wl_callback#21) Apr 25 09:49:27 ubuntu-phablet aa-exec[215391]: 797 Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113495.433] discarded [unknown]#21.[event 0](0 fd, 12 byte) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113495.462] {Display Queue} wl_display#1.delete_id(21) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113496.649] {Display Queue} wl_display#1.delete_id(15) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113496.706] {Display Queue} wl_display#1.delete_id(20) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113496.718] wl_callback#15.done(0) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113496.777] -> wl_surface#7.frame(new id wl_callback#15) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113497.448] wl_callback#20.done(0) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113497.499] wl_buffer#4278190081.release() Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113505.056] -> wl_surface#7.frame(new id wl_callback#20) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113505.180] -> wl_surface#7.attach(wl_buffer#4278190082, 0, 0) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113505.201] -> wl_surface#7.damage(0, 0, 1079, 1990) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113505.216] -> wl_surface#7.commit() Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113505.232] {Default Queue} -> wl_display#1.sync(new id wl_callback#21) Apr 25 09:49:27 ubuntu-phablet aa-exec[215391]: 10 Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113505.975] discarded [unknown]#21.[event 0](0 fd, 12 byte) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113506.285] {Display Queue} wl_display#1.delete_id(21) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113519.349] {Display Queue} wl_display#1.delete_id(15) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113519.446] {Display Queue} wl_display#1.delete_id(20) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113519.460] wl_callback#15.done(0) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113519.536] -> wl_surface#7.frame(new id wl_callback#15) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113520.331] wl_callback#20.done(0) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113520.419] wl_buffer#4278190082.release() Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113525.915] -> wl_surface#7.frame(new id wl_callback#20) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113526.003] -> wl_surface#7.attach(wl_buffer#4278190081, 0, 0) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113526.026] -> wl_surface#7.damage(0, 0, 1079, 1990) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113526.043] -> wl_surface#7.commit() Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113526.056] {Default Queue} -> wl_display#1.sync(new id wl_callback#21) Apr 25 09:49:27 ubuntu-phablet aa-exec[215391]: 23 Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113529.474] discarded [unknown]#21.[event 0](0 fd, 12 byte) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113529.523] {Display Queue} wl_display#1.delete_id(21) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113545.841] {Display Queue} wl_display#1.delete_id(15) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113545.935] {Display Queue} wl_display#1.delete_id(20) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113545.942] wl_callback#15.done(0) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113545.987] -> wl_surface#7.frame(new id wl_callback#15) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113558.807] wl_callback#20.done(0) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113558.942] wl_buffer#4278190081.release() Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113566.272] -> wl_surface#7.frame(new id wl_callback#20) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113566.393] -> wl_surface#7.attach(wl_buffer#4278190082, 0, 0) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113566.413] -> wl_surface#7.damage(0, 0, 1079, 1990) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113566.428] -> wl_surface#7.commit() Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113566.443] {Default Queue} -> wl_display#1.sync(new id wl_callback#21) Apr 25 09:49:27 ubuntu-phablet aa-exec[215391]: 37 Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113567.131] discarded [unknown]#21.[event 0](0 fd, 12 byte) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113567.174] {Display Queue} wl_display#1.delete_id(21) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113573.097] {Display Queue} wl_display#1.delete_id(15) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113573.203] {Display Queue} wl_display#1.delete_id(20) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113573.217] wl_callback#15.done(0) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113573.305] -> wl_surface#7.frame(new id wl_callback#15) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113574.329] wl_callback#20.done(0) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113574.427] wl_buffer#4278190082.release() Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113580.564] -> wl_surface#7.frame(new id wl_callback#20) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113580.712] -> wl_surface#7.attach(wl_buffer#4278190081, 0, 0) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113580.739] -> wl_surface#7.damage(0, 0, 1079, 1990) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113580.754] -> wl_surface#7.commit() Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113580.770] {Default Queue} -> wl_display#1.sync(new id wl_callback#21) Apr 25 09:49:27 ubuntu-phablet aa-exec[215391]: 18 Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113585.000] discarded [unknown]#21.[event 0](0 fd, 12 byte) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113585.044] {Display Queue} wl_display#1.delete_id(21) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113603.750] {Display Queue} wl_display#1.delete_id(15) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113603.864] {Display Queue} wl_display#1.delete_id(20) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113603.879] wl_callback#15.done(0) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113603.960] -> wl_surface#7.frame(new id wl_callback#15) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113604.718] wl_callback#20.done(0) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113604.765] wl_buffer#4278190081.release() Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113610.306] -> wl_surface#7.frame(new id wl_callback#20) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113610.394] -> wl_surface#7.attach(wl_buffer#4278190082, 0, 0) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113610.412] -> wl_surface#7.damage(0, 0, 1079, 1990) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113610.428] -> wl_surface#7.commit() Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113610.441] {Default Queue} -> wl_display#1.sync(new id wl_callback#21) Apr 25 09:49:27 ubuntu-phablet aa-exec[215391]: 25 Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113610.794] discarded [unknown]#21.[event 0](0 fd, 12 byte) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113610.828] {Display Queue} wl_display#1.delete_id(21) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113624.409] {Display Queue} wl_display#1.delete_id(15) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113624.481] {Display Queue} wl_display#1.delete_id(20) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113624.495] wl_callback#15.done(0) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113624.628] -> wl_surface#7.frame(new id wl_callback#15) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113690.286] wl_callback#20.done(0) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113690.349] wl_buffer#4278190082.release() Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113694.435] -> wl_surface#7.frame(new id wl_callback#20) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113694.480] -> wl_surface#7.attach(wl_buffer#4278190081, 0, 0) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113694.492] -> wl_surface#7.damage(0, 0, 1079, 1990) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113694.736] -> wl_surface#7.commit() Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113694.751] {Default Queue} -> wl_display#1.sync(new id wl_callback#21) Apr 25 09:49:27 ubuntu-phablet aa-exec[215391]: 84 Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113695.502] discarded [unknown]#21.[event 0](0 fd, 12 byte) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113695.529] {Display Queue} wl_display#1.delete_id(21) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113696.162] {Display Queue} wl_display#1.delete_id(15) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113696.186] {Display Queue} wl_display#1.delete_id(20) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113696.192] wl_callback#15.done(0) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113703.601] -> wl_surface#7.frame(new id wl_callback#15) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113717.296] wl_callback#20.done(0) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113717.353] wl_buffer#4278190081.release() Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113722.912] -> wl_surface#7.frame(new id wl_callback#20) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113722.966] -> wl_surface#7.attach(wl_buffer#4278190082, 0, 0) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113722.976] -> wl_surface#7.damage(0, 0, 1079, 1990) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113722.983] -> wl_surface#7.commit() Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113722.989] {Default Queue} -> wl_display#1.sync(new id wl_callback#21) Apr 25 09:49:27 ubuntu-phablet aa-exec[215391]: 28 Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113723.756] discarded [unknown]#21.[event 0](0 fd, 12 byte) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113723.852] {Display Queue} wl_display#1.delete_id(21) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113724.715] {Display Queue} wl_display#1.delete_id(15) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113724.765] {Display Queue} wl_display#1.delete_id(20) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113724.777] wl_callback#15.done(0) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113737.546] -> wl_surface#7.frame(new id wl_callback#15) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113752.609] wl_callback#20.done(0) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113752.693] wl_buffer#4278190082.release() Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113758.298] -> wl_surface#7.frame(new id wl_callback#20) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113758.358] -> wl_surface#7.attach(wl_buffer#4278190081, 0, 0) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113758.376] -> wl_surface#7.damage(0, 0, 1079, 1990) Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113758.390] -> wl_surface#7.commit() Apr 25 09:49:27 ubuntu-phablet aa-exec[215410]: [ 113758.403] {Default Queue} -> wl_display#1.sync(new id wl_callback#21) Apr 25 09:49:27 ubuntu-phablet aa-exec[215391]: 35 From dev.beidl at gmail.com Fri Apr 26 23:42:58 2024 From: dev.beidl at gmail.com (Alfred Neumayer) Date: Sat, 27 Apr 2024 08:42:58 +0200 Subject: [wpe-webkit] WPE WebKit on libhybris drivers In-Reply-To: References: Message-ID: Hello again. I narrowed down the problem and it has to do with the frame compleition handler getting called at a 30Hz refresh rate rather than 60fps. Something is delaying the presentation of the client's new frame by a whole frame. No idea why but I circumvented lags by letting the WebProcess and the host spin independently from each other, plus disabled a codepath that SIGABRTed when that happens. History shows this might not be something you are willing to take as is or only in a configurable way, but it allows for 60fps WebGL contents to stay smooth without much of an issue, and even without any custom copy of wayland-android.xml. Here are the two commits in my own forks that enable this: https://github.com/fredldotme/WebKit/commit/83bf9df4908f68f11ab33bf95c8f36d866459242 https://github.com/fredldotme/WPEBackend-fdo/commit/fcad89823888f91eb701341d9b489506b58c83ce It doesn't change the API but merely the behavior in a slight way. The way it is handled now doesn't follow what Wayland allows for, ie clients spinning independently and causing frame completion to be signalled with eglSwapBuffers but with a signalling concept around it instead. Any idea on how to get this upstreamed so that patches can be reduced would be appreciated. Am Do., 25. Apr. 2024 um 11:46 Uhr schrieb Alfred Neumayer : > > I have proceeded to implement hybris buffer support into > WPEBackend-fdo itself, ensuring that buffers are passed using the > optimal way of operation using existing exportable-fdo-egl interfaces: > > https://github.com/fredldotme/WPEBackend-fdo/tree/hybris > > I plan to upstream this after verifying functionality and cleanup, as > long as I don't get immediate refusal (if you dislike anything > strongly about this branch, please let me know ASAP). > > I have been able to verify using WAYLAND_DEBUG=1 and some tracing > output that initial EGLImage creation is happening, but after the > first 4 buffers or so passed no further use of my newly implemented > interfaces is getting used in tandem with WPEWebKit. > > Attached a short gist of the Wayland debug output for completeness. > > Am Di., 23. Apr. 2024 um 09:25 Uhr schrieb Alfred Neumayer > : > > > > Hello, > > > > I am working on integrating WPE WebKit as a new browser for Ubuntu > > Touch, the smart phone OS (which isn't dead but maintained by > > community members) using libhybris drivers. > > > > In a nutshell libhybris wraps GLESv2 and EGL for Android into glibc > > libraries + some Wayland listeners for passing those buffers between a > > client and a server. Right now this allows for working WPE WebKit with > > the WPEQtView (since UT uses QML for UI mostly) but at the cost of > > performance. > > > > Something causes the frame completion handler in the WPEQtViewBackend > > to get called at roughly 30fps, which isn't ideal and I have ruled > > out: > > > > - OpenGL ES not getting used > > - Buffer passing between the UIProcess and the WebProcess not working > > - DisplayVBlank timer stalling redraws > > > > to be the causes, so I am wondering how to approach the debugging of > > this issue further. > > > > What I have noticed is that opening webkit://gpu allows smooth > > scrolling until the first few frames have finished drawing, so roughly > > the first half of a second is considerably fluid. > > > > I really would like to reach the fluidity of recent WebKitGTK. :) > > > > Thank you.