WebKit Bugzilla
New
Browse
Log In
×
Sign in with GitHub
or
Remember my login
Create Account
·
Forgot Password
Forgotten password account recovery
RESOLVED FIXED
142334
[GTK] Apps Using Webkit Under Wayland Do Not Render Pages (GNOME 3.15)
https://bugs.webkit.org/show_bug.cgi?id=142334
Summary
[GTK] Apps Using Webkit Under Wayland Do Not Render Pages (GNOME 3.15)
Antoine Saroufim
Reported
2015-03-05 03:20:47 PST
Apps running under Wayland on openSUSE Factory using GNOME 3.15 do not render pages at all. Gnome-maps would display an empty UI and Epiphany would keep loading the pages forever but wouldn't display anything. Please note that everything works fine under x11 on the same system.
Attachments
playing video ended.
(885 bytes, application/octet-stream)
2015-06-29 04:36 PDT
,
nick
no flags
Details
View All
Add attachment
proposed patch, testcase, etc.
Michael Catanzaro
Comment 1
2015-03-09 08:02:58 PDT
FWIW: WebKitGTK+ 2.6.5 works fine running under Wayland with GNOME 3.14 in Fedora. At least, it works well enough for me to post this Bugzilla comment using it! FWIW: The current plan is to use Wayland as the default session in Fedora 23 (release: November) but WebKitGTK+ is important enough to delay that if it's not working.
Zan Dobersek
Comment 2
2015-03-09 13:37:09 PDT
I can both post Bugzilla comments and reproduce the problem on maps.google.com with tip-of-tree WebKitGTK+, GTK+ 3.15.10 and Weston master.
Zan Dobersek
Comment 3
2015-03-09 13:41:45 PDT
A crash is occurring on maps.google.com. Only reproducible under Wayland. Backtrace: #0 _fill_xrgb32_lerp_opaque_spans (abstract_renderer=0x7ffcc3c5dc90, y=110, h=0, spans=0x1baee60, num_spans=8) at cairo-image-compositor.c:2249 #1 0x00007f11a15bd196 in blit_a8 (xmax=101, xmin=0, height=1, y=110, spans=0x1baee50, renderer=0x7ffcc3c5dc90, cells=<optimized out>) at cairo-tor-scan-converter.c:1635 #2 glitter_scan_converter_render (renderer=0x7ffcc3c5dc90, antialias=1, winding_mask=<optimized out>, converter=<optimized out>) at cairo-tor-scan-converter.c:1786 #3 _cairo_tor_scan_converter_generate (converter=0x19faae0, renderer=0x7ffcc3c5dc90) at cairo-tor-scan-converter.c:1849 #4 0x00007f11a15afc99 in composite_polygon (extents=extents@entry=0x7ffcc3c5f5a0, polygon=polygon@entry=0x7ffcc3c5f160, fill_rule=fill_rule@entry=CAIRO_FILL_RULE_WINDING, antialias=antialias@entry=CAIRO_ANTIALIAS_DEFAULT, compositor=0x7f11a1868780 <spans>, compositor=0x7f11a1868780 <spans>) at cairo-spans-compositor.c:801 #5 0x00007f11a15b066a in clip_and_composite_polygon (compositor=compositor@entry=0x7f11a1868780 <spans>, extents=extents@entry=0x7ffcc3c5f5a0, polygon=polygon@entry=0x7ffcc3c5f160, fill_rule=CAIRO_FILL_RULE_WINDING, antialias=antialias@entry=CAIRO_ANTIALIAS_DEFAULT) at cairo-spans-compositor.c:967 #6 0x00007f11a15b11f7 in _cairo_spans_compositor_stroke (_compositor=0x7f11a1868780 <spans>, extents=0x7ffcc3c5f5a0, path=<optimized out>, style=0x7ffcc3c5f9b0, ctm=0x7ffcc3c5f9e0, ctm_inverse=0x7ffcc3c5fa10, tolerance=0.10000000000000001, antialias=CAIRO_ANTIALIAS_DEFAULT) at cairo-spans-compositor.c:1083 #7 0x00007f11a156c1ee in _cairo_compositor_stroke (compositor=0x7f11a1868780 <spans>, surface=0x1d85000, op=CAIRO_OPERATOR_CLEAR, source=0xbe00ac, path=0xe46768, style=0x7ffcc3c5f9b0, ctm=0x7ffcc3c5f9e0, ctm_inverse=0x7ffcc3c5fa10, tolerance=-0, antialias=CAIRO_ANTIALIAS_DEFAULT, clip=0x0) at cairo-compositor.c:157 #8 0x00007f11a157d302 in _cairo_image_surface_stroke (abstract_surface=<optimized out>, op=<optimized out>, source=<optimized out>, path=<optimized out>, style=<optimized out>, ctm=<optimized out>, ctm_inverse=0x7ffcc3c5fa10, tolerance=<optimized out>, antialias=CAIRO_ANTIALIAS_DEFAULT, clip=0x0) at cairo-image-surface.c:964 #9 0x00007f11a15b4556 in _cairo_surface_stroke (surface=0xc99930, op=CAIRO_OPERATOR_OVER, source=0x7ffcc3c5fa40, path=0xe46768, stroke_style=0x7ffcc3c5f9b0, ctm=0x7ffcc3c5f9e0, ctm_inverse=0x7ffcc3c5fa10, tolerance=0.10000000000000001, antialias=CAIRO_ANTIALIAS_DEFAULT, clip=0x0) at cairo-surface.c:2270 #10 0x00007f11a157422a in _cairo_gstate_stroke (gstate=0xee, path=0x1d85000, path@entry=0xe46768) at cairo-gstate.c:1194 #11 0x00007f11a156dbc9 in _cairo_default_context_stroke (abstract_cr=0xe46400) at cairo-default-context.c:1010 #12 0x00007f11a15670b5 in INT_cairo_stroke (cr=0xee) at cairo.c:2150 #13 0x00007f11a47ce171 in WebCore::CanvasRenderingContext2D::strokeInternal(WebCore::Path const&) () from /data/webkit/git/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37 #14 0x00007f11a506529b in WebCore::jsCanvasRenderingContext2DPrototypeFunctionStroke(JSC::ExecState*) () from /data/webkit/git/WebKitBuild/Release/lib/libwebkit2gtk-4.0.so.37 #15 0x00007f118dffe1a8 in ?? () #16 0x00007ffcc3c5fdc0 in ?? () #17 0x00007f114e35a68c in ?? () #18 0x0000000000000000 in ?? ()
Zan Dobersek
Comment 4
2015-03-19 12:35:18 PDT
Somehow I can't reproduce the crash anymore. Can anyone try to confirm this? After maps.google.com is loaded, the relevant WebKitWebProcess should still be alive, and moving mouse across the window should change the cursor, indicating there's actual content there, just not displayed. As far as I've looked into this, the issue is that even under Wayland WebKitGTK+ is entering accelerated compositing mode, for which there's no support for just yet. This results in content not being displayed at all.
nick
Comment 5
2015-06-29 04:28:01 PDT
it still do not render sites like vimeo, youtube. i am able to play youtube videos but only sound, video part not seen. i attacked a log after playing finished. gtk-3.16.4 webkit-2.8.3 epiphany-3.16.1 mesa-10-6.0 everythings stock arch-linux with latest upgrade. HW: intel ivybridge (HD 4XXX)
nick
Comment 6
2015-06-29 04:36:27 PDT
Created
attachment 255743
[details]
playing video ended.
nick
Comment 7
2015-06-29 04:43:04 PDT
forgot: wayland-1.8.1 weston-1.8.0 weston is running on pure drm-backend even i deleted xwayland.so manually.
Michael Catanzaro
Comment 8
2015-07-01 08:57:31 PDT
(In reply to
comment #4
)
> As far as I've looked into this, the issue is that even under Wayland > WebKitGTK+ is entering accelerated compositing mode, for which there's no > support for just yet. This results in content not being displayed at all.
I tested this again today. When built without ENABLE_WAYLAND_TARGET, pages that trigger accelerated compositing do not load at all when running under XWayland -- that is just totally broken. But when built with ENABLE_WAYLAND_TARGET, accelerated compositing is not used and the pages work fine. So once 2.10 is out, distros can finally set ENABLE_WAYLAND_TARGET without having to disable ENABLE_X11_TARGET, thanks to Carlos Lopez, and we will be good. That was a very major problem and I'm glad it appears to be solved. I think we can simply say that accelerated compositing is not supported without ENABLE_WAYLAND_TARGET, so I will say RESOLVED FIXED. Although if it's possible to detect that we're running under XWayland and disable accelerated compositing in that case, that would be even better. (In reply to
comment #5
)
> gtk-3.16.4 webkit-2.8.3 epiphany-3.16.1 mesa-10-6.0
To be clear: if you upgrade to unstable WebKitGTK+ 2.9.3 and pass -DENABLE_WAYLAND_TARGET=ON to CMake, then this should work. Once the stable release 2.10.0 is out, please ask the Arch folks to use ENABLE_WAYLAND_TARGET to update and use ENABLE_WAYLAND_TARGET, then this should work.
Michael Catanzaro
Comment 9
2015-07-01 09:00:05 PDT
(In reply to
comment #5
)
> it still do not render sites like vimeo, youtube. > > i am able to play youtube videos but only sound, video part not seen.
I can't test this since our video playback is totally broken due to
bug #135972
, but if it's still an issue with 2.9.3 built with ENABLE_WAYLAND_TARGET, please file a new bug.
Note
You need to
log in
before you can comment on or make changes to this bug.
Top of Page
Format For Printing
XML
Clone This Bug