Lyrical Luth Test and Tutorial Party Instructions

Lyrical Luth Test and Tutorial Party Instructions

:tada: Update: Lyrical board has been updated and is live! Docs are live too. A recording of the kickoff meeting can be found here.

Hi Everyone,

As mentioned previously, we’re conducting a testing and tutorial party for the next ROS release, Lyrical Luth. If you happened to miss the kickoff of the Lyrical Luth Testing and Tutorial party this morning I have put together some written instructions that should let everyone participate, no matter their time zone. Here are the slides from the kickoff meeting.

TL;DR

We need your help to test the next ROS Distro before its release on Friday, May 22nd. We’re asking the community to pick a particular system setup, a combination of host operating system, CPU architecture, RMW vendor, and build type (source, debian, binary), and run through a set of ROS tutorials to make sure everything is working smoothly. Depending on the outcome of your tutorials, you can either close the ticket as completed or report the errors you found. If you can’t assign the ticket to yourself, leave a comment, and an admin will take care of it for you. Please do not sign up for more than one ticket at any given time. Everything you need to know about this process can be found in this Github repository.

As a thank you for your help, we’re planning to provide the top twenty contributors to the T&T party with their choice of either ROS Lyrical swag or OSRA membership. :warning: To be eligible to receive swag, you must register using this short Google Form so we can match email addresses to GitHub usernames and count the total tickets closed.:warning:

The testing and tutorial party will close on May 14, 2026, but we’re asking everyone to get started right away! We have 10,000 tickets to work through and with Lyrical’s transition to C++20, we fully anticipate that we’ll need to update a few tutorials and fix some broken source builds.

Full Instructions

We’re planning to release ROS 2 Lyrical Luth on May 22, 2026, and we need the community’s help to make sure that we’ve thoroughly tested the distro on a variety of platforms before we make the final release. What do we mean by testing? Well, lots of things, but in the context of the testing and tutorial party, we are talking about the package-level ROS unit tests and anything else you want to test. What do we mean by tutorials? We also want to make sure all our docs.ros.org tutorials are in working order before the release.

The difficulty in testing a ROS release is that people have lots of different ways they use ROS, and we can’t possibly test all of those combinations. For the testing and tutorial party we have created what we call, “a setup.” A setup is a combination of:

  • RMW vendor: FASTDDS, CYCLONEDDS, CONNEXTDDS or ZENOH
  • BuildType: binary, debian or source
  • OS: Ubuntu Resolute 26.04, Windows 11 and RHEL-10
  • Chipset: Amd64 or Arm64

If you already have a particular system setup that you work with, we suggest that you roll with that; otherwise, feel free to create a new system setup just for testing purposes. If you normally use Windows or RHEL (or binary compatible distributions to RHEL like Rocky Linux / Alma Linux) we would really appreciate your help as we don’t have a ton of internal resources to test these distributions.

Here are the steps for participating in the testing and tutorial party:

  • Before you begin please fill out the Google form so we have your contact information We can’t send you swag if we don’t have both your email address and your Github user name.
  • First go to the Tutorial Party Github repo (bit.ly/LyricalBoard) and read the README.md.
  • Figure out your setup!
  • Once you’ve got your “setup” all figured out take a look at the you can use the bottom of the Lyrical Tutorial Party party ReadMe file to filter by setup. There should be a set of tickets for your “setup”. Click on the links and review the available tickets. If you want to test something other than the available tickets, feel free to open a new ticket and describe exactly what you are testing.
  • Pick a single ticket for your setup and use the assignees option to assign it to yourself. If you can’t assign yourself, leave a comment and an admin will assign the ticket to you
  • Take a look at the ticket and do as it asks in the “Links” section. For example, in this ticket, its links section points you to this tutorial. You should use your new ROS Lyrical Luth setup to run through that tutorial.
    • :warning: Please note that we’re using the Rolling documentation. If you see instructions to install a rolling package you’ll need to modify those to point to lyrical.
  • Once you complete the links section things will either go smoothly or you will run into problems. Please report your results using the check boxes in the “Checks” section of your Github issue.
    1. If everything goes well, note as such in your ticket’s comment section. We ask that you attach your terminal’s output as a code block or as a gist file or include a screenshot. At this point feel free to close the ticket by clicking “close as completed.”
    2. If something went poorly please note it in your ticket’s comment section. Try to include a full stack trace or other debug output if possible. Please also run ros2 doctor --report and dump the output in your ticket.

The testing and tutorial party wraps up on May 14, 2026 , but we’re asking everyone to get started early as we will need some lead time to address any bugs.

New for Lyrical: Pull Requests and Reviews

For 2026’s Test and Tutorial Party, we’re piloting a new feature: Lyrical Bug Fixes and PR Reviews. We’re looking for community members to help us out by lending us their eyes and expertise. For the T&T party we’re allowing participants to gain one extra point for each completed bug fix and PR review from the Lyrical board. We anticipate the majority of these issues will be documentation related so they should be fairly straightforward to fix.

For the T&T party we will provide you with one extra point if you do one of the following:

  • Create a pull request for a bug fix that addresses documented issues listed in the Lyrical issues board.
  • Review one of the pull requests or bug fixes listed in the Lyrical issues board.
  • We also have a limited number of general ROS pull request reviews that are also in scope for the T&T party. You can find those here (bit.ly/Lyrical-PR-Reviews)

To help us track and tabulate scores, you must fill out this short form every time you complete a review or a PR.

For Lyrical pull requests and bug fixes:

  • Ask to be assigned the issue in the Lyrical Tracking Board (bit.ly/LyricalTrackingBoard).
  • Write the relevant code or documentation. Remember to use the correct branch!
  • Build your solution and run the necessary tests and linters. This step is key to getting your PR approved.
  • Submit your PR. You must include a brief description of the issue and the issue number from the tracking board.
  • You must work with the reviewers to address all necessary feedback until the PR is accepted and merged.
  • If you use AI for your pull request you must report it in a manner consistent with OSRF policy.
  • Report your work using the form (bit.ly/LyricalPR).

For Lyrical reviews:

  • Request to be assigned to the pull request from the Lyrical Tracking Board (bit.ly/LyricalTrackingBoard). You can be assigned to one pull request at a time.
  • Once you are assigned to the pull request you must do the following:
    • Verify the fix by checking out the PR, building it, and replicating the bug conditions. For documentation this means checking out the PR and running make html.
    • Take one or more screenshots of the result.
  • Perform a realistic review of the pull request. There are two potential outcomes for your review:
    • You find no issues.
      • If that’s the case you must briefly list the steps you took to verify that the PR works and attach a screenshot.
    • You find an issue and request changes.
      • Changes should use the format: “Nit:” (minor change, usually a matter of preference, non-blocking), “Issue:” (major issue, blocking), “Suggestion:” (friendly suggestion, non-blocking), “Question:” (clarification, non-blocking), or “Chore:” (generally formatting issue, non-blocking)
      • For issues and chores the feedback in the pull request should include the following:
        • What specifically needs attention.
        • Why this change is necessary.
        • A suggestion on how to fix it.
      • You must follow up with the PR author to make sure their changes fix your issue. We suggest using the “suggest changes” feature liberally to expedite the process.
  • Generative AI should not be used for pull request reviews.
  • Report your work using the form (bit.ly/LyricalPR).
6 Likes

Thanks for getting this together, excited for the new release (love the artwork)!

Having trouble getting started with installation on RPi5 running Ubuntu 26.04 (Resolute).

Resolute doesn’t seem to be supported following the baseline install instructions for any ROS 2 release.

Switching to the Testing installation instructions provided in the chat during the kickoff - Rolling is still:

“Error: Unable to locate package ros-rolling-desktop”

(No ros-rolling packages in the apt-cache).

Trying ros-lyrical-desktop throws a bunch of unsatisfied dependencies (49), ending with

“Error: Unable to satisfy dependencies. Reached two conflicting assignments:”

One of which is:

“1. ros-lyrical-desktop:arm64=0.13.0-3resolute.20260430.113437 is selected for install”

It’s possible I missed a step, or maybe just need to wait a bit more?

2 Likes

We’re working on it.

Try ros-lyrical-desktop. We’ll have a version of the Lyrical documentation out shortly.

1 Like

That was my first thought too. I did, sadly no joy. Included those results after the rolling attempt in the above.

Might try on a different architecture (x86) after I get one provisioned (or build a VM).

Thanks!

Doc is Lyrical but ros-lyrical-desktop for arm64 v8 (Raspberry Pi5) is “Unable to locate package ros-lyrical-desktop”

Interesting. We’re still building some packages for Lyrical. We hit a few snags last night.

The Arm variant of desktop might not be done yet, but I need to double check that. Last I heard desktop-full was delayed.

server-is-fine-burn
Here’s a photo of the build farm this week.

Seems like the build farm survived long enough to complete the arm64 build - lyrical-desktop debs (from Testing) installed fully on RPi5 under Resolute!! Listener/Talker run. Now comes the fun part :tada:

3 Likes

The problem is mine - I was following the instructions too closely - need to use ros2-testing-apt-source rather than the instruction.

With the testing apt-source installed, it found the ros-lyrical-desktop now and is installing (almost).

Trying again with --fix-missing

Third times a charm --fix-missing fixed all.

1 Like

This should be documented somewhere. Was finally able to install lyrical thanks to this. :slight_smile:

OK, my little Sawppy rover is now running on a Pi5+nvme, Ubuntu 26.04 & Lyrical;-) Some older packages needed some CMakefile updates but otherwise, the few things, I tested so far, work just fine;-)

2 Likes

@tfoote posted the snippet below on Zuliip late last night. It shows where we stand with the Lyrical T&T party. The good news is we’ve closed a lot of closed issues. The bad news: many of those issues are poorly formed issues created by YATM.

:warning: All of this is to say, we still need A LOT OF HELP and it is still super easy to earn some free swag. By my reckoning simply closing a couple dozen easy tickets is all it takes, especially on AMD chips or using RHEL as your OS. :warning:

Details below!

GitHub Test Case Metrics Report

Overall Metrics


  • Total Issues: 3709
  • Open: 2512 (67.73%)
  • Closed Completed: 491 (13.24%)
  • Closed Won’t Fix: 706 (19.03%)
  • Closed Duplicate: 0 (0.00%)

Progress by Permutation Key/Value


buildType

  • binary: 136/639 closed (21.28%) – Open: 503 (78.72%), Closed Completed: 101 (15.81%), Won’t Fix: 35 (5.48%), Duplicate: 0 (0.00%)
  • debian: 655/1532 closed (42.75%) – Open: 877 (57.25%), Closed Completed: 226 (14.75%), Won’t Fix: 429 (28.00%), Duplicate: 0 (0.00%)
  • source: 406/1538 closed (26.40%) – Open: 1132 (73.60%), Closed Completed: 164 (10.66%), Won’t Fix: 242 (15.73%), Duplicate: 0 (0.00%)

chip

  • amd64: 685/2945 closed (23.26%) – Open: 2260 (76.74%), Closed Completed: 355 (12.05%), Won’t Fix: 330 (11.21%), Duplicate: 0 (0.00%)
  • arm64: 512/764 closed (67.02%) – Open: 252 (32.98%), Closed Completed: 136 (17.80%), Won’t Fix: 376 (49.21%), Duplicate: 0 (0.00%)

os

  • resolute: 588/2114 closed (27.81%) – Open: 1526 (72.19%), Closed Completed: 479 (22.66%), Won’t Fix: 109 (5.16%), Duplicate: 0 (0.00%)
  • rhel 10: 24/575 closed (4.17%) – Open: 551 (95.83%), Closed Completed: 0 (0.00%), Won’t Fix: 24 (4.17%), Duplicate: 0 (0.00%)
  • windows11: 585/1020 closed (57.35%) – Open: 435 (42.65%), Closed Completed: 12 (1.18%), Won’t Fix: 573 (56.18%), Duplicate: 0 (0.00%)

rmw

  • connext: 31/385 closed (8.05%) – Open: 354 (91.95%), Closed Completed: 12 (3.12%), Won’t Fix: 19 (4.94%), Duplicate: 0 (0.00%)
  • cyclone: 115/385 closed (29.87%) – Open: 270 (70.13%), Closed Completed: 93 (24.16%), Won’t Fix: 22 (5.71%), Duplicate: 0 (0.00%)
  • fastdds: 973/2491 closed (39.06%) – Open: 1518 (60.94%), Closed Completed: 329 (13.21%), Won’t Fix: 644 (25.85%), Duplicate: 0 (0.00%)
  • zenoh: 78/448 closed (17.41%) – Open: 370 (82.59%), Closed Completed: 57 (12.72%), Won’t Fix: 21 (4.69%), Duplicate: 0 (0.00%)

Pairwise Permutation Progress Matrices


buildType vs chip

buildType \ chip amd64 arm64
binary
Cases: 639
Completed: 101/639 (15.8%)
Cases: 0
Completed: 0/0 (0.0%)
debian
Cases: 1150
Completed: 174/1150 (15.1%)
Cases: 382
Completed: 52/382 (13.6%)
source
Cases: 1156
Completed: 80/1156 (6.9%)
Cases: 382
Completed: 84/382 (22.0%)

buildType vs os

buildType \ os resolute rhel 10 windows11
binary
Cases: 192
Completed: 93/192 (48.4%)
Cases: 192
Completed: 0/192 (0.0%)
Cases: 255
Completed: 8/255 (3.1%)
debian
Cases: 959
Completed: 225/959 (23.5%)
Cases: 191
Completed: 0/191 (0.0%)
Cases: 382
Completed: 1/382 (0.3%)
source
Cases: 963
Completed: 161/963 (16.7%)
Cases: 192
Completed: 0/192 (0.0%)
Cases: 383
Completed: 3/383 (0.8%)

buildType vs rmw

buildType \ rmw connext cyclone fastdds zenoh
binary Cases: 0
Completed: 0/0 (0.0%)
Cases: 0
Completed: 0/0 (0.0%)
Cases: 576
Completed: 101/576 (17.5%)
Cases: 63
Completed: 0/63 (0.0%)
debian
Cases: 192
Completed: 12/192 (6.2%)
Cases: 192
Completed: 53/192 (27.6%)
Cases: 956
Completed: 107/956 (11.2%)
Cases: 192
Completed: 54/192 (28.1%)
source
Cases: 193
Completed: 0/193 (0.0%)
Cases: 193
Completed: 40/193 (20.7%)
Cases: 959
Completed: 121/959 (12.6%)
Cases: 193
Completed: 3/193 (1.6%)

chip vs os

chip \ os resolute rhel 10 windows11
amd64
Cases: 1732
Completed: 343/1732 (19.8%)
Cases: 575
Completed: 0/575 (0.0%)
Cases: 638
Completed: 12/638 (1.9%)
arm64
Cases: 382
Completed: 136/382 (35.6%)
Cases: 0
Completed: 0/0 (0.0%)
Cases: 382
Completed: 0/382 (0.0%)

chip vs rmw

chip \ rmw connext cyclone fastdds zenoh
amd64
Cases: 385
Completed: 12/385 (3.1%)
Cases: 385
Completed: 93/385 (24.2%)
Cases: 1727
Completed: 193/1727 (11.2%)
Cases: 448
Completed: 57/448 (12.7%)
arm64 Cases: 0
Completed: 0/0 (0.0%)
Cases: 0
Completed: 0/0 (0.0%)
Cases: 764
Completed: 136/764 (17.8%)
Cases: 0
Completed: 0/0 (0.0%)

os vs rmw

os \ rmw connext cyclone fastdds zenoh
resolute
Cases: 385
Completed: 12/385 (3.1%)
Cases: 385
Completed: 93/385 (24.2%)
Cases: 959
Completed: 317/959 (33.1%)
Cases: 385
Completed: 57/385 (14.8%)
rhel 10 Cases: 0
Completed: 0/0 (0.0%)
Cases: 0
Completed: 0/0 (0.0%)
Cases: 575
Completed: 0/575 (0.0%)
Cases: 0
Completed: 0/0 (0.0%)
windows11 Cases: 0
Completed: 0/0 (0.0%)
Cases: 0
Completed: 0/0 (0.0%)
Cases: 957
Completed: 12/957 (1.3%)
Cases: 63
Completed: 0/63 (0.0%)

New flashy status website is available here.

1 Like

The ROS Lyrical docker images are now available on Dockerhub ! :whale2:

They will be updated after the official ROS Lyrical release

Simply run this command to download and start a session in a Lyrical container:

docker run -it --rm ros:lyrical

The available tags are

  • lyrical-ros-core, lyrical-ros-core-resolute

  • lyrical-ros-base, lyrical-ros-base-resolute, lyrical

  • lyrical-perception, lyrical-perception-resolute

ROS Lyrical images are available for the following platforms/architectures:

Ubuntu Resolute:
  amd64
  arm64v8 (aarch64)

GUI images like “desktop_full”

The simulation, desktop and desktop-full images are available on the ‘osrf/ros’ docker hub profile

Meaning you can pull them like this:

docker pull osrf/ros:lyrical-desktop-full

The available tags are

  • lyrical-simulation, lyrical-simulation-resolute

  • lyrical-desktop, lyrical-desktop-resolute

  • lyrical-desktop-full, lyrical-desktop-full-resolute

As always:

Happy Testing and tutorial party! :whale: :turtle:

3 Likes

Thanks @marguedas!

We’ve still got a few days left and this should help immensely.