From nobody Fri Mar 31 09:28:43 2023 X-Original-To: dev-commits-doc-all@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4Pnw2g4yn1z42ClW for ; Fri, 31 Mar 2023 09:28:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4Pnw2g4SKFz3CnL; Fri, 31 Mar 2023 09:28:43 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1680254923; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dOT5ClYf3f8jMkQ90OdOOA+/0Xnui8cwP/9o93Kci+M=; b=DxaMtjsltQP1mphadQW7r4eop/vVqxc0SXMP2hjaIiEUJvi5sOVhjjRTHKt1kqhUM/VXyk yDOqywjj7Wd4+u/PbtJ4NVK9ekzabQyGK2tgRTgfre44iZu8YuKd+4tB2HNZI/eVicFVXU 5+CLSYcnRsi+I0DT3+hGjqPMZBxOCCQH49wIRs25ZIW4KPA/py4uRK6Wr9G5QeC0MwM4Yu n55jPAKleQdiDG5RRRYcSA5/VxUG8nmTUpSCKOfA4geJKenUN1kJJg0Xk0FaOCYgJrWMTQ 4yiwNDMkkE+Da9jnJhn15Hulx93mVMG6kuxSw/9nrKWDQ5s9KzByaTeg5l+gxQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1680254923; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=dOT5ClYf3f8jMkQ90OdOOA+/0Xnui8cwP/9o93Kci+M=; b=X5bGHh9KlhEXiJ3kBZy4fwKjcpPgAp7mDrpWOBMGdZpKZ7XbunN8UU6jZIoo/87ZaY7zb0 e8fRvMpp19m/ER6ZRxT3kHoQGnmLpQoiQ3wlFKwKDlYIMT+FVjldXXDJeyhJ08oCiXcHaZ 93KQlAwvKx54kSxbsMFazjiP7zjzv3ifV5Rn2Mxd4dFwqU3F/mcWKJ4hvL5W71ntbk5NZD Q5D+LuxYt0SIgsTgYy+ZCxo13FkOdjGyYAUMUxJATjaCUVI3802hDiB3dEsNiB+PlqMaMc k9JL4ufZDgMs31aCJ8TJhd3UWkc7jbTMMyFe8PSTrIjx5zm/o4NEIvJichq+Bg== ARC-Authentication-Results: i=1; mx1.freebsd.org; none ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1680254923; a=rsa-sha256; cv=none; b=x6aKs96s6IGiSIl9TK/3ZfNyU97jppjlNCG4vQbjAPR8207I7w8rzC22IEMkekJOha3y3e rpgYnHgkRg4wW5iDnV77Y6xWWOhiRe2lT2i10o1uXIZBMRmDKjbIqRmR8laSmz08OqFqst aALXzFApGN0WjTzC190ilLC0yEV6DdzO15ufk4QVM8WumbrZ2RgVN2jrBjRLVctvy3Hixs KrSLkSMFa9B0BNfCO11wzAsq2wsU+LWj3o3q3qzB0VlaIJkaUh44nEV1cjsPHKYQt4Nf/e ztbs/zjndAd+KeOhdgi+I/vlrQBygti5s85epcysgwxA1rXYQh6p4vclEywAKA== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4Pnw2g3WyNzpPJ; Fri, 31 Mar 2023 09:28:43 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 32V9Sh4c040659; Fri, 31 Mar 2023 09:28:43 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 32V9ShS5040658; Fri, 31 Mar 2023 09:28:43 GMT (envelope-from git) Date: Fri, 31 Mar 2023 09:28:43 GMT Message-Id: <202303310928.32V9ShS5040658@gitrepo.freebsd.org> To: doc-committers@FreeBSD.org, dev-commits-doc-all@FreeBSD.org From: Lorenzo Salvadore Subject: git: a57997251c - main - Status/2023Q1/drm-drivers.adoc: Add report List-Id: Commit messages for all branches of the doc repository List-Archive: https://lists.freebsd.org/archives/dev-commits-doc-all List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-doc-all@freebsd.org X-BeenThere: dev-commits-doc-all@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: salvadore X-Git-Repository: doc X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: a57997251ce65fefdc6b087ad7fe5b3f8a183ff8 Auto-Submitted: auto-generated X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by salvadore: URL: https://cgit.FreeBSD.org/doc/commit/?id=a57997251ce65fefdc6b087ad7fe5b3f8a183ff8 commit a57997251ce65fefdc6b087ad7fe5b3f8a183ff8 Author: Jean-Sébastien Pédron AuthorDate: 2023-03-27 21:26:38 +0000 Commit: Lorenzo Salvadore CommitDate: 2023-03-31 09:28:43 +0000 Status/2023Q1/drm-drivers.adoc: Add report V2: Addressing feeback from @evadot, @cperciva and @pauamma: * Fix several typos. * Add link to the vt(4) man page. * Mention the firmware update and newer AMD GPUs support. * Add x11@ to the contacts list. V3: Address more feedback from @pauamma and @lsalvadore: * Links to packages * More links to the vt(4) man page. V4: Clarify that Intel 12th gen support is there but might be unstable. Also address feedback from @dbaio about misrendered bullet lists. Reviewed by: status (Pau Amma ) Approved by: dbaio (co-mentor) Pull Request: https://github.com/freebsd/freebsd-doc/pull/142 --- .../status/report-2023-01-2023-03/drm-drivers.adoc | 50 ++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/website/content/en/status/report-2023-01-2023-03/drm-drivers.adoc b/website/content/en/status/report-2023-01-2023-03/drm-drivers.adoc new file mode 100644 index 0000000000..62f2570c04 --- /dev/null +++ b/website/content/en/status/report-2023-01-2023-03/drm-drivers.adoc @@ -0,0 +1,50 @@ +=== DRM drivers (i.e. GPU drivers) + +Links: + +link:https://github.com/freebsd/drm-kmod[Git repository on GitHub] URL: link:https://github.com/freebsd/drm-kmod[https://github.com/freebsd/drm-kmod] + + +Contact: Emmanuel Vadot + +Contact: Jean-Sébastien Pédron + +Contact: The Graphics team + +GPUs are driven by DRM drivers. +They are developed specifically for Linux using a permissive license. +Our mission is to port those drivers to FreeBSD to make sure modern GPUs are fully supported. + +We didn't publish a report to share our progress for a long time. +Therefore this status report entry will cover more than just the last quarter. + +==== Update to Linux 5.15 LTS and Linux 5.16 + +As of this status report, the package:graphics/drm-kmod[] meta port still installs the DRM drivers from Linux 5.10 (released on December 13, 2020). +This version lacks support for recent GPUs, in particular Intel 12th gen Alder Lake ones. +In the past months, we worked to update the DRM drivers to bring support for more modern AMD and Intel GPUs. + +The `drm-kmod` Git repository `master` branch was first updated to Linux 5.15 (released on October 31, 2021). +This is an LTS branch in Linux and we wanted to take advantage of that. +Thus at that point, we followed two paths: + +* A `5.15-lts` branch was created to backport all bug fixes from Linux 5.15.x patch releases. This work is now available in the `drm-515-kmod` port. +* The porting effort from subsequent Linux versions continued. The `master` branch is now at Linux 5.16 (release on January 9, 2022). + +The Intel driver from Linux 5.15 LTS supports 12th gen GPUs (Alder Lake). +It looks to work on FreeBSD but we only tested it lightly so far. +We still need more of that, that's why the package:graphics/drm-kmod[] still installs package:graphics/drm-510-kmod[] by default instead of package:graphics/drm-515-kmod[]. +But at last, FreeBSD should run as a desktop on this GPU generation and several new AMD GPUs, though problems will surely appear through real test and use. + +In the process, we updated firmwares to link:https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git[linux-firmware] 20230210. + +==== Linux 5.17 and future work + +DRM drivers from Linux 5.17 (released on March 20, 2022) were already ported but link:https://github.com/freebsd/drm-kmod/pull/236[this work still sits in its own branch]. + +There are a couple issues which block further testing and the merge into the `master` branch: + +* Our current integration with man:vt[4], the console/terminal driver, is quite far from the DRM drivers expectations which are based on Linux' fbdev KPI. Something changed in both the Intel and AMD drivers, meaning that man:vt[4] breaks with the 5.17 update. +* The initial Linux 5.17 release does not contain the fixes backported to Linux 5.15 LTS. It seems quite unstable with the Intel 12th gen GPU mentionned earlier. + +To address the issue with our man:vt[4] integration layer, we started to link:https://github.com/freebsd/drm-kmod/pull/243[write a new vt backend specifically to use the fbdev callbacks exposed by the DRM drivers]. +This backend will be provided with the DRM drivers, not the FreeBSD kernel, to make it easier to maintain it as the DRM drivers evolve. +This is still a work in progress and locking in particular is tricky to get right. + +Regarding the bad support of Intel 12th gen in the 5.17 update, bug fixes backported to Linux 5.17.x patch releases will probably not be ported as part of this work. Instead we will focus on Linux 5.18 (released on May 22, 2022) and following.