Home > Graphics, Linux, Testing > Piglit OpenGL Driver Testing Framework Now Works with ARM Linux & OpenGL ES

Piglit OpenGL Driver Testing Framework Now Works with ARM Linux & OpenGL ES

Piglit is a collection of automated tests for OpenGL implementations that aims at improving the quality of open source OpenGL drivers by providing developers with a simple means to perform regression tests.

ARM SoCs that come with a GPU usually (always?) supports OpenGL ES however. That’s why, Tom Gall (Linaro) has modified Piglit in order to bring this test suite to ARM Linux and OpenGL ES. There are about 6,900 OpenGL tests in Piglit, and currently 1,047 Piglit (OpenGL ES) tests can run on ARM .

Tom also explains that piglit developers are now using waffle, a cross-platform C library that allows one to defer selection of GL API and window system until runtime. This will allow your to select the variation of the GL API (GL, GL ES) and windowing system (X11, Wayland…) you want to use at runtime.

The code is still heavily modified, but it’s in the open, and you can try it yourself by following the instructions (native build) below.

  1. Get “Linaro” Piglit source code:
    git clone git://git.linaro.org/people/tomgall/piglit.git
    git checkout -b my-copy origin/gles2-all
  2. Build and install waffle
    git clone git://people.freedesktop.org/~chadversary/waffle
    cd waffle

    and follow the instructions in README.txt to complete the build and instructions

  3. Build Piglit
    ccmake .

    To turn on just the gles2 tests, press ‘c’ to configure, and ‘g’ to generate. Complete the build:

    make
  4. Run the tests and format the results for web browser display:
    ./piglit-run.py tests/all_es2.tests results/es2
    ./piglit-summary-html.py sum/es2 results/es2
  5. Point your web browser to the sum directory to display the results in tabular format.

I haven’t had time to try it myself, but the results webpage should look like that.

Linaro will continue implementing more OpenGL ES tests, and also work on having Piglit run on Android, and integrate it into LAVA automated test system.

Digg This
Reddit This
Stumble Now!
Buzz This
Vote on DZone
Share on Facebook
Bookmark this on Delicious
Kick It on DotNetKicks.com
Share on LinkedIn
Bookmark this on Technorati
Post on Twitter

  1. Rune K. Svendsen
    January 12th, 2013 at 04:11 | #1

    I can build waffle and piglit, but the tests fails because I’m building waffle without support for glx. I’m running it on a Samsung ARM Chromebook, and this doesn’t use glx, as far as I know. Does OpenGL ES use GLX? Isn’t that just for OpenGL (no ES)?

  2. January 12th, 2013 at 09:38 | #2

    @Rune K. Svendsen
    I also understand that GLX is for OpoenGL, and that you need to use EGL_DRI2 for OpenGL ES. I’m not very familiar with those GPU stuffs however.

  1. February 11th, 2013 at 10:55 | #1