1CONTRIBUTING 2============ 3 4Patches to igt-gpu-tools are very much welcome, we really want this to be the 5universal set of low-level tools and testcases for kernel graphics drivers 6on Linux and similar platforms. So please bring on porting patches, bugfixes, 7improvements for documentation and new tools and testcases. 8 9 10The Code 11-------- 12 13- The code should follow kernel coding style: 14 https://www.kernel.org/doc/html/latest/process/coding-style.html 15 16- Testcases (subtests) have to use minus signs (-) as a word separator. 17 The generated documentation contains glossary of commonly used terms. 18 19- All new test have to be described using `igt_describe()` family of 20 functions. The description should contain the spirit of the test (what is 21 the general idea behind the test) and *not* the letter (C to English 22 translation of the test). Refer to [`igt_describe()` 23 documentation][igt-describe] for more details. 24 25- The generated documentation contains explanation of magic control blocks like 26 `igt_subtest` and `igt_fixture`. Please make sure that you understand their 27 roles and limitation before using/altering them. 28 29- Also please make full use of all the helpers and convenience macros 30 provided by the igt library. The semantic patch lib/igt.cocci can help with 31 more automatic conversions. 32 33[igt-describe]: https://drm.pages.freedesktop.org/igt-gpu-tools/igt-gpu-tools-Core.html#igt-describe 34 35 36Sending Patches 37--------------- 38 39- igt-gpu-tools is MIT licensed and we require contributions to follow the 40 developer's certificate of origin: http://developercertificate.org/ 41 42- Please submit patches formatted with git send-email/git format-patch or 43 equivalent to: 44 45 Development mailing list for IGT GPU Tools <[email protected]> 46 47 For patches affecting the driver directly please "cc" the appropriate driver 48 mailing list and make sure you are using: 49 50 --subject-prefix="PATCH i-g-t" 51 52 so IGT patches are easily identified in the massive amount mails on driver's 53 mailing list. To ensure this is always done, meson.sh (and autogen.sh) will 54 run: 55 56 git config format.subjectprefix "PATCH i-g-t" 57 58 on its first invocation. 59 60- Patches need to be reviewed on the mailing list. Exceptions only apply for 61 testcases and tooling for drivers with just a single contributor (e.g. vc4). 62 In this case patches must still be submitted to the mailing list first. 63 Testcase should preferably be cross-reviewed by the same people who write and 64 review the kernel feature itself. 65 66- When patches from new contributors (without commit access) are stuck, for 67 anything related to the regular releases, issues with packaging and 68 integrating platform support or any other igt-gpu-tools issues, please 69 contact one of the maintainers (listed in the MAINTAINERS file) and cc the 70 igt-dev mailing list. 71 72- Changes to the testcases are automatically tested. Take the results into 73 account before merging. 74 75 76Commit Rights 77------------- 78 79Commit rights will be granted to anyone who requests them and fulfills the 80below criteria: 81 82- Submitted a few (5-10 as a rule of thumb) non-trivial (not just simple 83 spelling fixes and whitespace adjustment) patches that have been merged 84 already. 85 86- Are actively participating on discussions about their work (on the mailing 87 list or IRC). This should not be interpreted as a requirement to review other 88 peoples patches but just make sure that patch submission isn't one-way 89 communication. Cross-review is still highly encouraged. 90 91- Will be regularly contributing further patches. This includes regular 92 contributors to other parts of the open source graphics stack who only 93 do the oddball rare patch within igt itself. 94 95- Agrees to use their commit rights in accordance with the documented merge 96 criteria, tools, and processes. 97 98Create a gitlab account at https://gitlab.freedesktop.org/ and apply 99for access to the IGT gitlab project, 100http://gitlab.freedesktop.org/drm/igt-gpu-tools and please ping the 101maintainers if your request is stuck. 102 103Committers are encouraged to request their commit rights get removed when they 104no longer contribute to the project. Commit rights will be reinstated when they 105come back to the project. 106 107Maintainers and committers should encourage contributors to request commit 108rights, especially junior contributors tend to underestimate their skills. 109 110 111Code of Conduct 112--------------- 113 114Please be aware the fd.o Code of Conduct also applies to igt: 115 116https://www.freedesktop.org/wiki/CodeOfConduct/ 117 118See the MAINTAINERS file for contact details of the igt maintainers. 119 120Abuse of commit rights, like engaging in commit fights or willfully pushing 121patches that violate the documented merge criteria, will also be handled through 122the Code of Conduct enforcement process. 123 124Happy hacking! 125