Skip to content

Commit 012250e

Browse files
deborahbrouwerojeda
authored andcommitted
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 <deborah.brouwer@collabora.com>
1 parent b926212 commit 012250e

File tree

1 file changed

+29
-16
lines changed

1 file changed

+29
-16
lines changed

src/Tyr-GPU-Driver.md

Lines changed: 29 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -16,10 +16,26 @@ ecosystem. It will probably take a couple of years for Tyr to fully pick up.
1616

1717
## Where is Tyr developed?
1818

19-
The development of Tyr takes place both upstream, through our [latest
20-
submission](https://lore.kernel.org/rust-for-linux/20250627-tyr-v1-1-cb5f4c6ced46@collabora.com/)
21-
— and downstream, on the `tyr-next` branch at the [Panfrost Gitlab
22-
repository](https://gitlab.freedesktop.org/panfrost/linux).
19+
Tyr is developed both upstream and downstream.
20+
21+
### Upstream
22+
23+
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
24+
the upstream Tyr driver should go to the [`dri-devel`](https://lore.kernel.org/dri-devel/)
25+
and [`rust-for-linux`](https://lore.kernel.org/rust-for-linux/) mailing lists. If the
26+
submission is larger and/or needs to be pre-reviewed, open a merge request
27+
against the
28+
[`tyr-for-upstream`](https://gitlab.freedesktop.org/panfrost/linux/-/tree/tyr-for-upstream)
29+
branch in the [`panfrost/linux`](https://gitlab.freedesktop.org/panfrost/linux)
30+
repository.
31+
32+
### Downstream
33+
34+
A more complete implementation of the Tyr driver is also available in the
35+
[`tyr-dev`](https://gitlab.freedesktop.org/panfrost/linux/-/tree/tyr-dev) branch.
36+
Make submissions against the downstream Tyr driver by opening a merge request
37+
against `tyr-dev`. It's expected that `tyr-dev` will be significantly
38+
refactored before upstreaming.
2339

2440
This split is unfortunately necessary as we do not have the required
2541
infrastructure in upstream yet, although our plan is to eventually migrate to
@@ -41,31 +57,26 @@ functional driver with the abstractions that are currently being proposed.
4157

4258
## What is the current status of the driver?
4359

44-
The current upstream submission can power up the GPU and probe the device on an
60+
The current upstream driver can power up the GPU and probe the device on an
4561
RK3588 system-on-chip. This lets us read a few sections of ROM in the GPU,
4662
which in turn lets us provide this information to userspace by means of a
4763
`DRM_IOCTL_PANTHOR_DEV_QUERY` call.
4864

4965
This is all that can be done for now in upstream code, at least until the Micro
5066
Controller Unit can be made to work.
5167

52-
Our downstream branch (`tyr-next`) can submit small parcels of work to the GPU,
53-
and we will soon be able to submit more elaborate workflows. We hope to see
54-
[VkCube](https://github.com/KhronosGroup/Vulkan-Tools) running on Tyr soon.
55-
56-
In any case, there is no power management and little error recovery. We will be
57-
working on that in the coming months.
68+
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).
5869

5970
## Can I try it out?
6071

6172
Anyone with a RK3588 SoC can test Tyr, but the driver is not capable of
6273
replacing Panthor yet. A good candidate device is Radxa's
6374
[ROCK 5B](https://radxa.com/products/rock5/5b/) Single Board Computer.
6475

65-
A good starting point is to run our [IGT
66-
tests](https://gitlab.freedesktop.org/dwlsalmeida/igt-gpu-tools/-/tree/panthor?ref_type=heads).
76+
A good starting point is to use the Tyr driver to run the Panthor [IGT
77+
tests](https://gitlab.freedesktop.org/drm/igt-gpu-tools/-/tree/master/tests/panthor).
6778
While only a subset of the tests pass on the upstream code for the reasons
68-
highlighted above, they should all pass if run on `tyr-next`.
79+
highlighted above, they should all pass if run on `tyr-dev`.
6980

7081
Note that Mali GPUs are found in a vast array of devices, and that we will
7182
support more hardware as we progress in the implementation.
@@ -78,7 +89,9 @@ board](https://gitlab.freedesktop.org/panfrost/linux/-/issues/?label_name%5B%5D=
7889
We will be posting good starting tasks at a future point.
7990

8091
To work on any given task, assign it to yourself and follow up with a merge
81-
request against `tyr-next`. Please also write the IGT tests needed to ensure that
82-
your code works.
92+
request against `tyr-for-upstream` (for patches targeting the upstream driver)
93+
or `tyr-dev` (for work in the downstream staging branch).
94+
95+
Please also write the IGT tests needed to ensure that your code works.
8396

8497
Happy hacking!

0 commit comments

Comments
 (0)