Releasing and testing free opensource graphics drivers: the case of Mesa3D (XDC 2018)
Channel: Igalia
Date: 2018-10-09

By Emil Velikov, Juan A. Suarez, Pierre-Loup Griffais.
Slides at https://www.slideshare.net/igalia/releasing-and-testing-free-opensource-graphics-drivers-the-case-of-mesa3d-xdc-2018

Slides at https://docs.google.com/presentation/d/1m8TyP_4ig4X0EmnPBmlfECbFNtdr6Dk0PnJMuPT-RHI/edit?usp=sharing

Mesa3D, or just Mesa, is an open source project that implements different graphic drivers from different vendors, both official and non-official: Intel, AMD, Nvidia, etc. These drivers implements both the different OpenGL/OpenGL-ES
versions, as well as the new Vulkan API. We could safely say that this is the “official” open-source library for OpenGL and Vulkan, and thus used in many of the Linux distributions and ChromeOS devices.

Being a very active project that involves different hardware vendors and different API implementations, a special careful must be taken when doing the releases: an error introduced can lead from a simple unexpected behaviour to a system freeze.

In order to reduce the risk of committing such mistakes, we, as part of the release team, follow an strict process to choose which changes will be part of next releases, that involves interacting with the community, following a strict scheduling release, performing proper testing, and so on.

Regarding the testing process, nowadays Intel kindly provides a very complete testing system that we use when doing the releases to detect regressions. But other than that there is no official/free test system.

But the recent migration of Mesa3D repository to Freedesktop’s GitLab server gives new opportunities to use the Continuous Integration that GitLab provides. In fact, we at Igalia are using an unofficial GitLab CI setup to automate the testing process, helping to detect any issues as soon as possible.

So in this talk, we will cover both the release process and the testing process we follow to ensure everything works correctly. Specifically, we will give a brief introduction about how the release process has evolved in time, explain the current procedure we follow nowadays (how patches are selected for
releases, what are the scheduling used for the releases, etc.), talk about how the test is done, with specially emphasis in the GitLab CI setup we use, and finally how the current process can be improved for the future.


X.Org Developer's Conference (XDC) 2018
26th, 27th and 28th of September
A Coruña, Spain
https://www.x.org/wiki/Events/XDC2018/