From owner-freebsd-x11@freebsd.org Mon Dec 28 22:56:03 2015 Return-Path: Delivered-To: freebsd-x11@mailman.ysv.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) by mailman.ysv.freebsd.org (Postfix) with ESMTP id 75B4FA54C7B for ; Mon, 28 Dec 2015 22:56:03 +0000 (UTC) (envelope-from dumbbell@FreeBSD.org) Received: from mail.made4.biz (mail.made4.biz [IPv6:2001:41d0:2:c018::1:3]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 3B1D81E16 for ; Mon, 28 Dec 2015 22:56:03 +0000 (UTC) (envelope-from dumbbell@FreeBSD.org) Received: from 141.7.19.93.rev.sfr.net ([93.19.7.141] helo=magellan.dumbbell.fr) by mail.made4.biz with esmtpsa (TLSv1.2:ECDHE-RSA-AES128-GCM-SHA256:128) (Exim 4.86 (FreeBSD)) (envelope-from ) id 1aDght-000CYy-H6 for freebsd-x11@freebsd.org; Mon, 28 Dec 2015 23:56:01 +0100 Subject: Re: Contributing to the kernel video drivers To: freebsd-x11@freebsd.org References: <5681731A.5090909@FreeBSD.org> <31762a600a9109918e1eb44b431b2012@mail.yourbox.net> From: =?UTF-8?Q?Jean-S=c3=a9bastien_P=c3=a9dron?= X-Enigmail-Draft-Status: N1110 Message-ID: <5681BDFC.60709@FreeBSD.org> Date: Mon, 28 Dec 2015 23:55:56 +0100 User-Agent: Mozilla/5.0 (X11; FreeBSD amd64; rv:38.0) Gecko/20100101 Thunderbird/38.4.0 MIME-Version: 1.0 In-Reply-To: <31762a600a9109918e1eb44b431b2012@mail.yourbox.net> Content-Type: multipart/signed; micalg=pgp-sha512; protocol="application/pgp-signature"; boundary="FQVJunD4AjLCcbpsFT5x9jtXi8g1JQkmr" X-BeenThere: freebsd-x11@freebsd.org X-Mailman-Version: 2.1.20 Precedence: list List-Id: X11 on FreeBSD -- maintaining and support List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 28 Dec 2015 22:56:03 -0000 This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --FQVJunD4AjLCcbpsFT5x9jtXi8g1JQkmr Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable On 28/12/2015 22:54, Jos=C3=A9 P=C3=A9rez wrote: > Now, coming to the suggested commit-by-commit approach, I would like > to draw your attention to the fact that recent hardware is only > supported on latest versions of the drivers. If we want to have > anything usable we shall give the word FreeBSD for recent hardware. > Why don't we just pull in Linux 4.5? That is something we should decide during this discussion. Big jumps are dangerous because the difference between the current code and the new code is large. Therefore, it's difficult to better understand the actual changes and difficult to review. Furthermore, it will take time to reach completion and nothing is usable before it's completed. Thus there is the risk of burn out for contributors. Going from one version to the next instead is easier and takes less time. Thus we see commits to HEAD more often and it's a good motivation and a good image for end users. The downsides are it probably takes more time to reach the last version compared to a direct big jump, and contributors are mainly interested by the GPU they own (which is logical). So people owning the very latest hardware won't contribute before the support for their computer is being worked on. And others may stop to contribute once their GPU is supported. So I'm not sure what is the best path. I tend to prefer the one Linux version at a time, but I'm open to suggestions. We could also try both if enough people are interested in: a team works on 3.9, another team on 4.3. > Am I the only one with the impression that FreeBSD is so way behind > just because of this approach? Currently, we don't have a real method, we mainly lacked dedicated maintainer(s). I'm the only one working on Radeon and took on i915 recently. As I'm doing this on my spare time, progress is slow and we have a lot to catch. What took time here is that our DRM didn't match a particular version of Linux, so it was difficult to bring patches. That's why I went with the file-by-file approach. I think it worked well, but this is costly. > Maybe we can speed up the import-from-linux task via some scripts > that do automatically some basic stuff, such as sed > 's/printk/DRM_ERROR/g' or adding i2c includes or changing the return > sign of some functions. Any comment on this idea? The Linux shim should handle most of this. If sed would work, then a wrapper will work too. Then, for things where we can't add a wrapper, like I=C2=B2C or calls in = the VM, it must be changed manually because the code must be studied first. --=20 Jean-S=C3=A9bastien P=C3=A9dron --FQVJunD4AjLCcbpsFT5x9jtXi8g1JQkmr Content-Type: application/pgp-signature; name="signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="signature.asc" -----BEGIN PGP SIGNATURE----- Version: GnuPG v2 iQJ8BAEBCgBmBQJWgb38XxSAAAAAAC4AKGlzc3Vlci1mcHJAbm90YXRpb25zLm9w ZW5wZ3AuZmlmdGhob3JzZW1hbi5uZXQ2NzA4N0ZEMUFFQUUwRTEyREJDNkE2RjAz OUU5OTc2MUE1RkQ5NENDAAoJEDnpl2Gl/ZTMSfsQALOlGOnjIIVXfYkvClsONrM1 Mt55tbracqZp1wGj17sbLvY+X+C7KLVK0vWhizJlSqkauPAqsEa6XA0/zvcS/YkP SXE7xIEifSCPsu9hmXILVnF6h5P1ACEUdqLh4R/n+/NBmnSST9wWvxReFEOI0fLC Iq5ayMtjnWnQO+JwyjWb3/EhiBteEcq+l5dvVU9hQDZz4EoUhirJc4cZMbJWqVCs 82jd4kbrCIqr74A9yyrYg4flrNRJJ9AYwjx6PqSg++uvHuBVBIP9X0YrVahSUvlT NcIn27IIjKvtntKiHStMMRDnTVN6mgMxjiLgWYWtdIRXnCH7WhG92oKwsU4zWXBr x3+kXXsY9RNAL12Yk13ylr2s+PqhI0T2Nm77M/86QNqRSXCiClpE/JoNsrNrzaO3 f7KGLnBJ3IAl4TpE3er3PM7bU7iuDgd43viijvmonL7rEcnsVYDkY8LU3Nir5GMI TIgO1uhDO58sVtAd+EPjm4WgReuF5h4c/FCPTYg975fMugAyU5GRiZhgVmUeoM2r iHdWsRKsYaUGA7NtIzplna88LR0xVMgYl2IlRGRNgOoZm0Byr+WvdeSNnI3hsBpf d3YKnfzHrupGHOqZhDqT5lH7EL/4ILWo8ZZudmSZahvNaqdTvGbLyW0sFmM+Z+07 +KuL84h0HPXE2dNfrSPL =KqYk -----END PGP SIGNATURE----- --FQVJunD4AjLCcbpsFT5x9jtXi8g1JQkmr--