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

Byung-Woo Lee bw80.lee at samsung.com
Tue Nov 13 21:11:26 PST 2012


Thank you for sharing this!

For the easy use, how about adding layout test options for this?

I made a bug to add layout test options(--mesa-3d, --no-mesa-3d) to use mesa 3D library.
  https://bugs.webkit.org/show_bug.cgi?id=102174

When '--mesa-3d' is set, LD_LIBRARY_PATH will be set as below.
  LD_LIBRARY_PATH=/usr/lib/`uname -m`-linux-gnu/mesa/

--no-mesa-3d is the default action that does not set LD_LIBRARY_PATH.

Thanks & Regards,
Byungwoo.

------- Original Message -------
Sender : 한강일<kangil.han at samsung.com> S5(책임)/책임/차세대S/W개발그룹(무선)/삼성전자
Date : 2012-11-14 13:14 (GMT+09:00)
Title : Re: [webkit-efl] How to run layout tests with ATI and NVidia drivers

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: 
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,

_______________________________________________
webkit-efl mailing list
webkit-efl at lists.webkit.org
http://lists.webkit.org/mailman/listinfo/webkit-efl


More information about the webkit-efl mailing list