[webkit-efl] How to run layout tests with ATI and NVidia drivers

Thiago Marcos P. Santos tmpsantos at gmail.com
Tue Nov 13 11:04:12 PST 2012


tl;dr version:

LD_LIBRARY_PATH=/usr/lib/i386-linux-gnu/mesa/
./Tools/Scripts/run-webkit-tests --efl



Full version:

Some developers have been experiencing crashes when running layout
tests on computers equipped with ATI and nVidia cards. The crash
happens when evas tries to compile a shader:

STDOUT: <empty>
STDERR: ERR<4668>:evas-gl_common evas_gl_shader.c:1039
_evas_gl_common_shader_program_source_init() Abort compile of shader
vert (rect): #ifdef GL_ES
STDERR: precision highp float;
...

Full backtrace here -> http://pastie.org/pastes/5371448/text

The interesting thing is that we use Xvfb + LLVMPipe (software GL in a
short) when running the tests, so the GPU should be irrelevant: but
only in theory. I noticed that when running glxinfo inside the XVfb, I
was getting the client glx vendor string ATI. Kangil also hinted that
on his computer, after removing the nVidia drivers, he had no crashes
anymore (but X was falling back to vesa).

$ DISPLAY=:555 glxinfo |grep 'client glx vendor'
client glx vendor string: ATI

Ubuntu links with the libGL provided by the graphics card vendor by default:

$ ldd /usr/bin/glxinfo |grep libGL
libGL.so.1 => /usr/lib/fglrx/libGL.so.1 (0xb7646000)

For running the layout tests using LLVMPipe, we need to use the mesa
libGL. In order to do that, we can play some tricks with
LD_LIBRARY_PATH:

$ LD_LIBRARY_PATH=/usr/lib/i386-linux-gnu/mesa/
./Tools/Scripts/run-webkit-tests --efl

This is only needed by the layout tests script (because it spawns a
Xvfb). MiniBrowser should run normally because it will connect to your
standard Xorg instance with GPU-based GL.

Cheers,


More information about the webkit-efl mailing list