Sorry, you need to enable JavaScript to visit this website.
Home / Intel® Graphics for Linux* / Programmer's Reference Manuals / Intel® Graphics for Linux* - Reproducing Patchwork Test Results

Reproducing Patchwork Test Results

Published by:
Last modification:
Apr 03, 2017


Reproducing CI_Patchwork resultS


Steps for recreating the CI_Patchwork results:

  • The base system for any CI-participating machine is Ubuntu* 16.04 with apt-get updates applied. Intel GPU Tools (IGT) / piglit needs full control of GPU, so it is better to boot straight to textmode instead of dropping from init 5 to init 3 as GPU state might already been altered.

  • Start pulling drm-tip and reset it to given commit in Patchwork result. If the exact commit is missing, the commit message and date might help, but as explained later, the full history of drm-tip might not be there.

  • Apply the patch series on top of the kernel source.

  • Compile and install kernel as usual. The debug-kernel.config can be fetched from

  • Boot the testhost to textmode with the new kernel.


For one run, change to IGT install directory and run

# ./scripts/ -s -T ./tests/intel-ci/fast-feedback.testlist

Results will be in ./results/results.json.bz2 and ./results/html/


To keep results.json files named appropriately, piglit is run with

# sudo IGT_TEST_ROOT="${IGT_PATH}/tests" "${IGT_PATH}/piglit/piglit" \

run igt "${LOGDIR}" -l verbose -s --test-list "${IGT_PATH}/tests/intel-ci/fast-feedback.testlist -n "$(hostname)@${ARCHIVE_NAME}@$RUN"


Logic of CI_DRM and CI_Patchwork runs

  • The CI scheduler in Intel Open Source Technology lab is Jenkins. This might explain the monotonically increasing job numbers of CI_DRM and CI_Patchwork

  • CI_cronjob runs regularly, and checks if there are new commits at drm-tip.  

    • If there are, run CI_DRM which pulls and compiles new kernel which will also act as a source base for following Patchwork compiles.

      • ​It will then run the kernel through IGT tests and post results to email.

    • If there aren't any new commits, check if there is new Patchwork series since last check, and try to make sure that it's meant for kernel tree.  Compile, run through IGT tests and post results through Patchwork API.

IGT is kept up-to-date from git repository. libdrm, libunwind and cairo are needed for the compilation. Note that piglit compile is not needed if no piglit tests are run, just the scripts.

Problem with drm-tip is that its history changes.  Jenkins-compiled CI_DRM or CI_Patchwork kernels are tagged in tree for later bisect or recompile, but the exact commit might be lost in the official tree. This is known issue, but the nature of drm-tip is decidedly volatile.


Source references

Additional information on the i915 CI system can be found here:

IGT relies on the following:



Plain text icon debug-kernel.txt96.46 KB

Was this information helpful?