Bug 220183

Summary: [GTK][CMake] Add a build switch USE_OPENGL_OR_ES to be able to disable OpenGL and ES
Product: WebKit Reporter: monson <holymonson>
Component: WebKitGTKAssignee: Fujii Hironori <Hironori.Fujii>
Severity: Normal CC: annulen, bugs-noreply, dino, ews-watchlist, gyuyoung.kim, Hironori.Fujii, julianaito, kbr, ryuan.choi, sergio
Priority: P2    
Version: WebKit Nightly Build   
Hardware: Unspecified   
OS: Unspecified   
See Also: https://bugs.webkit.org/show_bug.cgi?id=219916
Description Flags
it's also needed to disable USE_GSTREAMER_GL
Patch none

Description monson 2020-12-28 07:22:36 PST
In bug 219551, ENABLE_GRAPHICS_CONTEXT_GL was removed, leaving ENABLE_GLES2 only to control whether using OPENGL or GLES2. But there is a situation where we have neither of them, with the dependency-inferring removed, some webkit options (ENABLE_ASYNC_SCROLLING, USE_GSTREAMER_GL and maybe ENABLE_3D_TRANSFORMS, and of course ENABLE_WEBGL) may be broken because of lack of GL API.

We hope to bring back ENABLE_GRAPHICS_CONTEXT_GL (or in whatever name), or a mechanism of auto disabling GL-related options.

Maybe relate to bug 219916.

View in context: https://bugs.webkit.org/attachment.cgi?id=415496&action=review

> Source/cmake/OptionsGTK.cmake:-113
Comment 1 Fujii Hironori 2020-12-30 14:17:33 PST
Created attachment 416851 [details]
Comment 2 Fujii Hironori 2020-12-30 14:24:38 PST
Created attachment 416852 [details]
Comment 3 Fujii Hironori 2020-12-30 14:28:37 PST
What do you think about this patch? Could you test the patch on your platform?
Comment 4 Charlene Wendling 2020-12-31 04:48:18 PST
Created attachment 416862 [details]
it's also needed to disable USE_GSTREAMER_GL


Thanks for taking care of this!

I've tried your patch against the latest WebKit sources on OpenBSD/amd64,
the build failed because it still defines USE_GSTREAMER_GL, so there are
missing symbols. 

I'm attaching your patch with an addition; i made USE_GSTREAMER_GL depends

Then it builds properly on this platform; runtime is fine as long i don't play
videos, in such a case the web process crash with:

"WebKit wasn't able to find a WebVTT encoder. Not continuing without platform support for subtitles."

When using our package, and as such with GL enabled, the webprocess does
not crash, while displaying the same message about WebVTT. This is not a deal
breaker as far as i'm concerned, i can disable USE_VIDEO -- but i'm pretty sure
you won't have the same point of view.

I can't try on OpenBSD/macppc for the moment (that's where that new option
really matters for the OpenBSD port), but it should cause no issue.
Comment 5 Fujii Hironori 2020-12-31 12:25:17 PST
Comment on attachment 416862 [details]
it's also needed to disable USE_GSTREAMER_GL

View in context: https://bugs.webkit.org/attachment.cgi?id=416862&action=review

Thank you very much for the testing.

> Source/cmake/GStreamerDependencies.cmake:1

Hmm, this file is also used by WPE port which always uses OpenGL and doesn't have USE_OPENGL_OR_ES build switch.
Comment 6 Fujii Hironori 2020-12-31 13:31:19 PST
Created attachment 416871 [details]
Comment 7 Fujii Hironori 2021-01-02 13:24:55 PST
Hi Charlene and Monson, could you debug the video issue in another bug ticket? It seems that GTK port maintainers aren't interested in no OpenGL build configuration.
Comment 8 Fujii Hironori 2021-01-04 12:24:53 PST
If nobody is willing to maintaining the no OpenGL build configuration, WebKitGTK should remove those compilation switches.
Comment 9 monson 2021-01-06 05:33:53 PST
Comment on attachment 416871 [details]

View in context: https://bugs.webkit.org/attachment.cgi?id=416871&action=review

> Source/WebCore/platform/graphics/x11/PlatformDisplayX11.cpp:35
> +#include <X11/Xutil.h>

Looks good to me but I don't speak for this X11 line, because I'm mainly building GTK port on macos, not familiar with X11 target nor WPE port.
Comment 10 Kenneth Russell 2021-01-06 10:39:52 PST
Comment on attachment 416871 [details]

In case you still need a review, upon glance this looks fine to me - but if there are other stakeholders who aren't reviewers, please wait for their go-ahead. r+
Comment 11 Fujii Hironori 2021-01-06 16:50:50 PST
Comment on attachment 416871 [details]

Clearing flags on attachment: 416871

Committed r271220: <https://trac.webkit.org/changeset/271220>
Comment 12 Fujii Hironori 2021-01-06 16:50:55 PST
All reviewed patches have been landed.  Closing bug.