-
Notifications
You must be signed in to change notification settings - Fork 115
Feature/dds 7.5.0 #1122
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Feature/dds 7.5.0 #1122
Changes from all commits
3ed56c6
6339915
0533424
5b576a8
6784371
eadd797
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -56,6 +56,9 @@ tmp/ | |
| .viminfo | ||
| .lesshst | ||
|
|
||
| # RTI Workspace | ||
| rti_workspace/ | ||
|
|
||
| # Licenses | ||
| rti_license.dat | ||
|
|
||
|
|
||
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -23,28 +23,37 @@ Holoviz output. | |||||
|
|
||||||
| ## Prerequisites | ||||||
|
|
||||||
| - This application requires an installation of [RTI Connext Express](https://content.rti.com/l/983311/2025-07-08/q5x1n8) to provide access to the DDS domain. | ||||||
| To obtain a license/activation key, please [click here](https://content.rti.com/l/983311/2025-07-25/q6729c). Please see the [usage rules](https://www.rti.com/products/connext-express) for Connext Express. | ||||||
| - V4L2 capable device | ||||||
| - **RTI Connext 7.5.0 Express** | ||||||
| - Provides access to the DDS domain. | ||||||
| - Already included if using the container build. | ||||||
| - Otherwise, install via [RTI APT instructions](https://content.rti.com/l/983311/2025-07-08/q5x1n8). | ||||||
|
|
||||||
| > [!NOTE] | ||||||
| > Instructions below are based on the `.run' installer from RTI Connext. Refer to the | ||||||
| > [Linux installation](https://community.rti.com/static/documentation/developers/get-started/full-install.html) | ||||||
| > for details. | ||||||
| - **RTI Activation Key** | ||||||
| - [Request a license/activation key](https://content.rti.com/l/983311/2025-07-25/q6729c). | ||||||
| - See the [usage rules](https://www.rti.com/products/connext-express). | ||||||
| - For Holoscan usage, download the key, copy it into the `holohub` repository, and rename it to `rti_license.dat`. | ||||||
|
|
||||||
| - **V4L2-capable video device** | ||||||
| - Required for video capture when running as a publisher. | ||||||
|
|
||||||
| ## Quick Start (Docker) | ||||||
|
|
||||||
| ## Quick Start | ||||||
| This guide shows how to run the DDS Video application using the Docker build environment. | ||||||
|
|
||||||
| 1. Obtain an **RTI Activation Key** (see [Prerequisites](#prerequisites)). | ||||||
| 2. Place the license in the `holohub` directory as `rti_license.dat`. | ||||||
| 3. Open **two terminal windows** and run: | ||||||
|
|
||||||
| ```bash | ||||||
| # Start the publisher | ||||||
| ./holohub run dds_video --docker-opts="-v $HOME/rti_connext_dds-7.3.0:/opt/rti.com/rti_connext_dds-7.3.0/" --run-args="-p" | ||||||
| ./holohub run dds_video --docker-opts="-v ./rti_license.dat:/opt/rti.com/rti_connext_dds-7.5.0/rti_license.dat" --run-args="-p" | ||||||
|
|
||||||
| # Start the subscriber | ||||||
| ./holohub run dds_video --docker-opts="-v $HOME/rti_connext_dds-7.3.0:/opt/rti.com/rti_connext_dds-7.3.0/" --run-args="-s" | ||||||
| ./holohub run dds_video --docker-opts="-v ./rti_license.dat:/opt/rti.com/rti_connext_dds-7.5.0/rti_license.dat" --run-args="-s" | ||||||
| ``` | ||||||
|
|
||||||
|
|
||||||
| ## Building the Application | ||||||
| ## Building locally the Application | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Should be
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Adjust section title wording. "Building locally the Application" is awkward. Prefer "Building the Application Locally." 🤖 Prompt for AI Agents |
||||||
|
|
||||||
| To build on an IGX devkit (using the `armv8` architecture), follow the | ||||||
| [instructions to build Connext DDS applications for embedded Arm targets](https://community.rti.com/kb/how-do-i-create-connext-dds-application-rti-code-generator-and-build-it-my-embedded-target-arm) | ||||||
|
|
@@ -56,29 +65,22 @@ the `NDDSHOME` environment variable to the RTI Connext installation directory | |||||
| (such as when using the RTI `setenv` scripts), or manually at build time, e.g.: | ||||||
|
|
||||||
| ```sh | ||||||
| ./holohub build --local dds_video --configure-args="-DRTI_CONNEXT_DDS_DIR=~/rti/rti_connext_dds-7.3.0" | ||||||
| ./holohub build --local dds_video --configure-args="-DRTI_CONNEXT_DDS_DIR=~/opt/rti.com/rti_connext_dds-7.5.0" | ||||||
| ``` | ||||||
|
|
||||||
| ### Building with a Container | ||||||
| ### Building with the Container | ||||||
|
|
||||||
| Due to the license requirements of RTI Connext it is not currently supported to | ||||||
| install RTI Connext into a development container. Instead, Connext should be | ||||||
| installed onto the host as above and then the development container can be | ||||||
| launched with the RTI Connext folder mounted at runtime. To do so, ensure that | ||||||
| the `NDDSHOME` and `CONNEXTDDS_ARCH` environment variables are set (which can be | ||||||
| done using the RTI `setenv` script) and use the following: | ||||||
|
|
||||||
| ```sh | ||||||
| # 1. Build and launch the container | ||||||
| ./holohub run-container dds_video --docker-opts="-v $HOME/rti_connext_dds-7.3.0:/opt/rti.com/rti_connext_dds-7.3.0/" | ||||||
| ./holohub run-container dds_video --docker-opts="-v ./rti_license.dat:/opt/rti.com/rti_connext_dds-7.5.0/rti_license.dat" | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. syntax: Trailing whitespace on this line
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Remove trailing whitespace. Trailing whitespace at the end of the docker-opts line. 🤖 Prompt for AI Agents
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. syntax: trailing whitespace at end of line |
||||||
| # 3. Build the application | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. syntax: Step numbering is incorrect - this says
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. syntax: step says
Suggested change
|
||||||
| ./holohub build dds_video | ||||||
| # Continue to the next section to run the application with the publisher. | ||||||
| # Open a new terminal to repeat step #2 and launch a new container for the subscriber. | ||||||
| ``` | ||||||
|
|
||||||
|
|
||||||
|
|
||||||
| ## Running the Application | ||||||
|
|
||||||
| Both a publisher and subscriber process must be launched to see the result of | ||||||
|
|
@@ -98,8 +100,8 @@ $ ./holohub run --no-local-build dds_video --run-args="-s" | |||||
|
|
||||||
| If running the application generates an error about `RTI Connext DDS No Source | ||||||
| for License information`, ensure that the RTI Connext license has either been | ||||||
| installed system-wide or the `NDDSHOME` environment variable has been set to | ||||||
| point to your user's RTI Connext installation path. | ||||||
| installed system-wide or the `RTI_LICENSE_FILE` environment variable has been set to | ||||||
| point to the license file path. | ||||||
|
|
||||||
| Note that these processes can be run on the same or different systems, so long as they | ||||||
| are both discoverable by the other via RTI Connext. If the processes are run on | ||||||
|
|
||||||
| Original file line number | Diff line number | Diff line change | ||||||||||||||||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
|
@@ -14,5 +14,5 @@ | |||||||||||||||||||||||||||||||||||
| # See the License for the specific language governing permissions and | ||||||||||||||||||||||||||||||||||||
| # limitations under the License. | ||||||||||||||||||||||||||||||||||||
|
|
||||||||||||||||||||||||||||||||||||
| source /opt/rti.com/rti_connext_dds-7.3.0/resource/scripts/rtisetenv_x64Linux4gcc7.3.0.bash | ||||||||||||||||||||||||||||||||||||
| source /opt/rti.com/rti_connext_dds-7.5.0/resource/scripts/rtisetenv_x64Linux4gcc7.3.0.bash | ||||||||||||||||||||||||||||||||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Hardcoded x64 architecture will fail on ARM platforms. The path uses a hardcoded Apply this diff to detect architecture at runtime: -source /opt/rti.com/rti_connext_dds-7.5.0/resource/scripts/rtisetenv_x64Linux4gcc7.3.0.bash
+arch="x64"
+if [ "$(uname -m)" = "aarch64" ]; then
+ arch="armv8"
+fi
+source /opt/rti.com/rti_connext_dds-7.5.0/resource/scripts/rtisetenv_${arch}Linux4gcc7.3.0.bash📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. logic: hardcodes
Suggested change
|
||||||||||||||||||||||||||||||||||||
| exec /bin/bash | ||||||||||||||||||||||||||||||||||||
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -9,32 +9,30 @@ a wide array of external applications and platforms. | |||||
|
|
||||||
| ## Requirements | ||||||
|
|
||||||
| [RTI Connext](https://content.rti.com/l/983311/2024-04-30/pz1wms) must be | ||||||
| installed on the system and a valid RTI Connext license must be installed to run | ||||||
| any application using one of these operators. To build on an IGX devkit (using | ||||||
| - **RTI Connext 7.5.0 Express** | ||||||
| - Provides access to the DDS domain. | ||||||
| - Already included if using the [container build](../../applications/dds/dds_video/Dockerfile) you can find in the dds_video application directory | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. style: line exceeds 100 characters (109 chars), consider wrapping to next line |
||||||
| - Otherwise, install via [RTI APT instructions](https://content.rti.com/l/983311/2025-07-08/q5x1n8). | ||||||
|
|
||||||
| - **RTI Activation Key** | ||||||
| - [Download the RTI license/activation key](https://content.rti.com/l/983311/2025-07-25/q6729c). | ||||||
| - See the [usage rules](https://www.rti.com/products/connext-express). | ||||||
| - For Holoscan usage, download the key, copy it into the `holohub` root directory, and rename it to `rti_license.dat`. | ||||||
|
|
||||||
| To build on an IGX devkit (using | ||||||
| the `armv8` architecture), follow the | ||||||
| [instructions to build Connext DDS applications for embedded Arm targets](https://community.rti.com/kb/how-do-i-create-connext-dds-application-rti-code-generator-and-build-it-my-embedded-target-arm) | ||||||
| up to step 5 (Installing Java and setting JREHOME). | ||||||
|
|
||||||
| To build the operators, the `RTI_CONNEXT_DDS_DIR` CMake variable must point to | ||||||
| To build the operators out of the dockerfile, the `RTI_CONNEXT_DDS_DIR` CMake variable must point to | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. style: "out of the dockerfile" is unclear - should this be "outside of the Docker container" or "when building natively"? What specific build scenario is this referring to? |
||||||
| the installation path for RTI Connext. This can be done automatically by setting | ||||||
| the `NDDSHOME` environment variable to the RTI Connext installation directory | ||||||
| (such as when using the RTI `setenv` scripts), or manually at build time, e.g.: | ||||||
|
|
||||||
| ```sh | ||||||
| $ ./holohub build dds_video --configure-args="-DRTI_CONNEXT_DDS_DIR=~/rti/rti_connext_dds-7.3.0" | ||||||
| $ ./holohub build dds_video" | ||||||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Remove the trailing
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. syntax: missing closing double-quote - should be
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. syntax: missing closing double-quote
Suggested change
|
||||||
| ``` | ||||||
|
|
||||||
| ## Using a Development Container | ||||||
|
|
||||||
| Due to the license requirements of RTI Connext it is not currently supported to | ||||||
| install RTI Connext into a development container. Instead, if a development | ||||||
| container is to be used, Connext should be installed onto the host as above and | ||||||
| then the container can be launched with the RTI Connext folder mounted at | ||||||
| runtime. To do so, ensure that the `NDDSHOME` and `CONNEXTDDS_ARCH` environment | ||||||
| variables are set (which can be done using the RTI `setenv` script) and use the | ||||||
| following: | ||||||
| ## Example Application | ||||||
|
|
||||||
| ```sh | ||||||
| ./holohub run --docker-opts "-v $NDDSHOME:/opt/dds -e NDDSHOME=/opt/dds -e CONNEXTDDS_ARCH=$CONNEXTDDS_ARCH" | ||||||
| ``` | ||||||
| See the [DDS Video Application documentation](../../applications/dds/dds_video/README.md) for an example of how to use these operators in a Holoscan application. | ||||||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This second line should be indented