[Webkit-unassigned] [Bug 186771] [WPE]: Add a way to setup our development environment inside flatpak

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Wed Jun 20 15:33:14 PDT 2018


https://bugs.webkit.org/show_bug.cgi?id=186771

--- Comment #13 from Carlos Alberto Lopez Perez <clopez at igalia.com> ---
Comment on attachment 343181
  --> https://bugs.webkit.org/attachment.cgi?id=343181
Patch.

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

> Tools/Scripts/run-gtk-tests:133
> +    flatpakutils.run_in_sandbox_if_available(sys.argv)
> +    if not flatpakutils.is_sandboxed() and not jhbuildutils.enter_jhbuild_environment_if_available("gtk"):
>          print "***"
>          print "*** Warning: jhbuild environment not present. Run update-webkitgtk-libs before build-webkit to ensure proper testing."
>          print "***"

I think this message can be improved. We are telling the user to just use the jhbuild option without also telling about the possibility of using flatpak instead

> Tools/Scripts/run-webdriver-tests:81
> +        if not jhbuildutils.enter_jhbuild_environment_if_available(port.name()):
> +            print '***'
> +            print '*** Warning: jhbuild environment not present. Run update-webkitgtk-libs before build-webkit to ensure proper testing.'
> +            print '***'

ditto

> Tools/Scripts/run-wpe-tests:55
> +    flatpakutils.run_in_sandbox_if_available(sys.argv)
> +    if not flatpakutils.is_sandboxed() and not jhbuildutils.enter_jhbuild_environment_if_available("wpe"):
>          print "***"
>          print "*** Warning: jhbuild environment not present. Run update-webkitgtk-libs before build-webkit to ensure proper testing."
>          print "***"

ditto

> Tools/flatpak/flatpakutils.py:36
> +try:
> +    import yaml
> +except ImportError:
> +    sys.stderr.write("PyYaml not found, please install it before continuing\n")
> +    sys.exit(1)

I this is not necessary.
The standard python import error is already verbose enough for the user/dev to know he misses such dep in her environment.

> Tools/flatpak/org.webkit.GTK.yaml:50
> +- name: xvfb
> +  sources:
> +    - type: git
> +      url: https://anongit.freedesktop.org/git/xorg/xserver.git
> +      branch: xorg-server-1.19.6
> +    - type: patch
> +      path: patches/xvfb-0001-HACK-Avoid-compiling-a-kbm-file.patch
> +  config-opts:
> +    - --enable-xvfb
> +    - --disable-xwayland

Currently a very important part of the WebKitGTK+ tests is the Mesa software-only renderer which is installed in a different path (softGL preffix inside JHBuild).
That works as follows:
1. The JHBuild tooling builds an special version of Mesa that only enables a software-based llvmpipe software rasterizer as OpenGL (glx and egl) library. But it installs it in a special path (${jhbuild_bindir}/softGL)
2. The test suite automatically loads the llvmpipe software rendererer (by adding ${jhbuild_bindir}/softGL to LD_LIBRARY_PATH) when running layout tests, but not when running the MiniBrowser.
The idea is that when running layout tests with --display-server=xvfb (the default) or with --display-server=weston the llvmpipe swrast mesa renderer is used. This allows layout tests with WebKitGTK+ to work on machines/containers without a GPU. And it also allows results to be consistent no matter what kind of GPU drivers (or even no GPU) the user has.
3. However when running the MiniBrowser or when running layout tests with --display-server=xorg or --display-server=wayland this path is not set to LD_LIBRARY_PATH, so it runs with the system's real opengl libraries.

This functionality should be preserved with flatpak as well for WebKitGTK+.
For WPE this doesn't matter as its not possible currenlty to run WPE tests without a real GPU.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.webkit.org/pipermail/webkit-unassigned/attachments/20180620/13b695f2/attachment.html>


More information about the webkit-unassigned mailing list