[Webkit-unassigned] [Bug 134070] [GTK] Load the llvmpipe (Mesa) libraries when running the tests with Xvfb

bugzilla-daemon at webkit.org bugzilla-daemon at webkit.org
Thu Jun 19 13:39:13 PDT 2014


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





--- Comment #3 from Carlos Alberto Lopez Perez <clopez at igalia.com>  2014-06-19 13:39:31 PST ---
(In reply to comment #2)
> (From update of attachment 233376 [details])
> View in context: https://bugs.webkit.org/attachment.cgi?id=233376&action=review
> 
> > Tools/Scripts/webkitpy/port/xvfbdriver.py:48
> > +        if os.path.exists(port.path_from_webkit_base('WebKitBuild', 'Dependencies')):
> > +                xvfb_found = port.host.executive.run_command(port._jhbuild_wrapper + ['which', 'Xvfb'], return_exit_code=True) is 0
> > +        else:
> > +                xvfb_found = port.host.executive.run_command(['which', 'Xvfb'], return_exit_code=True) is 0
> 
> Wouldn't it be easier to simply run Xvfb with the JHBuild wrapper? Doesn't the PATH take care of choosing the correct Xvfb?

I wasn't sure about what would happen if jhbuild is not installed and you try to run Xvfb with the wrapper, so I opted for only doing that when it is installed.

I will modify this if you think it would work ok.

> 
> > Tools/Scripts/webkitpy/port/xvfbdriver.py:58
> > +        if self._port.name().startswith("gtk") and os.path.exists(self._port.path_from_webkit_base('WebKitBuild', 'Dependencies')):
> 
> I'd really like to see this move to the port specific file somehow.
> 

The thing is that Xvfb is used by both EFL and GTK, so I don't know how to make this otherwise.

You can't preload the llvmpipe mesa libGL libraries outside of the Xvfb driver or you may break the other drivers (Xorg or Wayland).

> > Tools/Scripts/webkitpy/port/xvfbdriver.py:61
> > +                        error_handler=self._port.host.executive.ignore_error).strip()
> 
> Nit: Missing some spaces around the = sign.
> 

Ok
> > Tools/Scripts/webkitpy/port/xvfbdriver.py:99
> > +        if os.path.exists(self._port.path_from_webkit_base('WebKitBuild', 'Dependencies')):
> > +                # Run the Xvfb from the jhbuild
> > +                run_xvfb = self._port._jhbuild_wrapper + run_xvfb
> 
> We don't have any helpers for this?
> 

Helpers for what?

> > Tools/Scripts/webkitpy/port/xvfbdriver.py:107
> > +        if self._llvmpipe_libgl_path:
> > +                # Force the Gallium llvmpipe software rasterizer
> > +                environment['LD_LIBRARY_PATH'] = self._llvmpipe_libgl_path
> > +                # If there were another paths on LD_LIBRARY_PATH append them after llvmpipe_libgl_path
> > +                if os.environ.get('LD_LIBRARY_PATH'):
> > +                        environment['LD_LIBRARY_PATH'] += ':%s' % os.environ.get('LD_LIBRARY_PATH')
> > +
> 
> Can't we set this up in gtk.py? Your indentation is also a bit funky.

I think is a bad idea for the reasons explained above. The preload of mesa should only happen for the Xvfb driver and not for the others.

-- 
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.



More information about the webkit-unassigned mailing list