Skip to content

Commit 2eb734e

Browse files
committed
Merge pull request #52 from deborahbrouwer/tyr-update
Update Tyr Info
2 parents b926212 + 012250e commit 2eb734e

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)