From df4effe6c4cbe731d97fc5958856d38c5bcd2939 Mon Sep 17 00:00:00 2001 From: Deborah Brouwer Date: Thu, 27 Nov 2025 10:34:15 -0800 Subject: [PATCH 1/3] Update Tyr Info Now that Tyr is upstream, the process for contributing has changed. Update the documentation about the development process to help new contributors. Also, while here, update progress in the downstream driver. Signed-off-by: Deborah Brouwer --- src/Tyr-GPU-Driver.md | 28 ++++++++++++++-------------- 1 file changed, 14 insertions(+), 14 deletions(-) diff --git a/src/Tyr-GPU-Driver.md b/src/Tyr-GPU-Driver.md index 47785fe..e8de9a5 100644 --- a/src/Tyr-GPU-Driver.md +++ b/src/Tyr-GPU-Driver.md @@ -16,10 +16,14 @@ ecosystem. It will probably take a couple of years for Tyr to fully pick up. ## Where is Tyr developed? -The development of Tyr takes place both upstream, through our [latest -submission](https://lore.kernel.org/rust-for-linux/20250627-tyr-v1-1-cb5f4c6ced46@collabora.com/) -— and downstream, on the `tyr-next` branch at the [Panfrost Gitlab -repository](https://gitlab.freedesktop.org/panfrost/linux). +Tyr is developed both upstream and downstream: + +### Upstream +The initial skeleton of the Tyr driver is now upstream. Submissions against the upstream Tyr driver should go to the [rust-for-linux](https://lore.kernel.org/rust-for-linux/) mailing list. If the submission is larger and/or needs to be pre-reviewed, open a merge request against the [tyr-for-upstream](https://gitlab.freedesktop.org/panfrost/linux/-/tree/tyr-for-upstream) branch in the [panfrost/linux](https://gitlab.freedesktop.org/panfrost/linux) repository. + + +### Downstream +A more complete implementation of the Tyr driver is also available in the [tyr-dev](https://gitlab.freedesktop.org/panfrost/linux/-/tree/tyr-dev) branch. Make submissions against the downstream Tyr driver by opening a merge request against `tyr-dev`. It's expected that `tyr-dev` will be significantly refactored before upstreaming. This split is unfortunately necessary as we do not have the required infrastructure in upstream yet, although our plan is to eventually migrate to @@ -41,7 +45,7 @@ functional driver with the abstractions that are currently being proposed. ## What is the current status of the driver? -The current upstream submission can power up the GPU and probe the device on an +The current upstream driver can power up the GPU and probe the device on an RK3588 system-on-chip. This lets us read a few sections of ROM in the GPU, which in turn lets us provide this information to userspace by means of a `DRM_IOCTL_PANTHOR_DEV_QUERY` call. @@ -49,12 +53,7 @@ which in turn lets us provide this information to userspace by means of a This is all that can be done for now in upstream code, at least until the Micro Controller Unit can be made to work. -Our downstream branch (`tyr-next`) can submit small parcels of work to the GPU, -and we will soon be able to submit more elaborate workflows. We hope to see -[VkCube](https://github.com/KhronosGroup/Vulkan-Tools) running on Tyr soon. - -In any case, there is no power management and little error recovery. We will be -working on that in the coming months. +Our downstream branch (`tyr-dev`) provides a full, working prototype that can run GNOME, Weston, and full-screen 3D games like SuperTuxKart: see [Racing karts on a Rust GPU kernel driver](https://www.collabora.com/news-and-blog/news-and-events/racing-karts-on-a-rust-gpu-kernel-driver.html). ## Can I try it out? @@ -65,7 +64,7 @@ replacing Panthor yet. A good candidate device is Radxa's A good starting point is to run our [IGT tests](https://gitlab.freedesktop.org/dwlsalmeida/igt-gpu-tools/-/tree/panthor?ref_type=heads). While only a subset of the tests pass on the upstream code for the reasons -highlighted above, they should all pass if run on `tyr-next`. +highlighted above, they should all pass if run on `tyr-dev`. Note that Mali GPUs are found in a vast array of devices, and that we will support more hardware as we progress in the implementation. @@ -78,7 +77,8 @@ board](https://gitlab.freedesktop.org/panfrost/linux/-/issues/?label_name%5B%5D= We will be posting good starting tasks at a future point. To work on any given task, assign it to yourself and follow up with a merge -request against `tyr-next`. Please also write the IGT tests needed to ensure that -your code works. +request against `tyr-for-upstream` (for patches targeting the upstream driver) or `tyr-dev` (for work in the downstream staging branch). + +Please also write the IGT tests needed to ensure that your code works. Happy hacking! From 6e8738da77c2414506cd1a5fda2f482583fdd3e8 Mon Sep 17 00:00:00 2001 From: deborahbrouwer Date: Thu, 27 Nov 2025 11:23:13 -0800 Subject: [PATCH 2/3] Update src/Tyr-GPU-Driver.md Co-authored-by: Miguel Ojeda --- src/Tyr-GPU-Driver.md | 22 +++++++++++++++++----- 1 file changed, 17 insertions(+), 5 deletions(-) diff --git a/src/Tyr-GPU-Driver.md b/src/Tyr-GPU-Driver.md index e8de9a5..f79a07f 100644 --- a/src/Tyr-GPU-Driver.md +++ b/src/Tyr-GPU-Driver.md @@ -16,14 +16,25 @@ ecosystem. It will probably take a couple of years for Tyr to fully pick up. ## Where is Tyr developed? -Tyr is developed both upstream and downstream: +Tyr is developed both upstream and downstream. ### Upstream -The initial skeleton of the Tyr driver is now upstream. Submissions against the upstream Tyr driver should go to the [rust-for-linux](https://lore.kernel.org/rust-for-linux/) mailing list. If the submission is larger and/or needs to be pre-reviewed, open a merge request against the [tyr-for-upstream](https://gitlab.freedesktop.org/panfrost/linux/-/tree/tyr-for-upstream) branch in the [panfrost/linux](https://gitlab.freedesktop.org/panfrost/linux) repository. - +The initial skeleton of the Tyr driver is now [upstream](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/gpu/drm/tyr). Submissions against +the upstream Tyr driver should go to the [`dri-devel`](https://lore.kernel.org/dri-devel/) +and [`rust-for-linux`](https://lore.kernel.org/rust-for-linux/) mailing lists. If the +submission is larger and/or needs to be pre-reviewed, open a merge request +against the +[`tyr-for-upstream`](https://gitlab.freedesktop.org/panfrost/linux/-/tree/tyr-for-upstream) +branch in the [`panfrost/linux`](https://gitlab.freedesktop.org/panfrost/linux) +repository. ### Downstream -A more complete implementation of the Tyr driver is also available in the [tyr-dev](https://gitlab.freedesktop.org/panfrost/linux/-/tree/tyr-dev) branch. Make submissions against the downstream Tyr driver by opening a merge request against `tyr-dev`. It's expected that `tyr-dev` will be significantly refactored before upstreaming. + +A more complete implementation of the Tyr driver is also available in the +[`tyr-dev`](https://gitlab.freedesktop.org/panfrost/linux/-/tree/tyr-dev) branch. +Make submissions against the downstream Tyr driver by opening a merge request +against `tyr-dev`. It's expected that `tyr-dev` will be significantly +refactored before upstreaming. This split is unfortunately necessary as we do not have the required infrastructure in upstream yet, although our plan is to eventually migrate to @@ -77,7 +88,8 @@ board](https://gitlab.freedesktop.org/panfrost/linux/-/issues/?label_name%5B%5D= We will be posting good starting tasks at a future point. To work on any given task, assign it to yourself and follow up with a merge -request against `tyr-for-upstream` (for patches targeting the upstream driver) or `tyr-dev` (for work in the downstream staging branch). +request against `tyr-for-upstream` (for patches targeting the upstream driver) +or `tyr-dev` (for work in the downstream staging branch). Please also write the IGT tests needed to ensure that your code works. From 57d2c6da21b0d1d2f916cbb51e35509f5197efc1 Mon Sep 17 00:00:00 2001 From: Deborah Brouwer Date: Wed, 3 Dec 2025 09:22:28 -0800 Subject: [PATCH 3/3] Tyr: Update IGT test link Signed-off-by: Deborah Brouwer --- src/Tyr-GPU-Driver.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/Tyr-GPU-Driver.md b/src/Tyr-GPU-Driver.md index f79a07f..abcb2da 100644 --- a/src/Tyr-GPU-Driver.md +++ b/src/Tyr-GPU-Driver.md @@ -19,6 +19,7 @@ ecosystem. It will probably take a couple of years for Tyr to fully pick up. Tyr is developed both upstream and downstream. ### Upstream + The initial skeleton of the Tyr driver is now [upstream](https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/gpu/drm/tyr). Submissions against the upstream Tyr driver should go to the [`dri-devel`](https://lore.kernel.org/dri-devel/) and [`rust-for-linux`](https://lore.kernel.org/rust-for-linux/) mailing lists. If the @@ -72,8 +73,8 @@ Anyone with a RK3588 SoC can test Tyr, but the driver is not capable of replacing Panthor yet. A good candidate device is Radxa's [ROCK 5B](https://radxa.com/products/rock5/5b/) Single Board Computer. -A good starting point is to run our [IGT -tests](https://gitlab.freedesktop.org/dwlsalmeida/igt-gpu-tools/-/tree/panthor?ref_type=heads). +A good starting point is to use the Tyr driver to run the Panthor [IGT +tests](https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/tree/master/tests/panthor). While only a subset of the tests pass on the upstream code for the reasons highlighted above, they should all pass if run on `tyr-dev`.