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

Kangil Han kangil.han at samsung.com
Tue Nov 13 20:14:24 PST 2012


Thanks for this information!
You finally found it. ;-)

This works both on my Ubuntu 12.04 32/64 bit machines. :-)

-----Original Message-----
From: Thiago Marcos P. Santos [mailto:tmpsantos at gmail.com] 
Sent: Wednesday, November 14, 2012 4:04 AM
To: webkit-efl at lists.webkit.org
Cc: kangil.han at samsung.com
Subject: How to run layout tests with ATI and NVidia drivers

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