Repository Summary
| Checkout URI | https://github.com/IntellectusCorp/rmw_int2dds.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2026-07-15 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| rmw_int2dds_cpp | 0.1.0 |
README
ROS 2 RMW for int2DDS
Overview
rmw_int2dds_cpp lets ROS 2 applications run on top of int2DDS, a Rust
implementation of the OMG DDS standard (RTPS 2.5). It implements the ROS 2 rmw
C interface so that any ROS 2 stack (rclcpp, rclpy, ros2 CLI, tools) can use
int2DDS as its middleware via RMW_IMPLEMENTATION=rmw_int2dds_cpp.
Status: work in progress — APIs and test results are being stabilized ahead of a request for Tier 3 status in REP 2000.
Supported ROS 2 distributions
| Distribution | Status |
|---|---|
| Humble Hawksbill (LTS) | Supported (verified) |
| Jazzy Jalisco (LTS) | Supported (verified) |
| Lyrical Luth (LTS) | Supported (verified) |
Supported platforms
| Platform | Architectures | Status |
|---|---|---|
| Ubuntu (Linux) | amd64 | Supported (verified) |
| Ubuntu (Linux) | arm64 | Target (library builds; board validation pending) |
Quick Start
# 1) Get the sources into your ROS 2 workspace
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone -b humble https://github.com/IntellectusCorp/rmw_int2dds.git
git clone https://github.com/IntellectusCorp/int2dds_ffi_vendor.git
# 2) Build
cd ~/ros2_ws
source /opt/ros/humble/setup.bash
colcon build --packages-up-to rmw_int2dds_cpp
source install/setup.bash
# 3) Select int2DDS as the middleware
export RMW_IMPLEMENTATION=rmw_int2dds_cpp
# 4) Run any ROS 2 demo
ros2 run demo_nodes_cpp talker
# in another terminal (same RMW_IMPLEMENTATION):
ros2 run demo_nodes_cpp listener
Binary install (.deb)
Prebuilt packages let you skip colcon build. Download the two .debs for your
distro + architecture from the
Releases page, then:
sudo apt install ./ros-humble-int2dds-ffi-vendor_*_amd64.deb \
./ros-humble-rmw-int2dds-cpp_*_amd64.deb
source /opt/ros/humble/setup.bash
export RMW_IMPLEMENTATION=rmw_int2dds_cpp
ros2 run demo_nodes_cpp talker
apt install ./file.deb installs the file and resolves its dependencies (the rmw
package pulls in the vendor package automatically). The RMW library and its
ament-index marker install into /opt/ros/humble/, so once the environment is
sourced only RMW_IMPLEMENTATION needs to be set.
Supported: jazzy / humble / rolling × amd64 / arm64.
armhf is best-effort — there are no official ROS 2 armhf apt packages, so an
armhf .deb only works on a system where ROS 2 was itself built from source for
armhf.
To build the packages yourself: packaging/build-deb.sh <distro> <arch> (needs
Docker; see packaging/ for the build and verification scripts).
Middleware library dependency
This package links against the closed-source int2DDS FFI library
(libint2dds_ffi.so* and int2dds-ffi.h), which is provided by the
int2dds_ffi_vendor package. The vendor package downloads the release
artifact, verifies the selected library against the manifest, and exports the
int2dds_ffi::int2dds_ffi CMake target used by this RMW package.
Test status
All results below were produced by running the listed suites directly; see
doc/ for methodology. Same-vendor and cross-vendor integration tests use the
official ROS 2 repositories (rmw_implementation, system_tests).
| Suite | Lyrical | Jazzy | Humble | |—|—|—|—|
File truncated at 100 lines see the full file
CONTRIBUTING
Contributing to rmw_int2dds_cpp
Thank you for your interest in contributing! This package is the ROS 2 RMW binding for int2DDS. For contributions to the underlying DDS core, see the int2DDS repository.
Code of Conduct
This project adheres to a Code of Conduct.
Contributor License Agreement (CLA)
By submitting a pull request you agree to the project CLA (individual / corporate).
Development Environment
Prerequisites
- A supported ROS 2 distribution (Humble or Jazzy) installed and sourced
- colcon build tool
- A C++17 compiler (GCC/Clang/MSVC), CMake >= 3.14.4
- The int2DDS core library available as a dependency
Workspace setup
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone https://github.com/IntellectusCorp/rmw_int2dds.git
cd ~/ros2_ws
rosdep install --from-paths src --ignore-src -r -y
Building and Testing
# Build
colcon build --packages-up-to rmw_int2dds_cpp
# Run this package's tests
colcon test --packages-select rmw_int2dds_cpp
colcon test-result --verbose
# Run the RMW interface conformance suite against int2DDS
RMW_IMPLEMENTATION=rmw_int2dds_cpp \
colcon test --packages-select test_rmw_implementation
Tier 3 listing requires the full
test_rmw_implementationsuite to pass.
Code Style
This package follows the ROS 2 Code Style and Language Versions guide:
- C++17, max line length 100,
.hpp/.cppextensions - Linters run as tests via
ament_lint_auto+ament_lint_common(ament_clang_format,ament_cpplint,ament_uncrustify,ament_cppcheck) - Build with
-Wall -Wextra -Wpedantic
# Run linters
colcon test --packages-select rmw_int2dds_cpp --ctest-args -R lint
Commit Messages
Use the format TYPE: short description (max 72 chars), imperative mood.
Types: FEAT, FIX, DOCS, STYLE, REFACTOR, TEST, CHORE, PERF.
Reference issues with Fixes #123.
Branch Naming
feature/, fix/, hotfix/, docs/, refactor/, test/ prefixes;
lowercase with hyphens (e.g., feature/qos-deadline).
Pull Request Process
- Rebase on the latest
upstream/main. - Ensure
colcon buildandcolcon testpass, including linters. - Update documentation and
CHANGELOG.rstif behavior or APIs changed. - Open a PR with a clear summary, rationale, and testing notes.
- Request review from maintainers.
Reporting Bugs
Open a GitHub issue with: description, reproduction steps, expected vs actual behavior, environment (OS, ROS 2 distro, int2DDS version), and logs. For security issues, follow SECURITY.md instead.
License
By contributing, you agree your contributions are licensed under the Apache License 2.0.
License of contributions
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that
File truncated at 100 lines see the full file
Repository Summary
| Checkout URI | https://github.com/IntellectusCorp/rmw_int2dds.git |
| VCS Type | git |
| VCS Version | jazzy |
| Last Updated | 2026-07-15 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| rmw_int2dds_cpp | 0.1.0 |
README
ROS 2 RMW for int2DDS
Overview
rmw_int2dds_cpp lets ROS 2 applications run on top of int2DDS, a Rust
implementation of the OMG DDS standard (RTPS 2.5). It implements the ROS 2 rmw
C interface so that any ROS 2 stack (rclcpp, rclpy, ros2 CLI, tools) can use
int2DDS as its middleware via RMW_IMPLEMENTATION=rmw_int2dds_cpp.
Status: work in progress — APIs and test results are being stabilized ahead of a request for Tier 3 status in REP 2000.
Supported ROS 2 distributions
| Distribution | Status |
|---|---|
| Humble Hawksbill (LTS) | Supported (verified) |
| Jazzy Jalisco (LTS) | Supported (verified) |
| Lyrical Luth (LTS) | Supported (verified) |
Supported platforms
| Platform | Architectures | Status |
|---|---|---|
| Ubuntu (Linux) | amd64 | Supported (verified) |
| Ubuntu (Linux) | arm64 | Target (library builds; board validation pending) |
Quick Start
# 1) Get the sources into your ROS 2 workspace
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone -b jazzy https://github.com/IntellectusCorp/rmw_int2dds.git
git clone https://github.com/IntellectusCorp/int2dds_ffi_vendor.git
# 2) Build
cd ~/ros2_ws
source /opt/ros/jazzy/setup.bash
colcon build --packages-up-to rmw_int2dds_cpp
source install/setup.bash
# 3) Select int2DDS as the middleware
export RMW_IMPLEMENTATION=rmw_int2dds_cpp
# 4) Run any ROS 2 demo
ros2 run demo_nodes_cpp talker
# in another terminal (same RMW_IMPLEMENTATION):
ros2 run demo_nodes_cpp listener
Binary install (.deb)
Prebuilt packages let you skip colcon build. Download the two .debs for your
distro + architecture from the
Releases page, then:
sudo apt install ./ros-jazzy-int2dds-ffi-vendor_*_amd64.deb \
./ros-jazzy-rmw-int2dds-cpp_*_amd64.deb
source /opt/ros/jazzy/setup.bash
export RMW_IMPLEMENTATION=rmw_int2dds_cpp
ros2 run demo_nodes_cpp talker
apt install ./file.deb installs the file and resolves its dependencies (the rmw
package pulls in the vendor package automatically). The RMW library and its
ament-index marker install into /opt/ros/jazzy/, so once the environment is
sourced only RMW_IMPLEMENTATION needs to be set.
Supported: jazzy / humble / rolling × amd64 / arm64.
armhf is best-effort — there are no official ROS 2 armhf apt packages, so an
armhf .deb only works on a system where ROS 2 was itself built from source for
armhf.
To build the packages yourself: packaging/build-deb.sh <distro> <arch> (needs
Docker; see packaging/ for the build and verification scripts).
Middleware library dependency
This package links against the closed-source int2DDS FFI library
(libint2dds_ffi.so* and int2dds-ffi.h), which is provided by the
int2dds_ffi_vendor package. The vendor package downloads the release
artifact, verifies the selected library against the manifest, and exports the
int2dds_ffi::int2dds_ffi CMake target used by this RMW package.
Test status
All results below were produced by running the listed suites directly; see
doc/ for methodology. Same-vendor and cross-vendor integration tests use the
official ROS 2 repositories (rmw_implementation, system_tests).
| Suite | Lyrical | Jazzy | Humble | |—|—|—|—|
File truncated at 100 lines see the full file
CONTRIBUTING
Contributing to rmw_int2dds_cpp
Thank you for your interest in contributing! This package is the ROS 2 RMW binding for int2DDS. For contributions to the underlying DDS core, see the int2DDS repository.
Code of Conduct
This project adheres to a Code of Conduct.
Contributor License Agreement (CLA)
By submitting a pull request you agree to the project CLA (individual / corporate).
Development Environment
Prerequisites
- A supported ROS 2 distribution (Humble or Jazzy) installed and sourced
- colcon build tool
- A C++17 compiler (GCC/Clang/MSVC), CMake >= 3.14.4
- The int2DDS core library available as a dependency
Workspace setup
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone https://github.com/IntellectusCorp/rmw_int2dds.git
cd ~/ros2_ws
rosdep install --from-paths src --ignore-src -r -y
Building and Testing
# Build
colcon build --packages-up-to rmw_int2dds_cpp
# Run this package's tests
colcon test --packages-select rmw_int2dds_cpp
colcon test-result --verbose
# Run the RMW interface conformance suite against int2DDS
RMW_IMPLEMENTATION=rmw_int2dds_cpp \
colcon test --packages-select test_rmw_implementation
Tier 3 listing requires the full
test_rmw_implementationsuite to pass.
Code Style
This package follows the ROS 2 Code Style and Language Versions guide:
- C++17, max line length 100,
.hpp/.cppextensions - Linters run as tests via
ament_lint_auto+ament_lint_common(ament_clang_format,ament_cpplint,ament_uncrustify,ament_cppcheck) - Build with
-Wall -Wextra -Wpedantic
# Run linters
colcon test --packages-select rmw_int2dds_cpp --ctest-args -R lint
Commit Messages
Use the format TYPE: short description (max 72 chars), imperative mood.
Types: FEAT, FIX, DOCS, STYLE, REFACTOR, TEST, CHORE, PERF.
Reference issues with Fixes #123.
Branch Naming
feature/, fix/, hotfix/, docs/, refactor/, test/ prefixes;
lowercase with hyphens (e.g., feature/qos-deadline).
Pull Request Process
- Rebase on the latest
upstream/main. - Ensure
colcon buildandcolcon testpass, including linters. - Update documentation and
CHANGELOG.rstif behavior or APIs changed. - Open a PR with a clear summary, rationale, and testing notes.
- Request review from maintainers.
Reporting Bugs
Open a GitHub issue with: description, reproduction steps, expected vs actual behavior, environment (OS, ROS 2 distro, int2DDS version), and logs. For security issues, follow SECURITY.md instead.
License
By contributing, you agree your contributions are licensed under the Apache License 2.0.
License of contributions
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that
File truncated at 100 lines see the full file
Repository Summary
| Checkout URI | https://github.com/IntellectusCorp/rmw_int2dds.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2026-07-15 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| rmw_int2dds_cpp | 0.1.0 |
README
ROS 2 RMW for int2DDS
Overview
rmw_int2dds_cpp lets ROS 2 applications run on top of int2DDS, a Rust
implementation of the OMG DDS standard (RTPS 2.5). It implements the ROS 2 rmw
C interface so that any ROS 2 stack (rclcpp, rclpy, ros2 CLI, tools) can use
int2DDS as its middleware via RMW_IMPLEMENTATION=rmw_int2dds_cpp.
Status: work in progress — APIs and test results are being stabilized ahead of a request for Tier 3 status in REP 2000.
Supported ROS 2 distributions
| Distribution | Status |
|---|---|
| Humble Hawksbill (LTS) | Supported (verified) |
| Jazzy Jalisco (LTS) | Supported (verified) |
| Lyrical Luth (LTS) | Supported (verified) |
Supported platforms
| Platform | Architectures | Status |
|---|---|---|
| Ubuntu (Linux) | amd64 | Supported (verified) |
| Ubuntu (Linux) | arm64 | Target (library builds; board validation pending) |
Quick Start
# 1) Get the sources into your ROS 2 workspace
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone -b humble https://github.com/IntellectusCorp/rmw_int2dds.git
git clone https://github.com/IntellectusCorp/int2dds_ffi_vendor.git
# 2) Build
cd ~/ros2_ws
source /opt/ros/humble/setup.bash
colcon build --packages-up-to rmw_int2dds_cpp
source install/setup.bash
# 3) Select int2DDS as the middleware
export RMW_IMPLEMENTATION=rmw_int2dds_cpp
# 4) Run any ROS 2 demo
ros2 run demo_nodes_cpp talker
# in another terminal (same RMW_IMPLEMENTATION):
ros2 run demo_nodes_cpp listener
Binary install (.deb)
Prebuilt packages let you skip colcon build. Download the two .debs for your
distro + architecture from the
Releases page, then:
sudo apt install ./ros-humble-int2dds-ffi-vendor_*_amd64.deb \
./ros-humble-rmw-int2dds-cpp_*_amd64.deb
source /opt/ros/humble/setup.bash
export RMW_IMPLEMENTATION=rmw_int2dds_cpp
ros2 run demo_nodes_cpp talker
apt install ./file.deb installs the file and resolves its dependencies (the rmw
package pulls in the vendor package automatically). The RMW library and its
ament-index marker install into /opt/ros/humble/, so once the environment is
sourced only RMW_IMPLEMENTATION needs to be set.
Supported: jazzy / humble / rolling × amd64 / arm64.
armhf is best-effort — there are no official ROS 2 armhf apt packages, so an
armhf .deb only works on a system where ROS 2 was itself built from source for
armhf.
To build the packages yourself: packaging/build-deb.sh <distro> <arch> (needs
Docker; see packaging/ for the build and verification scripts).
Middleware library dependency
This package links against the closed-source int2DDS FFI library
(libint2dds_ffi.so* and int2dds-ffi.h), which is provided by the
int2dds_ffi_vendor package. The vendor package downloads the release
artifact, verifies the selected library against the manifest, and exports the
int2dds_ffi::int2dds_ffi CMake target used by this RMW package.
Test status
All results below were produced by running the listed suites directly; see
doc/ for methodology. Same-vendor and cross-vendor integration tests use the
official ROS 2 repositories (rmw_implementation, system_tests).
| Suite | Lyrical | Jazzy | Humble | |—|—|—|—|
File truncated at 100 lines see the full file
CONTRIBUTING
Contributing to rmw_int2dds_cpp
Thank you for your interest in contributing! This package is the ROS 2 RMW binding for int2DDS. For contributions to the underlying DDS core, see the int2DDS repository.
Code of Conduct
This project adheres to a Code of Conduct.
Contributor License Agreement (CLA)
By submitting a pull request you agree to the project CLA (individual / corporate).
Development Environment
Prerequisites
- A supported ROS 2 distribution (Humble or Jazzy) installed and sourced
- colcon build tool
- A C++17 compiler (GCC/Clang/MSVC), CMake >= 3.14.4
- The int2DDS core library available as a dependency
Workspace setup
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone https://github.com/IntellectusCorp/rmw_int2dds.git
cd ~/ros2_ws
rosdep install --from-paths src --ignore-src -r -y
Building and Testing
# Build
colcon build --packages-up-to rmw_int2dds_cpp
# Run this package's tests
colcon test --packages-select rmw_int2dds_cpp
colcon test-result --verbose
# Run the RMW interface conformance suite against int2DDS
RMW_IMPLEMENTATION=rmw_int2dds_cpp \
colcon test --packages-select test_rmw_implementation
Tier 3 listing requires the full
test_rmw_implementationsuite to pass.
Code Style
This package follows the ROS 2 Code Style and Language Versions guide:
- C++17, max line length 100,
.hpp/.cppextensions - Linters run as tests via
ament_lint_auto+ament_lint_common(ament_clang_format,ament_cpplint,ament_uncrustify,ament_cppcheck) - Build with
-Wall -Wextra -Wpedantic
# Run linters
colcon test --packages-select rmw_int2dds_cpp --ctest-args -R lint
Commit Messages
Use the format TYPE: short description (max 72 chars), imperative mood.
Types: FEAT, FIX, DOCS, STYLE, REFACTOR, TEST, CHORE, PERF.
Reference issues with Fixes #123.
Branch Naming
feature/, fix/, hotfix/, docs/, refactor/, test/ prefixes;
lowercase with hyphens (e.g., feature/qos-deadline).
Pull Request Process
- Rebase on the latest
upstream/main. - Ensure
colcon buildandcolcon testpass, including linters. - Update documentation and
CHANGELOG.rstif behavior or APIs changed. - Open a PR with a clear summary, rationale, and testing notes.
- Request review from maintainers.
Reporting Bugs
Open a GitHub issue with: description, reproduction steps, expected vs actual behavior, environment (OS, ROS 2 distro, int2DDS version), and logs. For security issues, follow SECURITY.md instead.
License
By contributing, you agree your contributions are licensed under the Apache License 2.0.
License of contributions
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that
File truncated at 100 lines see the full file
Repository Summary
| Checkout URI | https://github.com/IntellectusCorp/rmw_int2dds.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2026-07-15 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| rmw_int2dds_cpp | 0.1.0 |
README
ROS 2 RMW for int2DDS
Overview
rmw_int2dds_cpp lets ROS 2 applications run on top of int2DDS, a Rust
implementation of the OMG DDS standard (RTPS 2.5). It implements the ROS 2 rmw
C interface so that any ROS 2 stack (rclcpp, rclpy, ros2 CLI, tools) can use
int2DDS as its middleware via RMW_IMPLEMENTATION=rmw_int2dds_cpp.
Status: work in progress — APIs and test results are being stabilized ahead of a request for Tier 3 status in REP 2000.
Supported ROS 2 distributions
| Distribution | Status |
|---|---|
| Humble Hawksbill (LTS) | Supported (verified) |
| Jazzy Jalisco (LTS) | Supported (verified) |
| Lyrical Luth (LTS) | Supported (verified) |
Supported platforms
| Platform | Architectures | Status |
|---|---|---|
| Ubuntu (Linux) | amd64 | Supported (verified) |
| Ubuntu (Linux) | arm64 | Target (library builds; board validation pending) |
Quick Start
# 1) Get the sources into your ROS 2 workspace
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone -b humble https://github.com/IntellectusCorp/rmw_int2dds.git
git clone https://github.com/IntellectusCorp/int2dds_ffi_vendor.git
# 2) Build
cd ~/ros2_ws
source /opt/ros/humble/setup.bash
colcon build --packages-up-to rmw_int2dds_cpp
source install/setup.bash
# 3) Select int2DDS as the middleware
export RMW_IMPLEMENTATION=rmw_int2dds_cpp
# 4) Run any ROS 2 demo
ros2 run demo_nodes_cpp talker
# in another terminal (same RMW_IMPLEMENTATION):
ros2 run demo_nodes_cpp listener
Binary install (.deb)
Prebuilt packages let you skip colcon build. Download the two .debs for your
distro + architecture from the
Releases page, then:
sudo apt install ./ros-humble-int2dds-ffi-vendor_*_amd64.deb \
./ros-humble-rmw-int2dds-cpp_*_amd64.deb
source /opt/ros/humble/setup.bash
export RMW_IMPLEMENTATION=rmw_int2dds_cpp
ros2 run demo_nodes_cpp talker
apt install ./file.deb installs the file and resolves its dependencies (the rmw
package pulls in the vendor package automatically). The RMW library and its
ament-index marker install into /opt/ros/humble/, so once the environment is
sourced only RMW_IMPLEMENTATION needs to be set.
Supported: jazzy / humble / rolling × amd64 / arm64.
armhf is best-effort — there are no official ROS 2 armhf apt packages, so an
armhf .deb only works on a system where ROS 2 was itself built from source for
armhf.
To build the packages yourself: packaging/build-deb.sh <distro> <arch> (needs
Docker; see packaging/ for the build and verification scripts).
Middleware library dependency
This package links against the closed-source int2DDS FFI library
(libint2dds_ffi.so* and int2dds-ffi.h), which is provided by the
int2dds_ffi_vendor package. The vendor package downloads the release
artifact, verifies the selected library against the manifest, and exports the
int2dds_ffi::int2dds_ffi CMake target used by this RMW package.
Test status
All results below were produced by running the listed suites directly; see
doc/ for methodology. Same-vendor and cross-vendor integration tests use the
official ROS 2 repositories (rmw_implementation, system_tests).
| Suite | Lyrical | Jazzy | Humble | |—|—|—|—|
File truncated at 100 lines see the full file
CONTRIBUTING
Contributing to rmw_int2dds_cpp
Thank you for your interest in contributing! This package is the ROS 2 RMW binding for int2DDS. For contributions to the underlying DDS core, see the int2DDS repository.
Code of Conduct
This project adheres to a Code of Conduct.
Contributor License Agreement (CLA)
By submitting a pull request you agree to the project CLA (individual / corporate).
Development Environment
Prerequisites
- A supported ROS 2 distribution (Humble or Jazzy) installed and sourced
- colcon build tool
- A C++17 compiler (GCC/Clang/MSVC), CMake >= 3.14.4
- The int2DDS core library available as a dependency
Workspace setup
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone https://github.com/IntellectusCorp/rmw_int2dds.git
cd ~/ros2_ws
rosdep install --from-paths src --ignore-src -r -y
Building and Testing
# Build
colcon build --packages-up-to rmw_int2dds_cpp
# Run this package's tests
colcon test --packages-select rmw_int2dds_cpp
colcon test-result --verbose
# Run the RMW interface conformance suite against int2DDS
RMW_IMPLEMENTATION=rmw_int2dds_cpp \
colcon test --packages-select test_rmw_implementation
Tier 3 listing requires the full
test_rmw_implementationsuite to pass.
Code Style
This package follows the ROS 2 Code Style and Language Versions guide:
- C++17, max line length 100,
.hpp/.cppextensions - Linters run as tests via
ament_lint_auto+ament_lint_common(ament_clang_format,ament_cpplint,ament_uncrustify,ament_cppcheck) - Build with
-Wall -Wextra -Wpedantic
# Run linters
colcon test --packages-select rmw_int2dds_cpp --ctest-args -R lint
Commit Messages
Use the format TYPE: short description (max 72 chars), imperative mood.
Types: FEAT, FIX, DOCS, STYLE, REFACTOR, TEST, CHORE, PERF.
Reference issues with Fixes #123.
Branch Naming
feature/, fix/, hotfix/, docs/, refactor/, test/ prefixes;
lowercase with hyphens (e.g., feature/qos-deadline).
Pull Request Process
- Rebase on the latest
upstream/main. - Ensure
colcon buildandcolcon testpass, including linters. - Update documentation and
CHANGELOG.rstif behavior or APIs changed. - Open a PR with a clear summary, rationale, and testing notes.
- Request review from maintainers.
Reporting Bugs
Open a GitHub issue with: description, reproduction steps, expected vs actual behavior, environment (OS, ROS 2 distro, int2DDS version), and logs. For security issues, follow SECURITY.md instead.
License
By contributing, you agree your contributions are licensed under the Apache License 2.0.
License of contributions
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that
File truncated at 100 lines see the full file
Repository Summary
| Checkout URI | https://github.com/IntellectusCorp/rmw_int2dds.git |
| VCS Type | git |
| VCS Version | rolling |
| Last Updated | 2026-07-15 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| rmw_int2dds_cpp | 0.1.0 |
README
ROS 2 RMW for int2DDS
Overview
rmw_int2dds_cpp lets ROS 2 applications run on top of int2DDS, a Rust
implementation of the OMG DDS standard (RTPS 2.5). It implements the ROS 2 rmw
C interface so that any ROS 2 stack (rclcpp, rclpy, ros2 CLI, tools) can use
int2DDS as its middleware via RMW_IMPLEMENTATION=rmw_int2dds_cpp.
Status: work in progress — APIs and test results are being stabilized ahead of a request for Tier 3 status in REP 2000.
Supported ROS 2 distributions
| Distribution | Status |
|---|---|
| Humble Hawksbill (LTS) | Supported (verified) |
| Jazzy Jalisco (LTS) | Supported (verified) |
Supported platforms
| Platform | Architectures | Status |
|---|---|---|
| Ubuntu (Linux) | amd64 | Supported (verified) |
| Ubuntu (Linux) | arm64 | Target (library builds; board validation pending) |
Quick Start
# 1) Get the sources into your ROS 2 workspace
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone -b rolling https://github.com/IntellectusCorp/rmw_int2dds.git
git clone https://github.com/IntellectusCorp/int2dds_ffi_vendor.git
# 2) Build
cd ~/ros2_ws
source /opt/ros/rolling/setup.bash
colcon build --packages-up-to rmw_int2dds_cpp
source install/setup.bash
# 3) Select int2DDS as the middleware
export RMW_IMPLEMENTATION=rmw_int2dds_cpp
# 4) Run any ROS 2 demo
ros2 run demo_nodes_cpp talker
# in another terminal (same RMW_IMPLEMENTATION):
ros2 run demo_nodes_cpp listener
Binary install (.deb)
Prebuilt packages let you skip colcon build. Download the two .debs for your
distro + architecture from the
Releases page, then:
sudo apt install ./ros-rolling-int2dds-ffi-vendor_*_amd64.deb \
./ros-rolling-rmw-int2dds-cpp_*_amd64.deb
source /opt/ros/rolling/setup.bash
export RMW_IMPLEMENTATION=rmw_int2dds_cpp
ros2 run demo_nodes_cpp talker
apt install ./file.deb installs the file and resolves its dependencies (the rmw
package pulls in the vendor package automatically). The RMW library and its
ament-index marker install into /opt/ros/rolling/, so once the environment is
sourced only RMW_IMPLEMENTATION needs to be set.
Supported: jazzy / humble / rolling × amd64 / arm64.
armhf is best-effort — there are no official ROS 2 armhf apt packages, so an
armhf .deb only works on a system where ROS 2 was itself built from source for
armhf.
To build the packages yourself: packaging/build-deb.sh <distro> <arch> (needs
Docker; see packaging/ for the build and verification scripts).
Middleware library dependency
This package links against the closed-source int2DDS FFI library
(libint2dds_ffi.so* and int2dds-ffi.h), which is provided by the
int2dds_ffi_vendor package. The vendor package downloads the release
artifact, verifies the selected library against the manifest, and exports the
int2dds_ffi::int2dds_ffi CMake target used by this RMW package.
Test status
All results below were produced by running the listed suites directly; see
doc/ for methodology. Same-vendor and cross-vendor integration tests use the
official ROS 2 repositories (rmw_implementation, system_tests).
| Suite | Jazzy | Humble |
|---|---|---|
test_rmw_implementation (RMW conformance gate) |
16/16 | 15/15 (full set; test_event exists on Jazzy only) |
File truncated at 100 lines see the full file
CONTRIBUTING
Contributing to rmw_int2dds_cpp
Thank you for your interest in contributing! This package is the ROS 2 RMW binding for int2DDS. For contributions to the underlying DDS core, see the int2DDS repository.
Code of Conduct
This project adheres to a Code of Conduct.
Contributor License Agreement (CLA)
By submitting a pull request you agree to the project CLA (individual / corporate).
Development Environment
Prerequisites
- A supported ROS 2 distribution (Humble or Jazzy) installed and sourced
- colcon build tool
- A C++17 compiler (GCC/Clang/MSVC), CMake >= 3.14.4
- The int2DDS core library available as a dependency
Workspace setup
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone https://github.com/IntellectusCorp/rmw_int2dds.git
cd ~/ros2_ws
rosdep install --from-paths src --ignore-src -r -y
Building and Testing
# Build
colcon build --packages-up-to rmw_int2dds_cpp
# Run this package's tests
colcon test --packages-select rmw_int2dds_cpp
colcon test-result --verbose
# Run the RMW interface conformance suite against int2DDS
RMW_IMPLEMENTATION=rmw_int2dds_cpp \
colcon test --packages-select test_rmw_implementation
Tier 3 listing requires the full
test_rmw_implementationsuite to pass.
Code Style
This package follows the ROS 2 Code Style and Language Versions guide:
- C++17, max line length 100,
.hpp/.cppextensions - Linters run as tests via
ament_lint_auto+ament_lint_common(ament_clang_format,ament_cpplint,ament_uncrustify,ament_cppcheck) - Build with
-Wall -Wextra -Wpedantic
# Run linters
colcon test --packages-select rmw_int2dds_cpp --ctest-args -R lint
Commit Messages
Use the format TYPE: short description (max 72 chars), imperative mood.
Types: FEAT, FIX, DOCS, STYLE, REFACTOR, TEST, CHORE, PERF.
Reference issues with Fixes #123.
Branch Naming
feature/, fix/, hotfix/, docs/, refactor/, test/ prefixes;
lowercase with hyphens (e.g., feature/qos-deadline).
Pull Request Process
- Rebase on the latest
upstream/main. - Ensure
colcon buildandcolcon testpass, including linters. - Update documentation and
CHANGELOG.rstif behavior or APIs changed. - Open a PR with a clear summary, rationale, and testing notes.
- Request review from maintainers.
Reporting Bugs
Open a GitHub issue with: description, reproduction steps, expected vs actual behavior, environment (OS, ROS 2 distro, int2DDS version), and logs. For security issues, follow SECURITY.md instead.
License
By contributing, you agree your contributions are licensed under the Apache License 2.0.
License of contributions
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that
File truncated at 100 lines see the full file
Repository Summary
| Checkout URI | https://github.com/IntellectusCorp/rmw_int2dds.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2026-07-15 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| rmw_int2dds_cpp | 0.1.0 |
README
ROS 2 RMW for int2DDS
Overview
rmw_int2dds_cpp lets ROS 2 applications run on top of int2DDS, a Rust
implementation of the OMG DDS standard (RTPS 2.5). It implements the ROS 2 rmw
C interface so that any ROS 2 stack (rclcpp, rclpy, ros2 CLI, tools) can use
int2DDS as its middleware via RMW_IMPLEMENTATION=rmw_int2dds_cpp.
Status: work in progress — APIs and test results are being stabilized ahead of a request for Tier 3 status in REP 2000.
Supported ROS 2 distributions
| Distribution | Status |
|---|---|
| Humble Hawksbill (LTS) | Supported (verified) |
| Jazzy Jalisco (LTS) | Supported (verified) |
| Lyrical Luth (LTS) | Supported (verified) |
Supported platforms
| Platform | Architectures | Status |
|---|---|---|
| Ubuntu (Linux) | amd64 | Supported (verified) |
| Ubuntu (Linux) | arm64 | Target (library builds; board validation pending) |
Quick Start
# 1) Get the sources into your ROS 2 workspace
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone -b humble https://github.com/IntellectusCorp/rmw_int2dds.git
git clone https://github.com/IntellectusCorp/int2dds_ffi_vendor.git
# 2) Build
cd ~/ros2_ws
source /opt/ros/humble/setup.bash
colcon build --packages-up-to rmw_int2dds_cpp
source install/setup.bash
# 3) Select int2DDS as the middleware
export RMW_IMPLEMENTATION=rmw_int2dds_cpp
# 4) Run any ROS 2 demo
ros2 run demo_nodes_cpp talker
# in another terminal (same RMW_IMPLEMENTATION):
ros2 run demo_nodes_cpp listener
Binary install (.deb)
Prebuilt packages let you skip colcon build. Download the two .debs for your
distro + architecture from the
Releases page, then:
sudo apt install ./ros-humble-int2dds-ffi-vendor_*_amd64.deb \
./ros-humble-rmw-int2dds-cpp_*_amd64.deb
source /opt/ros/humble/setup.bash
export RMW_IMPLEMENTATION=rmw_int2dds_cpp
ros2 run demo_nodes_cpp talker
apt install ./file.deb installs the file and resolves its dependencies (the rmw
package pulls in the vendor package automatically). The RMW library and its
ament-index marker install into /opt/ros/humble/, so once the environment is
sourced only RMW_IMPLEMENTATION needs to be set.
Supported: jazzy / humble / rolling × amd64 / arm64.
armhf is best-effort — there are no official ROS 2 armhf apt packages, so an
armhf .deb only works on a system where ROS 2 was itself built from source for
armhf.
To build the packages yourself: packaging/build-deb.sh <distro> <arch> (needs
Docker; see packaging/ for the build and verification scripts).
Middleware library dependency
This package links against the closed-source int2DDS FFI library
(libint2dds_ffi.so* and int2dds-ffi.h), which is provided by the
int2dds_ffi_vendor package. The vendor package downloads the release
artifact, verifies the selected library against the manifest, and exports the
int2dds_ffi::int2dds_ffi CMake target used by this RMW package.
Test status
All results below were produced by running the listed suites directly; see
doc/ for methodology. Same-vendor and cross-vendor integration tests use the
official ROS 2 repositories (rmw_implementation, system_tests).
| Suite | Lyrical | Jazzy | Humble | |—|—|—|—|
File truncated at 100 lines see the full file
CONTRIBUTING
Contributing to rmw_int2dds_cpp
Thank you for your interest in contributing! This package is the ROS 2 RMW binding for int2DDS. For contributions to the underlying DDS core, see the int2DDS repository.
Code of Conduct
This project adheres to a Code of Conduct.
Contributor License Agreement (CLA)
By submitting a pull request you agree to the project CLA (individual / corporate).
Development Environment
Prerequisites
- A supported ROS 2 distribution (Humble or Jazzy) installed and sourced
- colcon build tool
- A C++17 compiler (GCC/Clang/MSVC), CMake >= 3.14.4
- The int2DDS core library available as a dependency
Workspace setup
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone https://github.com/IntellectusCorp/rmw_int2dds.git
cd ~/ros2_ws
rosdep install --from-paths src --ignore-src -r -y
Building and Testing
# Build
colcon build --packages-up-to rmw_int2dds_cpp
# Run this package's tests
colcon test --packages-select rmw_int2dds_cpp
colcon test-result --verbose
# Run the RMW interface conformance suite against int2DDS
RMW_IMPLEMENTATION=rmw_int2dds_cpp \
colcon test --packages-select test_rmw_implementation
Tier 3 listing requires the full
test_rmw_implementationsuite to pass.
Code Style
This package follows the ROS 2 Code Style and Language Versions guide:
- C++17, max line length 100,
.hpp/.cppextensions - Linters run as tests via
ament_lint_auto+ament_lint_common(ament_clang_format,ament_cpplint,ament_uncrustify,ament_cppcheck) - Build with
-Wall -Wextra -Wpedantic
# Run linters
colcon test --packages-select rmw_int2dds_cpp --ctest-args -R lint
Commit Messages
Use the format TYPE: short description (max 72 chars), imperative mood.
Types: FEAT, FIX, DOCS, STYLE, REFACTOR, TEST, CHORE, PERF.
Reference issues with Fixes #123.
Branch Naming
feature/, fix/, hotfix/, docs/, refactor/, test/ prefixes;
lowercase with hyphens (e.g., feature/qos-deadline).
Pull Request Process
- Rebase on the latest
upstream/main. - Ensure
colcon buildandcolcon testpass, including linters. - Update documentation and
CHANGELOG.rstif behavior or APIs changed. - Open a PR with a clear summary, rationale, and testing notes.
- Request review from maintainers.
Reporting Bugs
Open a GitHub issue with: description, reproduction steps, expected vs actual behavior, environment (OS, ROS 2 distro, int2DDS version), and logs. For security issues, follow SECURITY.md instead.
License
By contributing, you agree your contributions are licensed under the Apache License 2.0.
License of contributions
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that
File truncated at 100 lines see the full file
Repository Summary
| Checkout URI | https://github.com/IntellectusCorp/rmw_int2dds.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2026-07-15 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| rmw_int2dds_cpp | 0.1.0 |
README
ROS 2 RMW for int2DDS
Overview
rmw_int2dds_cpp lets ROS 2 applications run on top of int2DDS, a Rust
implementation of the OMG DDS standard (RTPS 2.5). It implements the ROS 2 rmw
C interface so that any ROS 2 stack (rclcpp, rclpy, ros2 CLI, tools) can use
int2DDS as its middleware via RMW_IMPLEMENTATION=rmw_int2dds_cpp.
Status: work in progress — APIs and test results are being stabilized ahead of a request for Tier 3 status in REP 2000.
Supported ROS 2 distributions
| Distribution | Status |
|---|---|
| Humble Hawksbill (LTS) | Supported (verified) |
| Jazzy Jalisco (LTS) | Supported (verified) |
| Lyrical Luth (LTS) | Supported (verified) |
Supported platforms
| Platform | Architectures | Status |
|---|---|---|
| Ubuntu (Linux) | amd64 | Supported (verified) |
| Ubuntu (Linux) | arm64 | Target (library builds; board validation pending) |
Quick Start
# 1) Get the sources into your ROS 2 workspace
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone -b humble https://github.com/IntellectusCorp/rmw_int2dds.git
git clone https://github.com/IntellectusCorp/int2dds_ffi_vendor.git
# 2) Build
cd ~/ros2_ws
source /opt/ros/humble/setup.bash
colcon build --packages-up-to rmw_int2dds_cpp
source install/setup.bash
# 3) Select int2DDS as the middleware
export RMW_IMPLEMENTATION=rmw_int2dds_cpp
# 4) Run any ROS 2 demo
ros2 run demo_nodes_cpp talker
# in another terminal (same RMW_IMPLEMENTATION):
ros2 run demo_nodes_cpp listener
Binary install (.deb)
Prebuilt packages let you skip colcon build. Download the two .debs for your
distro + architecture from the
Releases page, then:
sudo apt install ./ros-humble-int2dds-ffi-vendor_*_amd64.deb \
./ros-humble-rmw-int2dds-cpp_*_amd64.deb
source /opt/ros/humble/setup.bash
export RMW_IMPLEMENTATION=rmw_int2dds_cpp
ros2 run demo_nodes_cpp talker
apt install ./file.deb installs the file and resolves its dependencies (the rmw
package pulls in the vendor package automatically). The RMW library and its
ament-index marker install into /opt/ros/humble/, so once the environment is
sourced only RMW_IMPLEMENTATION needs to be set.
Supported: jazzy / humble / rolling × amd64 / arm64.
armhf is best-effort — there are no official ROS 2 armhf apt packages, so an
armhf .deb only works on a system where ROS 2 was itself built from source for
armhf.
To build the packages yourself: packaging/build-deb.sh <distro> <arch> (needs
Docker; see packaging/ for the build and verification scripts).
Middleware library dependency
This package links against the closed-source int2DDS FFI library
(libint2dds_ffi.so* and int2dds-ffi.h), which is provided by the
int2dds_ffi_vendor package. The vendor package downloads the release
artifact, verifies the selected library against the manifest, and exports the
int2dds_ffi::int2dds_ffi CMake target used by this RMW package.
Test status
All results below were produced by running the listed suites directly; see
doc/ for methodology. Same-vendor and cross-vendor integration tests use the
official ROS 2 repositories (rmw_implementation, system_tests).
| Suite | Lyrical | Jazzy | Humble | |—|—|—|—|
File truncated at 100 lines see the full file
CONTRIBUTING
Contributing to rmw_int2dds_cpp
Thank you for your interest in contributing! This package is the ROS 2 RMW binding for int2DDS. For contributions to the underlying DDS core, see the int2DDS repository.
Code of Conduct
This project adheres to a Code of Conduct.
Contributor License Agreement (CLA)
By submitting a pull request you agree to the project CLA (individual / corporate).
Development Environment
Prerequisites
- A supported ROS 2 distribution (Humble or Jazzy) installed and sourced
- colcon build tool
- A C++17 compiler (GCC/Clang/MSVC), CMake >= 3.14.4
- The int2DDS core library available as a dependency
Workspace setup
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone https://github.com/IntellectusCorp/rmw_int2dds.git
cd ~/ros2_ws
rosdep install --from-paths src --ignore-src -r -y
Building and Testing
# Build
colcon build --packages-up-to rmw_int2dds_cpp
# Run this package's tests
colcon test --packages-select rmw_int2dds_cpp
colcon test-result --verbose
# Run the RMW interface conformance suite against int2DDS
RMW_IMPLEMENTATION=rmw_int2dds_cpp \
colcon test --packages-select test_rmw_implementation
Tier 3 listing requires the full
test_rmw_implementationsuite to pass.
Code Style
This package follows the ROS 2 Code Style and Language Versions guide:
- C++17, max line length 100,
.hpp/.cppextensions - Linters run as tests via
ament_lint_auto+ament_lint_common(ament_clang_format,ament_cpplint,ament_uncrustify,ament_cppcheck) - Build with
-Wall -Wextra -Wpedantic
# Run linters
colcon test --packages-select rmw_int2dds_cpp --ctest-args -R lint
Commit Messages
Use the format TYPE: short description (max 72 chars), imperative mood.
Types: FEAT, FIX, DOCS, STYLE, REFACTOR, TEST, CHORE, PERF.
Reference issues with Fixes #123.
Branch Naming
feature/, fix/, hotfix/, docs/, refactor/, test/ prefixes;
lowercase with hyphens (e.g., feature/qos-deadline).
Pull Request Process
- Rebase on the latest
upstream/main. - Ensure
colcon buildandcolcon testpass, including linters. - Update documentation and
CHANGELOG.rstif behavior or APIs changed. - Open a PR with a clear summary, rationale, and testing notes.
- Request review from maintainers.
Reporting Bugs
Open a GitHub issue with: description, reproduction steps, expected vs actual behavior, environment (OS, ROS 2 distro, int2DDS version), and logs. For security issues, follow SECURITY.md instead.
License
By contributing, you agree your contributions are licensed under the Apache License 2.0.
License of contributions
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that
File truncated at 100 lines see the full file
Repository Summary
| Checkout URI | https://github.com/IntellectusCorp/rmw_int2dds.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2026-07-15 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| rmw_int2dds_cpp | 0.1.0 |
README
ROS 2 RMW for int2DDS
Overview
rmw_int2dds_cpp lets ROS 2 applications run on top of int2DDS, a Rust
implementation of the OMG DDS standard (RTPS 2.5). It implements the ROS 2 rmw
C interface so that any ROS 2 stack (rclcpp, rclpy, ros2 CLI, tools) can use
int2DDS as its middleware via RMW_IMPLEMENTATION=rmw_int2dds_cpp.
Status: work in progress — APIs and test results are being stabilized ahead of a request for Tier 3 status in REP 2000.
Supported ROS 2 distributions
| Distribution | Status |
|---|---|
| Humble Hawksbill (LTS) | Supported (verified) |
| Jazzy Jalisco (LTS) | Supported (verified) |
| Lyrical Luth (LTS) | Supported (verified) |
Supported platforms
| Platform | Architectures | Status |
|---|---|---|
| Ubuntu (Linux) | amd64 | Supported (verified) |
| Ubuntu (Linux) | arm64 | Target (library builds; board validation pending) |
Quick Start
# 1) Get the sources into your ROS 2 workspace
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone -b humble https://github.com/IntellectusCorp/rmw_int2dds.git
git clone https://github.com/IntellectusCorp/int2dds_ffi_vendor.git
# 2) Build
cd ~/ros2_ws
source /opt/ros/humble/setup.bash
colcon build --packages-up-to rmw_int2dds_cpp
source install/setup.bash
# 3) Select int2DDS as the middleware
export RMW_IMPLEMENTATION=rmw_int2dds_cpp
# 4) Run any ROS 2 demo
ros2 run demo_nodes_cpp talker
# in another terminal (same RMW_IMPLEMENTATION):
ros2 run demo_nodes_cpp listener
Binary install (.deb)
Prebuilt packages let you skip colcon build. Download the two .debs for your
distro + architecture from the
Releases page, then:
sudo apt install ./ros-humble-int2dds-ffi-vendor_*_amd64.deb \
./ros-humble-rmw-int2dds-cpp_*_amd64.deb
source /opt/ros/humble/setup.bash
export RMW_IMPLEMENTATION=rmw_int2dds_cpp
ros2 run demo_nodes_cpp talker
apt install ./file.deb installs the file and resolves its dependencies (the rmw
package pulls in the vendor package automatically). The RMW library and its
ament-index marker install into /opt/ros/humble/, so once the environment is
sourced only RMW_IMPLEMENTATION needs to be set.
Supported: jazzy / humble / rolling × amd64 / arm64.
armhf is best-effort — there are no official ROS 2 armhf apt packages, so an
armhf .deb only works on a system where ROS 2 was itself built from source for
armhf.
To build the packages yourself: packaging/build-deb.sh <distro> <arch> (needs
Docker; see packaging/ for the build and verification scripts).
Middleware library dependency
This package links against the closed-source int2DDS FFI library
(libint2dds_ffi.so* and int2dds-ffi.h), which is provided by the
int2dds_ffi_vendor package. The vendor package downloads the release
artifact, verifies the selected library against the manifest, and exports the
int2dds_ffi::int2dds_ffi CMake target used by this RMW package.
Test status
All results below were produced by running the listed suites directly; see
doc/ for methodology. Same-vendor and cross-vendor integration tests use the
official ROS 2 repositories (rmw_implementation, system_tests).
| Suite | Lyrical | Jazzy | Humble | |—|—|—|—|
File truncated at 100 lines see the full file
CONTRIBUTING
Contributing to rmw_int2dds_cpp
Thank you for your interest in contributing! This package is the ROS 2 RMW binding for int2DDS. For contributions to the underlying DDS core, see the int2DDS repository.
Code of Conduct
This project adheres to a Code of Conduct.
Contributor License Agreement (CLA)
By submitting a pull request you agree to the project CLA (individual / corporate).
Development Environment
Prerequisites
- A supported ROS 2 distribution (Humble or Jazzy) installed and sourced
- colcon build tool
- A C++17 compiler (GCC/Clang/MSVC), CMake >= 3.14.4
- The int2DDS core library available as a dependency
Workspace setup
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone https://github.com/IntellectusCorp/rmw_int2dds.git
cd ~/ros2_ws
rosdep install --from-paths src --ignore-src -r -y
Building and Testing
# Build
colcon build --packages-up-to rmw_int2dds_cpp
# Run this package's tests
colcon test --packages-select rmw_int2dds_cpp
colcon test-result --verbose
# Run the RMW interface conformance suite against int2DDS
RMW_IMPLEMENTATION=rmw_int2dds_cpp \
colcon test --packages-select test_rmw_implementation
Tier 3 listing requires the full
test_rmw_implementationsuite to pass.
Code Style
This package follows the ROS 2 Code Style and Language Versions guide:
- C++17, max line length 100,
.hpp/.cppextensions - Linters run as tests via
ament_lint_auto+ament_lint_common(ament_clang_format,ament_cpplint,ament_uncrustify,ament_cppcheck) - Build with
-Wall -Wextra -Wpedantic
# Run linters
colcon test --packages-select rmw_int2dds_cpp --ctest-args -R lint
Commit Messages
Use the format TYPE: short description (max 72 chars), imperative mood.
Types: FEAT, FIX, DOCS, STYLE, REFACTOR, TEST, CHORE, PERF.
Reference issues with Fixes #123.
Branch Naming
feature/, fix/, hotfix/, docs/, refactor/, test/ prefixes;
lowercase with hyphens (e.g., feature/qos-deadline).
Pull Request Process
- Rebase on the latest
upstream/main. - Ensure
colcon buildandcolcon testpass, including linters. - Update documentation and
CHANGELOG.rstif behavior or APIs changed. - Open a PR with a clear summary, rationale, and testing notes.
- Request review from maintainers.
Reporting Bugs
Open a GitHub issue with: description, reproduction steps, expected vs actual behavior, environment (OS, ROS 2 distro, int2DDS version), and logs. For security issues, follow SECURITY.md instead.
License
By contributing, you agree your contributions are licensed under the Apache License 2.0.
License of contributions
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that
File truncated at 100 lines see the full file
Repository Summary
| Checkout URI | https://github.com/IntellectusCorp/rmw_int2dds.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2026-07-15 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| rmw_int2dds_cpp | 0.1.0 |
README
ROS 2 RMW for int2DDS
Overview
rmw_int2dds_cpp lets ROS 2 applications run on top of int2DDS, a Rust
implementation of the OMG DDS standard (RTPS 2.5). It implements the ROS 2 rmw
C interface so that any ROS 2 stack (rclcpp, rclpy, ros2 CLI, tools) can use
int2DDS as its middleware via RMW_IMPLEMENTATION=rmw_int2dds_cpp.
Status: work in progress — APIs and test results are being stabilized ahead of a request for Tier 3 status in REP 2000.
Supported ROS 2 distributions
| Distribution | Status |
|---|---|
| Humble Hawksbill (LTS) | Supported (verified) |
| Jazzy Jalisco (LTS) | Supported (verified) |
| Lyrical Luth (LTS) | Supported (verified) |
Supported platforms
| Platform | Architectures | Status |
|---|---|---|
| Ubuntu (Linux) | amd64 | Supported (verified) |
| Ubuntu (Linux) | arm64 | Target (library builds; board validation pending) |
Quick Start
# 1) Get the sources into your ROS 2 workspace
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone -b humble https://github.com/IntellectusCorp/rmw_int2dds.git
git clone https://github.com/IntellectusCorp/int2dds_ffi_vendor.git
# 2) Build
cd ~/ros2_ws
source /opt/ros/humble/setup.bash
colcon build --packages-up-to rmw_int2dds_cpp
source install/setup.bash
# 3) Select int2DDS as the middleware
export RMW_IMPLEMENTATION=rmw_int2dds_cpp
# 4) Run any ROS 2 demo
ros2 run demo_nodes_cpp talker
# in another terminal (same RMW_IMPLEMENTATION):
ros2 run demo_nodes_cpp listener
Binary install (.deb)
Prebuilt packages let you skip colcon build. Download the two .debs for your
distro + architecture from the
Releases page, then:
sudo apt install ./ros-humble-int2dds-ffi-vendor_*_amd64.deb \
./ros-humble-rmw-int2dds-cpp_*_amd64.deb
source /opt/ros/humble/setup.bash
export RMW_IMPLEMENTATION=rmw_int2dds_cpp
ros2 run demo_nodes_cpp talker
apt install ./file.deb installs the file and resolves its dependencies (the rmw
package pulls in the vendor package automatically). The RMW library and its
ament-index marker install into /opt/ros/humble/, so once the environment is
sourced only RMW_IMPLEMENTATION needs to be set.
Supported: jazzy / humble / rolling × amd64 / arm64.
armhf is best-effort — there are no official ROS 2 armhf apt packages, so an
armhf .deb only works on a system where ROS 2 was itself built from source for
armhf.
To build the packages yourself: packaging/build-deb.sh <distro> <arch> (needs
Docker; see packaging/ for the build and verification scripts).
Middleware library dependency
This package links against the closed-source int2DDS FFI library
(libint2dds_ffi.so* and int2dds-ffi.h), which is provided by the
int2dds_ffi_vendor package. The vendor package downloads the release
artifact, verifies the selected library against the manifest, and exports the
int2dds_ffi::int2dds_ffi CMake target used by this RMW package.
Test status
All results below were produced by running the listed suites directly; see
doc/ for methodology. Same-vendor and cross-vendor integration tests use the
official ROS 2 repositories (rmw_implementation, system_tests).
| Suite | Lyrical | Jazzy | Humble | |—|—|—|—|
File truncated at 100 lines see the full file
CONTRIBUTING
Contributing to rmw_int2dds_cpp
Thank you for your interest in contributing! This package is the ROS 2 RMW binding for int2DDS. For contributions to the underlying DDS core, see the int2DDS repository.
Code of Conduct
This project adheres to a Code of Conduct.
Contributor License Agreement (CLA)
By submitting a pull request you agree to the project CLA (individual / corporate).
Development Environment
Prerequisites
- A supported ROS 2 distribution (Humble or Jazzy) installed and sourced
- colcon build tool
- A C++17 compiler (GCC/Clang/MSVC), CMake >= 3.14.4
- The int2DDS core library available as a dependency
Workspace setup
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone https://github.com/IntellectusCorp/rmw_int2dds.git
cd ~/ros2_ws
rosdep install --from-paths src --ignore-src -r -y
Building and Testing
# Build
colcon build --packages-up-to rmw_int2dds_cpp
# Run this package's tests
colcon test --packages-select rmw_int2dds_cpp
colcon test-result --verbose
# Run the RMW interface conformance suite against int2DDS
RMW_IMPLEMENTATION=rmw_int2dds_cpp \
colcon test --packages-select test_rmw_implementation
Tier 3 listing requires the full
test_rmw_implementationsuite to pass.
Code Style
This package follows the ROS 2 Code Style and Language Versions guide:
- C++17, max line length 100,
.hpp/.cppextensions - Linters run as tests via
ament_lint_auto+ament_lint_common(ament_clang_format,ament_cpplint,ament_uncrustify,ament_cppcheck) - Build with
-Wall -Wextra -Wpedantic
# Run linters
colcon test --packages-select rmw_int2dds_cpp --ctest-args -R lint
Commit Messages
Use the format TYPE: short description (max 72 chars), imperative mood.
Types: FEAT, FIX, DOCS, STYLE, REFACTOR, TEST, CHORE, PERF.
Reference issues with Fixes #123.
Branch Naming
feature/, fix/, hotfix/, docs/, refactor/, test/ prefixes;
lowercase with hyphens (e.g., feature/qos-deadline).
Pull Request Process
- Rebase on the latest
upstream/main. - Ensure
colcon buildandcolcon testpass, including linters. - Update documentation and
CHANGELOG.rstif behavior or APIs changed. - Open a PR with a clear summary, rationale, and testing notes.
- Request review from maintainers.
Reporting Bugs
Open a GitHub issue with: description, reproduction steps, expected vs actual behavior, environment (OS, ROS 2 distro, int2DDS version), and logs. For security issues, follow SECURITY.md instead.
License
By contributing, you agree your contributions are licensed under the Apache License 2.0.
License of contributions
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that
File truncated at 100 lines see the full file
Repository Summary
| Checkout URI | https://github.com/IntellectusCorp/rmw_int2dds.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2026-07-15 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| rmw_int2dds_cpp | 0.1.0 |
README
ROS 2 RMW for int2DDS
Overview
rmw_int2dds_cpp lets ROS 2 applications run on top of int2DDS, a Rust
implementation of the OMG DDS standard (RTPS 2.5). It implements the ROS 2 rmw
C interface so that any ROS 2 stack (rclcpp, rclpy, ros2 CLI, tools) can use
int2DDS as its middleware via RMW_IMPLEMENTATION=rmw_int2dds_cpp.
Status: work in progress — APIs and test results are being stabilized ahead of a request for Tier 3 status in REP 2000.
Supported ROS 2 distributions
| Distribution | Status |
|---|---|
| Humble Hawksbill (LTS) | Supported (verified) |
| Jazzy Jalisco (LTS) | Supported (verified) |
| Lyrical Luth (LTS) | Supported (verified) |
Supported platforms
| Platform | Architectures | Status |
|---|---|---|
| Ubuntu (Linux) | amd64 | Supported (verified) |
| Ubuntu (Linux) | arm64 | Target (library builds; board validation pending) |
Quick Start
# 1) Get the sources into your ROS 2 workspace
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone -b humble https://github.com/IntellectusCorp/rmw_int2dds.git
git clone https://github.com/IntellectusCorp/int2dds_ffi_vendor.git
# 2) Build
cd ~/ros2_ws
source /opt/ros/humble/setup.bash
colcon build --packages-up-to rmw_int2dds_cpp
source install/setup.bash
# 3) Select int2DDS as the middleware
export RMW_IMPLEMENTATION=rmw_int2dds_cpp
# 4) Run any ROS 2 demo
ros2 run demo_nodes_cpp talker
# in another terminal (same RMW_IMPLEMENTATION):
ros2 run demo_nodes_cpp listener
Binary install (.deb)
Prebuilt packages let you skip colcon build. Download the two .debs for your
distro + architecture from the
Releases page, then:
sudo apt install ./ros-humble-int2dds-ffi-vendor_*_amd64.deb \
./ros-humble-rmw-int2dds-cpp_*_amd64.deb
source /opt/ros/humble/setup.bash
export RMW_IMPLEMENTATION=rmw_int2dds_cpp
ros2 run demo_nodes_cpp talker
apt install ./file.deb installs the file and resolves its dependencies (the rmw
package pulls in the vendor package automatically). The RMW library and its
ament-index marker install into /opt/ros/humble/, so once the environment is
sourced only RMW_IMPLEMENTATION needs to be set.
Supported: jazzy / humble / rolling × amd64 / arm64.
armhf is best-effort — there are no official ROS 2 armhf apt packages, so an
armhf .deb only works on a system where ROS 2 was itself built from source for
armhf.
To build the packages yourself: packaging/build-deb.sh <distro> <arch> (needs
Docker; see packaging/ for the build and verification scripts).
Middleware library dependency
This package links against the closed-source int2DDS FFI library
(libint2dds_ffi.so* and int2dds-ffi.h), which is provided by the
int2dds_ffi_vendor package. The vendor package downloads the release
artifact, verifies the selected library against the manifest, and exports the
int2dds_ffi::int2dds_ffi CMake target used by this RMW package.
Test status
All results below were produced by running the listed suites directly; see
doc/ for methodology. Same-vendor and cross-vendor integration tests use the
official ROS 2 repositories (rmw_implementation, system_tests).
| Suite | Lyrical | Jazzy | Humble | |—|—|—|—|
File truncated at 100 lines see the full file
CONTRIBUTING
Contributing to rmw_int2dds_cpp
Thank you for your interest in contributing! This package is the ROS 2 RMW binding for int2DDS. For contributions to the underlying DDS core, see the int2DDS repository.
Code of Conduct
This project adheres to a Code of Conduct.
Contributor License Agreement (CLA)
By submitting a pull request you agree to the project CLA (individual / corporate).
Development Environment
Prerequisites
- A supported ROS 2 distribution (Humble or Jazzy) installed and sourced
- colcon build tool
- A C++17 compiler (GCC/Clang/MSVC), CMake >= 3.14.4
- The int2DDS core library available as a dependency
Workspace setup
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone https://github.com/IntellectusCorp/rmw_int2dds.git
cd ~/ros2_ws
rosdep install --from-paths src --ignore-src -r -y
Building and Testing
# Build
colcon build --packages-up-to rmw_int2dds_cpp
# Run this package's tests
colcon test --packages-select rmw_int2dds_cpp
colcon test-result --verbose
# Run the RMW interface conformance suite against int2DDS
RMW_IMPLEMENTATION=rmw_int2dds_cpp \
colcon test --packages-select test_rmw_implementation
Tier 3 listing requires the full
test_rmw_implementationsuite to pass.
Code Style
This package follows the ROS 2 Code Style and Language Versions guide:
- C++17, max line length 100,
.hpp/.cppextensions - Linters run as tests via
ament_lint_auto+ament_lint_common(ament_clang_format,ament_cpplint,ament_uncrustify,ament_cppcheck) - Build with
-Wall -Wextra -Wpedantic
# Run linters
colcon test --packages-select rmw_int2dds_cpp --ctest-args -R lint
Commit Messages
Use the format TYPE: short description (max 72 chars), imperative mood.
Types: FEAT, FIX, DOCS, STYLE, REFACTOR, TEST, CHORE, PERF.
Reference issues with Fixes #123.
Branch Naming
feature/, fix/, hotfix/, docs/, refactor/, test/ prefixes;
lowercase with hyphens (e.g., feature/qos-deadline).
Pull Request Process
- Rebase on the latest
upstream/main. - Ensure
colcon buildandcolcon testpass, including linters. - Update documentation and
CHANGELOG.rstif behavior or APIs changed. - Open a PR with a clear summary, rationale, and testing notes.
- Request review from maintainers.
Reporting Bugs
Open a GitHub issue with: description, reproduction steps, expected vs actual behavior, environment (OS, ROS 2 distro, int2DDS version), and logs. For security issues, follow SECURITY.md instead.
License
By contributing, you agree your contributions are licensed under the Apache License 2.0.
License of contributions
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that
File truncated at 100 lines see the full file
Repository Summary
| Checkout URI | https://github.com/IntellectusCorp/rmw_int2dds.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2026-07-15 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| rmw_int2dds_cpp | 0.1.0 |
README
ROS 2 RMW for int2DDS
Overview
rmw_int2dds_cpp lets ROS 2 applications run on top of int2DDS, a Rust
implementation of the OMG DDS standard (RTPS 2.5). It implements the ROS 2 rmw
C interface so that any ROS 2 stack (rclcpp, rclpy, ros2 CLI, tools) can use
int2DDS as its middleware via RMW_IMPLEMENTATION=rmw_int2dds_cpp.
Status: work in progress — APIs and test results are being stabilized ahead of a request for Tier 3 status in REP 2000.
Supported ROS 2 distributions
| Distribution | Status |
|---|---|
| Humble Hawksbill (LTS) | Supported (verified) |
| Jazzy Jalisco (LTS) | Supported (verified) |
| Lyrical Luth (LTS) | Supported (verified) |
Supported platforms
| Platform | Architectures | Status |
|---|---|---|
| Ubuntu (Linux) | amd64 | Supported (verified) |
| Ubuntu (Linux) | arm64 | Target (library builds; board validation pending) |
Quick Start
# 1) Get the sources into your ROS 2 workspace
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone -b humble https://github.com/IntellectusCorp/rmw_int2dds.git
git clone https://github.com/IntellectusCorp/int2dds_ffi_vendor.git
# 2) Build
cd ~/ros2_ws
source /opt/ros/humble/setup.bash
colcon build --packages-up-to rmw_int2dds_cpp
source install/setup.bash
# 3) Select int2DDS as the middleware
export RMW_IMPLEMENTATION=rmw_int2dds_cpp
# 4) Run any ROS 2 demo
ros2 run demo_nodes_cpp talker
# in another terminal (same RMW_IMPLEMENTATION):
ros2 run demo_nodes_cpp listener
Binary install (.deb)
Prebuilt packages let you skip colcon build. Download the two .debs for your
distro + architecture from the
Releases page, then:
sudo apt install ./ros-humble-int2dds-ffi-vendor_*_amd64.deb \
./ros-humble-rmw-int2dds-cpp_*_amd64.deb
source /opt/ros/humble/setup.bash
export RMW_IMPLEMENTATION=rmw_int2dds_cpp
ros2 run demo_nodes_cpp talker
apt install ./file.deb installs the file and resolves its dependencies (the rmw
package pulls in the vendor package automatically). The RMW library and its
ament-index marker install into /opt/ros/humble/, so once the environment is
sourced only RMW_IMPLEMENTATION needs to be set.
Supported: jazzy / humble / rolling × amd64 / arm64.
armhf is best-effort — there are no official ROS 2 armhf apt packages, so an
armhf .deb only works on a system where ROS 2 was itself built from source for
armhf.
To build the packages yourself: packaging/build-deb.sh <distro> <arch> (needs
Docker; see packaging/ for the build and verification scripts).
Middleware library dependency
This package links against the closed-source int2DDS FFI library
(libint2dds_ffi.so* and int2dds-ffi.h), which is provided by the
int2dds_ffi_vendor package. The vendor package downloads the release
artifact, verifies the selected library against the manifest, and exports the
int2dds_ffi::int2dds_ffi CMake target used by this RMW package.
Test status
All results below were produced by running the listed suites directly; see
doc/ for methodology. Same-vendor and cross-vendor integration tests use the
official ROS 2 repositories (rmw_implementation, system_tests).
| Suite | Lyrical | Jazzy | Humble | |—|—|—|—|
File truncated at 100 lines see the full file
CONTRIBUTING
Contributing to rmw_int2dds_cpp
Thank you for your interest in contributing! This package is the ROS 2 RMW binding for int2DDS. For contributions to the underlying DDS core, see the int2DDS repository.
Code of Conduct
This project adheres to a Code of Conduct.
Contributor License Agreement (CLA)
By submitting a pull request you agree to the project CLA (individual / corporate).
Development Environment
Prerequisites
- A supported ROS 2 distribution (Humble or Jazzy) installed and sourced
- colcon build tool
- A C++17 compiler (GCC/Clang/MSVC), CMake >= 3.14.4
- The int2DDS core library available as a dependency
Workspace setup
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone https://github.com/IntellectusCorp/rmw_int2dds.git
cd ~/ros2_ws
rosdep install --from-paths src --ignore-src -r -y
Building and Testing
# Build
colcon build --packages-up-to rmw_int2dds_cpp
# Run this package's tests
colcon test --packages-select rmw_int2dds_cpp
colcon test-result --verbose
# Run the RMW interface conformance suite against int2DDS
RMW_IMPLEMENTATION=rmw_int2dds_cpp \
colcon test --packages-select test_rmw_implementation
Tier 3 listing requires the full
test_rmw_implementationsuite to pass.
Code Style
This package follows the ROS 2 Code Style and Language Versions guide:
- C++17, max line length 100,
.hpp/.cppextensions - Linters run as tests via
ament_lint_auto+ament_lint_common(ament_clang_format,ament_cpplint,ament_uncrustify,ament_cppcheck) - Build with
-Wall -Wextra -Wpedantic
# Run linters
colcon test --packages-select rmw_int2dds_cpp --ctest-args -R lint
Commit Messages
Use the format TYPE: short description (max 72 chars), imperative mood.
Types: FEAT, FIX, DOCS, STYLE, REFACTOR, TEST, CHORE, PERF.
Reference issues with Fixes #123.
Branch Naming
feature/, fix/, hotfix/, docs/, refactor/, test/ prefixes;
lowercase with hyphens (e.g., feature/qos-deadline).
Pull Request Process
- Rebase on the latest
upstream/main. - Ensure
colcon buildandcolcon testpass, including linters. - Update documentation and
CHANGELOG.rstif behavior or APIs changed. - Open a PR with a clear summary, rationale, and testing notes.
- Request review from maintainers.
Reporting Bugs
Open a GitHub issue with: description, reproduction steps, expected vs actual behavior, environment (OS, ROS 2 distro, int2DDS version), and logs. For security issues, follow SECURITY.md instead.
License
By contributing, you agree your contributions are licensed under the Apache License 2.0.
License of contributions
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that
File truncated at 100 lines see the full file
Repository Summary
| Checkout URI | https://github.com/IntellectusCorp/rmw_int2dds.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2026-07-15 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| rmw_int2dds_cpp | 0.1.0 |
README
ROS 2 RMW for int2DDS
Overview
rmw_int2dds_cpp lets ROS 2 applications run on top of int2DDS, a Rust
implementation of the OMG DDS standard (RTPS 2.5). It implements the ROS 2 rmw
C interface so that any ROS 2 stack (rclcpp, rclpy, ros2 CLI, tools) can use
int2DDS as its middleware via RMW_IMPLEMENTATION=rmw_int2dds_cpp.
Status: work in progress — APIs and test results are being stabilized ahead of a request for Tier 3 status in REP 2000.
Supported ROS 2 distributions
| Distribution | Status |
|---|---|
| Humble Hawksbill (LTS) | Supported (verified) |
| Jazzy Jalisco (LTS) | Supported (verified) |
| Lyrical Luth (LTS) | Supported (verified) |
Supported platforms
| Platform | Architectures | Status |
|---|---|---|
| Ubuntu (Linux) | amd64 | Supported (verified) |
| Ubuntu (Linux) | arm64 | Target (library builds; board validation pending) |
Quick Start
# 1) Get the sources into your ROS 2 workspace
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone -b humble https://github.com/IntellectusCorp/rmw_int2dds.git
git clone https://github.com/IntellectusCorp/int2dds_ffi_vendor.git
# 2) Build
cd ~/ros2_ws
source /opt/ros/humble/setup.bash
colcon build --packages-up-to rmw_int2dds_cpp
source install/setup.bash
# 3) Select int2DDS as the middleware
export RMW_IMPLEMENTATION=rmw_int2dds_cpp
# 4) Run any ROS 2 demo
ros2 run demo_nodes_cpp talker
# in another terminal (same RMW_IMPLEMENTATION):
ros2 run demo_nodes_cpp listener
Binary install (.deb)
Prebuilt packages let you skip colcon build. Download the two .debs for your
distro + architecture from the
Releases page, then:
sudo apt install ./ros-humble-int2dds-ffi-vendor_*_amd64.deb \
./ros-humble-rmw-int2dds-cpp_*_amd64.deb
source /opt/ros/humble/setup.bash
export RMW_IMPLEMENTATION=rmw_int2dds_cpp
ros2 run demo_nodes_cpp talker
apt install ./file.deb installs the file and resolves its dependencies (the rmw
package pulls in the vendor package automatically). The RMW library and its
ament-index marker install into /opt/ros/humble/, so once the environment is
sourced only RMW_IMPLEMENTATION needs to be set.
Supported: jazzy / humble / rolling × amd64 / arm64.
armhf is best-effort — there are no official ROS 2 armhf apt packages, so an
armhf .deb only works on a system where ROS 2 was itself built from source for
armhf.
To build the packages yourself: packaging/build-deb.sh <distro> <arch> (needs
Docker; see packaging/ for the build and verification scripts).
Middleware library dependency
This package links against the closed-source int2DDS FFI library
(libint2dds_ffi.so* and int2dds-ffi.h), which is provided by the
int2dds_ffi_vendor package. The vendor package downloads the release
artifact, verifies the selected library against the manifest, and exports the
int2dds_ffi::int2dds_ffi CMake target used by this RMW package.
Test status
All results below were produced by running the listed suites directly; see
doc/ for methodology. Same-vendor and cross-vendor integration tests use the
official ROS 2 repositories (rmw_implementation, system_tests).
| Suite | Lyrical | Jazzy | Humble | |—|—|—|—|
File truncated at 100 lines see the full file
CONTRIBUTING
Contributing to rmw_int2dds_cpp
Thank you for your interest in contributing! This package is the ROS 2 RMW binding for int2DDS. For contributions to the underlying DDS core, see the int2DDS repository.
Code of Conduct
This project adheres to a Code of Conduct.
Contributor License Agreement (CLA)
By submitting a pull request you agree to the project CLA (individual / corporate).
Development Environment
Prerequisites
- A supported ROS 2 distribution (Humble or Jazzy) installed and sourced
- colcon build tool
- A C++17 compiler (GCC/Clang/MSVC), CMake >= 3.14.4
- The int2DDS core library available as a dependency
Workspace setup
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone https://github.com/IntellectusCorp/rmw_int2dds.git
cd ~/ros2_ws
rosdep install --from-paths src --ignore-src -r -y
Building and Testing
# Build
colcon build --packages-up-to rmw_int2dds_cpp
# Run this package's tests
colcon test --packages-select rmw_int2dds_cpp
colcon test-result --verbose
# Run the RMW interface conformance suite against int2DDS
RMW_IMPLEMENTATION=rmw_int2dds_cpp \
colcon test --packages-select test_rmw_implementation
Tier 3 listing requires the full
test_rmw_implementationsuite to pass.
Code Style
This package follows the ROS 2 Code Style and Language Versions guide:
- C++17, max line length 100,
.hpp/.cppextensions - Linters run as tests via
ament_lint_auto+ament_lint_common(ament_clang_format,ament_cpplint,ament_uncrustify,ament_cppcheck) - Build with
-Wall -Wextra -Wpedantic
# Run linters
colcon test --packages-select rmw_int2dds_cpp --ctest-args -R lint
Commit Messages
Use the format TYPE: short description (max 72 chars), imperative mood.
Types: FEAT, FIX, DOCS, STYLE, REFACTOR, TEST, CHORE, PERF.
Reference issues with Fixes #123.
Branch Naming
feature/, fix/, hotfix/, docs/, refactor/, test/ prefixes;
lowercase with hyphens (e.g., feature/qos-deadline).
Pull Request Process
- Rebase on the latest
upstream/main. - Ensure
colcon buildandcolcon testpass, including linters. - Update documentation and
CHANGELOG.rstif behavior or APIs changed. - Open a PR with a clear summary, rationale, and testing notes.
- Request review from maintainers.
Reporting Bugs
Open a GitHub issue with: description, reproduction steps, expected vs actual behavior, environment (OS, ROS 2 distro, int2DDS version), and logs. For security issues, follow SECURITY.md instead.
License
By contributing, you agree your contributions are licensed under the Apache License 2.0.
License of contributions
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that
File truncated at 100 lines see the full file
Repository Summary
| Checkout URI | https://github.com/IntellectusCorp/rmw_int2dds.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2026-07-15 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| rmw_int2dds_cpp | 0.1.0 |
README
ROS 2 RMW for int2DDS
Overview
rmw_int2dds_cpp lets ROS 2 applications run on top of int2DDS, a Rust
implementation of the OMG DDS standard (RTPS 2.5). It implements the ROS 2 rmw
C interface so that any ROS 2 stack (rclcpp, rclpy, ros2 CLI, tools) can use
int2DDS as its middleware via RMW_IMPLEMENTATION=rmw_int2dds_cpp.
Status: work in progress — APIs and test results are being stabilized ahead of a request for Tier 3 status in REP 2000.
Supported ROS 2 distributions
| Distribution | Status |
|---|---|
| Humble Hawksbill (LTS) | Supported (verified) |
| Jazzy Jalisco (LTS) | Supported (verified) |
| Lyrical Luth (LTS) | Supported (verified) |
Supported platforms
| Platform | Architectures | Status |
|---|---|---|
| Ubuntu (Linux) | amd64 | Supported (verified) |
| Ubuntu (Linux) | arm64 | Target (library builds; board validation pending) |
Quick Start
# 1) Get the sources into your ROS 2 workspace
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone -b humble https://github.com/IntellectusCorp/rmw_int2dds.git
git clone https://github.com/IntellectusCorp/int2dds_ffi_vendor.git
# 2) Build
cd ~/ros2_ws
source /opt/ros/humble/setup.bash
colcon build --packages-up-to rmw_int2dds_cpp
source install/setup.bash
# 3) Select int2DDS as the middleware
export RMW_IMPLEMENTATION=rmw_int2dds_cpp
# 4) Run any ROS 2 demo
ros2 run demo_nodes_cpp talker
# in another terminal (same RMW_IMPLEMENTATION):
ros2 run demo_nodes_cpp listener
Binary install (.deb)
Prebuilt packages let you skip colcon build. Download the two .debs for your
distro + architecture from the
Releases page, then:
sudo apt install ./ros-humble-int2dds-ffi-vendor_*_amd64.deb \
./ros-humble-rmw-int2dds-cpp_*_amd64.deb
source /opt/ros/humble/setup.bash
export RMW_IMPLEMENTATION=rmw_int2dds_cpp
ros2 run demo_nodes_cpp talker
apt install ./file.deb installs the file and resolves its dependencies (the rmw
package pulls in the vendor package automatically). The RMW library and its
ament-index marker install into /opt/ros/humble/, so once the environment is
sourced only RMW_IMPLEMENTATION needs to be set.
Supported: jazzy / humble / rolling × amd64 / arm64.
armhf is best-effort — there are no official ROS 2 armhf apt packages, so an
armhf .deb only works on a system where ROS 2 was itself built from source for
armhf.
To build the packages yourself: packaging/build-deb.sh <distro> <arch> (needs
Docker; see packaging/ for the build and verification scripts).
Middleware library dependency
This package links against the closed-source int2DDS FFI library
(libint2dds_ffi.so* and int2dds-ffi.h), which is provided by the
int2dds_ffi_vendor package. The vendor package downloads the release
artifact, verifies the selected library against the manifest, and exports the
int2dds_ffi::int2dds_ffi CMake target used by this RMW package.
Test status
All results below were produced by running the listed suites directly; see
doc/ for methodology. Same-vendor and cross-vendor integration tests use the
official ROS 2 repositories (rmw_implementation, system_tests).
| Suite | Lyrical | Jazzy | Humble | |—|—|—|—|
File truncated at 100 lines see the full file
CONTRIBUTING
Contributing to rmw_int2dds_cpp
Thank you for your interest in contributing! This package is the ROS 2 RMW binding for int2DDS. For contributions to the underlying DDS core, see the int2DDS repository.
Code of Conduct
This project adheres to a Code of Conduct.
Contributor License Agreement (CLA)
By submitting a pull request you agree to the project CLA (individual / corporate).
Development Environment
Prerequisites
- A supported ROS 2 distribution (Humble or Jazzy) installed and sourced
- colcon build tool
- A C++17 compiler (GCC/Clang/MSVC), CMake >= 3.14.4
- The int2DDS core library available as a dependency
Workspace setup
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone https://github.com/IntellectusCorp/rmw_int2dds.git
cd ~/ros2_ws
rosdep install --from-paths src --ignore-src -r -y
Building and Testing
# Build
colcon build --packages-up-to rmw_int2dds_cpp
# Run this package's tests
colcon test --packages-select rmw_int2dds_cpp
colcon test-result --verbose
# Run the RMW interface conformance suite against int2DDS
RMW_IMPLEMENTATION=rmw_int2dds_cpp \
colcon test --packages-select test_rmw_implementation
Tier 3 listing requires the full
test_rmw_implementationsuite to pass.
Code Style
This package follows the ROS 2 Code Style and Language Versions guide:
- C++17, max line length 100,
.hpp/.cppextensions - Linters run as tests via
ament_lint_auto+ament_lint_common(ament_clang_format,ament_cpplint,ament_uncrustify,ament_cppcheck) - Build with
-Wall -Wextra -Wpedantic
# Run linters
colcon test --packages-select rmw_int2dds_cpp --ctest-args -R lint
Commit Messages
Use the format TYPE: short description (max 72 chars), imperative mood.
Types: FEAT, FIX, DOCS, STYLE, REFACTOR, TEST, CHORE, PERF.
Reference issues with Fixes #123.
Branch Naming
feature/, fix/, hotfix/, docs/, refactor/, test/ prefixes;
lowercase with hyphens (e.g., feature/qos-deadline).
Pull Request Process
- Rebase on the latest
upstream/main. - Ensure
colcon buildandcolcon testpass, including linters. - Update documentation and
CHANGELOG.rstif behavior or APIs changed. - Open a PR with a clear summary, rationale, and testing notes.
- Request review from maintainers.
Reporting Bugs
Open a GitHub issue with: description, reproduction steps, expected vs actual behavior, environment (OS, ROS 2 distro, int2DDS version), and logs. For security issues, follow SECURITY.md instead.
License
By contributing, you agree your contributions are licensed under the Apache License 2.0.
License of contributions
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that
File truncated at 100 lines see the full file
Repository Summary
| Checkout URI | https://github.com/IntellectusCorp/rmw_int2dds.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2026-07-15 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| rmw_int2dds_cpp | 0.1.0 |
README
ROS 2 RMW for int2DDS
Overview
rmw_int2dds_cpp lets ROS 2 applications run on top of int2DDS, a Rust
implementation of the OMG DDS standard (RTPS 2.5). It implements the ROS 2 rmw
C interface so that any ROS 2 stack (rclcpp, rclpy, ros2 CLI, tools) can use
int2DDS as its middleware via RMW_IMPLEMENTATION=rmw_int2dds_cpp.
Status: work in progress — APIs and test results are being stabilized ahead of a request for Tier 3 status in REP 2000.
Supported ROS 2 distributions
| Distribution | Status |
|---|---|
| Humble Hawksbill (LTS) | Supported (verified) |
| Jazzy Jalisco (LTS) | Supported (verified) |
| Lyrical Luth (LTS) | Supported (verified) |
Supported platforms
| Platform | Architectures | Status |
|---|---|---|
| Ubuntu (Linux) | amd64 | Supported (verified) |
| Ubuntu (Linux) | arm64 | Target (library builds; board validation pending) |
Quick Start
# 1) Get the sources into your ROS 2 workspace
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone -b humble https://github.com/IntellectusCorp/rmw_int2dds.git
git clone https://github.com/IntellectusCorp/int2dds_ffi_vendor.git
# 2) Build
cd ~/ros2_ws
source /opt/ros/humble/setup.bash
colcon build --packages-up-to rmw_int2dds_cpp
source install/setup.bash
# 3) Select int2DDS as the middleware
export RMW_IMPLEMENTATION=rmw_int2dds_cpp
# 4) Run any ROS 2 demo
ros2 run demo_nodes_cpp talker
# in another terminal (same RMW_IMPLEMENTATION):
ros2 run demo_nodes_cpp listener
Binary install (.deb)
Prebuilt packages let you skip colcon build. Download the two .debs for your
distro + architecture from the
Releases page, then:
sudo apt install ./ros-humble-int2dds-ffi-vendor_*_amd64.deb \
./ros-humble-rmw-int2dds-cpp_*_amd64.deb
source /opt/ros/humble/setup.bash
export RMW_IMPLEMENTATION=rmw_int2dds_cpp
ros2 run demo_nodes_cpp talker
apt install ./file.deb installs the file and resolves its dependencies (the rmw
package pulls in the vendor package automatically). The RMW library and its
ament-index marker install into /opt/ros/humble/, so once the environment is
sourced only RMW_IMPLEMENTATION needs to be set.
Supported: jazzy / humble / rolling × amd64 / arm64.
armhf is best-effort — there are no official ROS 2 armhf apt packages, so an
armhf .deb only works on a system where ROS 2 was itself built from source for
armhf.
To build the packages yourself: packaging/build-deb.sh <distro> <arch> (needs
Docker; see packaging/ for the build and verification scripts).
Middleware library dependency
This package links against the closed-source int2DDS FFI library
(libint2dds_ffi.so* and int2dds-ffi.h), which is provided by the
int2dds_ffi_vendor package. The vendor package downloads the release
artifact, verifies the selected library against the manifest, and exports the
int2dds_ffi::int2dds_ffi CMake target used by this RMW package.
Test status
All results below were produced by running the listed suites directly; see
doc/ for methodology. Same-vendor and cross-vendor integration tests use the
official ROS 2 repositories (rmw_implementation, system_tests).
| Suite | Lyrical | Jazzy | Humble | |—|—|—|—|
File truncated at 100 lines see the full file
CONTRIBUTING
Contributing to rmw_int2dds_cpp
Thank you for your interest in contributing! This package is the ROS 2 RMW binding for int2DDS. For contributions to the underlying DDS core, see the int2DDS repository.
Code of Conduct
This project adheres to a Code of Conduct.
Contributor License Agreement (CLA)
By submitting a pull request you agree to the project CLA (individual / corporate).
Development Environment
Prerequisites
- A supported ROS 2 distribution (Humble or Jazzy) installed and sourced
- colcon build tool
- A C++17 compiler (GCC/Clang/MSVC), CMake >= 3.14.4
- The int2DDS core library available as a dependency
Workspace setup
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone https://github.com/IntellectusCorp/rmw_int2dds.git
cd ~/ros2_ws
rosdep install --from-paths src --ignore-src -r -y
Building and Testing
# Build
colcon build --packages-up-to rmw_int2dds_cpp
# Run this package's tests
colcon test --packages-select rmw_int2dds_cpp
colcon test-result --verbose
# Run the RMW interface conformance suite against int2DDS
RMW_IMPLEMENTATION=rmw_int2dds_cpp \
colcon test --packages-select test_rmw_implementation
Tier 3 listing requires the full
test_rmw_implementationsuite to pass.
Code Style
This package follows the ROS 2 Code Style and Language Versions guide:
- C++17, max line length 100,
.hpp/.cppextensions - Linters run as tests via
ament_lint_auto+ament_lint_common(ament_clang_format,ament_cpplint,ament_uncrustify,ament_cppcheck) - Build with
-Wall -Wextra -Wpedantic
# Run linters
colcon test --packages-select rmw_int2dds_cpp --ctest-args -R lint
Commit Messages
Use the format TYPE: short description (max 72 chars), imperative mood.
Types: FEAT, FIX, DOCS, STYLE, REFACTOR, TEST, CHORE, PERF.
Reference issues with Fixes #123.
Branch Naming
feature/, fix/, hotfix/, docs/, refactor/, test/ prefixes;
lowercase with hyphens (e.g., feature/qos-deadline).
Pull Request Process
- Rebase on the latest
upstream/main. - Ensure
colcon buildandcolcon testpass, including linters. - Update documentation and
CHANGELOG.rstif behavior or APIs changed. - Open a PR with a clear summary, rationale, and testing notes.
- Request review from maintainers.
Reporting Bugs
Open a GitHub issue with: description, reproduction steps, expected vs actual behavior, environment (OS, ROS 2 distro, int2DDS version), and logs. For security issues, follow SECURITY.md instead.
License
By contributing, you agree your contributions are licensed under the Apache License 2.0.
License of contributions
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that
File truncated at 100 lines see the full file
Repository Summary
| Checkout URI | https://github.com/IntellectusCorp/rmw_int2dds.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2026-07-15 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| rmw_int2dds_cpp | 0.1.0 |
README
ROS 2 RMW for int2DDS
Overview
rmw_int2dds_cpp lets ROS 2 applications run on top of int2DDS, a Rust
implementation of the OMG DDS standard (RTPS 2.5). It implements the ROS 2 rmw
C interface so that any ROS 2 stack (rclcpp, rclpy, ros2 CLI, tools) can use
int2DDS as its middleware via RMW_IMPLEMENTATION=rmw_int2dds_cpp.
Status: work in progress — APIs and test results are being stabilized ahead of a request for Tier 3 status in REP 2000.
Supported ROS 2 distributions
| Distribution | Status |
|---|---|
| Humble Hawksbill (LTS) | Supported (verified) |
| Jazzy Jalisco (LTS) | Supported (verified) |
| Lyrical Luth (LTS) | Supported (verified) |
Supported platforms
| Platform | Architectures | Status |
|---|---|---|
| Ubuntu (Linux) | amd64 | Supported (verified) |
| Ubuntu (Linux) | arm64 | Target (library builds; board validation pending) |
Quick Start
# 1) Get the sources into your ROS 2 workspace
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone -b humble https://github.com/IntellectusCorp/rmw_int2dds.git
git clone https://github.com/IntellectusCorp/int2dds_ffi_vendor.git
# 2) Build
cd ~/ros2_ws
source /opt/ros/humble/setup.bash
colcon build --packages-up-to rmw_int2dds_cpp
source install/setup.bash
# 3) Select int2DDS as the middleware
export RMW_IMPLEMENTATION=rmw_int2dds_cpp
# 4) Run any ROS 2 demo
ros2 run demo_nodes_cpp talker
# in another terminal (same RMW_IMPLEMENTATION):
ros2 run demo_nodes_cpp listener
Binary install (.deb)
Prebuilt packages let you skip colcon build. Download the two .debs for your
distro + architecture from the
Releases page, then:
sudo apt install ./ros-humble-int2dds-ffi-vendor_*_amd64.deb \
./ros-humble-rmw-int2dds-cpp_*_amd64.deb
source /opt/ros/humble/setup.bash
export RMW_IMPLEMENTATION=rmw_int2dds_cpp
ros2 run demo_nodes_cpp talker
apt install ./file.deb installs the file and resolves its dependencies (the rmw
package pulls in the vendor package automatically). The RMW library and its
ament-index marker install into /opt/ros/humble/, so once the environment is
sourced only RMW_IMPLEMENTATION needs to be set.
Supported: jazzy / humble / rolling × amd64 / arm64.
armhf is best-effort — there are no official ROS 2 armhf apt packages, so an
armhf .deb only works on a system where ROS 2 was itself built from source for
armhf.
To build the packages yourself: packaging/build-deb.sh <distro> <arch> (needs
Docker; see packaging/ for the build and verification scripts).
Middleware library dependency
This package links against the closed-source int2DDS FFI library
(libint2dds_ffi.so* and int2dds-ffi.h), which is provided by the
int2dds_ffi_vendor package. The vendor package downloads the release
artifact, verifies the selected library against the manifest, and exports the
int2dds_ffi::int2dds_ffi CMake target used by this RMW package.
Test status
All results below were produced by running the listed suites directly; see
doc/ for methodology. Same-vendor and cross-vendor integration tests use the
official ROS 2 repositories (rmw_implementation, system_tests).
| Suite | Lyrical | Jazzy | Humble | |—|—|—|—|
File truncated at 100 lines see the full file
CONTRIBUTING
Contributing to rmw_int2dds_cpp
Thank you for your interest in contributing! This package is the ROS 2 RMW binding for int2DDS. For contributions to the underlying DDS core, see the int2DDS repository.
Code of Conduct
This project adheres to a Code of Conduct.
Contributor License Agreement (CLA)
By submitting a pull request you agree to the project CLA (individual / corporate).
Development Environment
Prerequisites
- A supported ROS 2 distribution (Humble or Jazzy) installed and sourced
- colcon build tool
- A C++17 compiler (GCC/Clang/MSVC), CMake >= 3.14.4
- The int2DDS core library available as a dependency
Workspace setup
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone https://github.com/IntellectusCorp/rmw_int2dds.git
cd ~/ros2_ws
rosdep install --from-paths src --ignore-src -r -y
Building and Testing
# Build
colcon build --packages-up-to rmw_int2dds_cpp
# Run this package's tests
colcon test --packages-select rmw_int2dds_cpp
colcon test-result --verbose
# Run the RMW interface conformance suite against int2DDS
RMW_IMPLEMENTATION=rmw_int2dds_cpp \
colcon test --packages-select test_rmw_implementation
Tier 3 listing requires the full
test_rmw_implementationsuite to pass.
Code Style
This package follows the ROS 2 Code Style and Language Versions guide:
- C++17, max line length 100,
.hpp/.cppextensions - Linters run as tests via
ament_lint_auto+ament_lint_common(ament_clang_format,ament_cpplint,ament_uncrustify,ament_cppcheck) - Build with
-Wall -Wextra -Wpedantic
# Run linters
colcon test --packages-select rmw_int2dds_cpp --ctest-args -R lint
Commit Messages
Use the format TYPE: short description (max 72 chars), imperative mood.
Types: FEAT, FIX, DOCS, STYLE, REFACTOR, TEST, CHORE, PERF.
Reference issues with Fixes #123.
Branch Naming
feature/, fix/, hotfix/, docs/, refactor/, test/ prefixes;
lowercase with hyphens (e.g., feature/qos-deadline).
Pull Request Process
- Rebase on the latest
upstream/main. - Ensure
colcon buildandcolcon testpass, including linters. - Update documentation and
CHANGELOG.rstif behavior or APIs changed. - Open a PR with a clear summary, rationale, and testing notes.
- Request review from maintainers.
Reporting Bugs
Open a GitHub issue with: description, reproduction steps, expected vs actual behavior, environment (OS, ROS 2 distro, int2DDS version), and logs. For security issues, follow SECURITY.md instead.
License
By contributing, you agree your contributions are licensed under the Apache License 2.0.
License of contributions
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that
File truncated at 100 lines see the full file
Repository Summary
| Checkout URI | https://github.com/IntellectusCorp/rmw_int2dds.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2026-07-15 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| rmw_int2dds_cpp | 0.1.0 |
README
ROS 2 RMW for int2DDS
Overview
rmw_int2dds_cpp lets ROS 2 applications run on top of int2DDS, a Rust
implementation of the OMG DDS standard (RTPS 2.5). It implements the ROS 2 rmw
C interface so that any ROS 2 stack (rclcpp, rclpy, ros2 CLI, tools) can use
int2DDS as its middleware via RMW_IMPLEMENTATION=rmw_int2dds_cpp.
Status: work in progress — APIs and test results are being stabilized ahead of a request for Tier 3 status in REP 2000.
Supported ROS 2 distributions
| Distribution | Status |
|---|---|
| Humble Hawksbill (LTS) | Supported (verified) |
| Jazzy Jalisco (LTS) | Supported (verified) |
| Lyrical Luth (LTS) | Supported (verified) |
Supported platforms
| Platform | Architectures | Status |
|---|---|---|
| Ubuntu (Linux) | amd64 | Supported (verified) |
| Ubuntu (Linux) | arm64 | Target (library builds; board validation pending) |
Quick Start
# 1) Get the sources into your ROS 2 workspace
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone -b humble https://github.com/IntellectusCorp/rmw_int2dds.git
git clone https://github.com/IntellectusCorp/int2dds_ffi_vendor.git
# 2) Build
cd ~/ros2_ws
source /opt/ros/humble/setup.bash
colcon build --packages-up-to rmw_int2dds_cpp
source install/setup.bash
# 3) Select int2DDS as the middleware
export RMW_IMPLEMENTATION=rmw_int2dds_cpp
# 4) Run any ROS 2 demo
ros2 run demo_nodes_cpp talker
# in another terminal (same RMW_IMPLEMENTATION):
ros2 run demo_nodes_cpp listener
Binary install (.deb)
Prebuilt packages let you skip colcon build. Download the two .debs for your
distro + architecture from the
Releases page, then:
sudo apt install ./ros-humble-int2dds-ffi-vendor_*_amd64.deb \
./ros-humble-rmw-int2dds-cpp_*_amd64.deb
source /opt/ros/humble/setup.bash
export RMW_IMPLEMENTATION=rmw_int2dds_cpp
ros2 run demo_nodes_cpp talker
apt install ./file.deb installs the file and resolves its dependencies (the rmw
package pulls in the vendor package automatically). The RMW library and its
ament-index marker install into /opt/ros/humble/, so once the environment is
sourced only RMW_IMPLEMENTATION needs to be set.
Supported: jazzy / humble / rolling × amd64 / arm64.
armhf is best-effort — there are no official ROS 2 armhf apt packages, so an
armhf .deb only works on a system where ROS 2 was itself built from source for
armhf.
To build the packages yourself: packaging/build-deb.sh <distro> <arch> (needs
Docker; see packaging/ for the build and verification scripts).
Middleware library dependency
This package links against the closed-source int2DDS FFI library
(libint2dds_ffi.so* and int2dds-ffi.h), which is provided by the
int2dds_ffi_vendor package. The vendor package downloads the release
artifact, verifies the selected library against the manifest, and exports the
int2dds_ffi::int2dds_ffi CMake target used by this RMW package.
Test status
All results below were produced by running the listed suites directly; see
doc/ for methodology. Same-vendor and cross-vendor integration tests use the
official ROS 2 repositories (rmw_implementation, system_tests).
| Suite | Lyrical | Jazzy | Humble | |—|—|—|—|
File truncated at 100 lines see the full file
CONTRIBUTING
Contributing to rmw_int2dds_cpp
Thank you for your interest in contributing! This package is the ROS 2 RMW binding for int2DDS. For contributions to the underlying DDS core, see the int2DDS repository.
Code of Conduct
This project adheres to a Code of Conduct.
Contributor License Agreement (CLA)
By submitting a pull request you agree to the project CLA (individual / corporate).
Development Environment
Prerequisites
- A supported ROS 2 distribution (Humble or Jazzy) installed and sourced
- colcon build tool
- A C++17 compiler (GCC/Clang/MSVC), CMake >= 3.14.4
- The int2DDS core library available as a dependency
Workspace setup
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone https://github.com/IntellectusCorp/rmw_int2dds.git
cd ~/ros2_ws
rosdep install --from-paths src --ignore-src -r -y
Building and Testing
# Build
colcon build --packages-up-to rmw_int2dds_cpp
# Run this package's tests
colcon test --packages-select rmw_int2dds_cpp
colcon test-result --verbose
# Run the RMW interface conformance suite against int2DDS
RMW_IMPLEMENTATION=rmw_int2dds_cpp \
colcon test --packages-select test_rmw_implementation
Tier 3 listing requires the full
test_rmw_implementationsuite to pass.
Code Style
This package follows the ROS 2 Code Style and Language Versions guide:
- C++17, max line length 100,
.hpp/.cppextensions - Linters run as tests via
ament_lint_auto+ament_lint_common(ament_clang_format,ament_cpplint,ament_uncrustify,ament_cppcheck) - Build with
-Wall -Wextra -Wpedantic
# Run linters
colcon test --packages-select rmw_int2dds_cpp --ctest-args -R lint
Commit Messages
Use the format TYPE: short description (max 72 chars), imperative mood.
Types: FEAT, FIX, DOCS, STYLE, REFACTOR, TEST, CHORE, PERF.
Reference issues with Fixes #123.
Branch Naming
feature/, fix/, hotfix/, docs/, refactor/, test/ prefixes;
lowercase with hyphens (e.g., feature/qos-deadline).
Pull Request Process
- Rebase on the latest
upstream/main. - Ensure
colcon buildandcolcon testpass, including linters. - Update documentation and
CHANGELOG.rstif behavior or APIs changed. - Open a PR with a clear summary, rationale, and testing notes.
- Request review from maintainers.
Reporting Bugs
Open a GitHub issue with: description, reproduction steps, expected vs actual behavior, environment (OS, ROS 2 distro, int2DDS version), and logs. For security issues, follow SECURITY.md instead.
License
By contributing, you agree your contributions are licensed under the Apache License 2.0.
License of contributions
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that
File truncated at 100 lines see the full file
Repository Summary
| Checkout URI | https://github.com/IntellectusCorp/rmw_int2dds.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2026-07-15 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| rmw_int2dds_cpp | 0.1.0 |
README
ROS 2 RMW for int2DDS
Overview
rmw_int2dds_cpp lets ROS 2 applications run on top of int2DDS, a Rust
implementation of the OMG DDS standard (RTPS 2.5). It implements the ROS 2 rmw
C interface so that any ROS 2 stack (rclcpp, rclpy, ros2 CLI, tools) can use
int2DDS as its middleware via RMW_IMPLEMENTATION=rmw_int2dds_cpp.
Status: work in progress — APIs and test results are being stabilized ahead of a request for Tier 3 status in REP 2000.
Supported ROS 2 distributions
| Distribution | Status |
|---|---|
| Humble Hawksbill (LTS) | Supported (verified) |
| Jazzy Jalisco (LTS) | Supported (verified) |
| Lyrical Luth (LTS) | Supported (verified) |
Supported platforms
| Platform | Architectures | Status |
|---|---|---|
| Ubuntu (Linux) | amd64 | Supported (verified) |
| Ubuntu (Linux) | arm64 | Target (library builds; board validation pending) |
Quick Start
# 1) Get the sources into your ROS 2 workspace
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone -b humble https://github.com/IntellectusCorp/rmw_int2dds.git
git clone https://github.com/IntellectusCorp/int2dds_ffi_vendor.git
# 2) Build
cd ~/ros2_ws
source /opt/ros/humble/setup.bash
colcon build --packages-up-to rmw_int2dds_cpp
source install/setup.bash
# 3) Select int2DDS as the middleware
export RMW_IMPLEMENTATION=rmw_int2dds_cpp
# 4) Run any ROS 2 demo
ros2 run demo_nodes_cpp talker
# in another terminal (same RMW_IMPLEMENTATION):
ros2 run demo_nodes_cpp listener
Binary install (.deb)
Prebuilt packages let you skip colcon build. Download the two .debs for your
distro + architecture from the
Releases page, then:
sudo apt install ./ros-humble-int2dds-ffi-vendor_*_amd64.deb \
./ros-humble-rmw-int2dds-cpp_*_amd64.deb
source /opt/ros/humble/setup.bash
export RMW_IMPLEMENTATION=rmw_int2dds_cpp
ros2 run demo_nodes_cpp talker
apt install ./file.deb installs the file and resolves its dependencies (the rmw
package pulls in the vendor package automatically). The RMW library and its
ament-index marker install into /opt/ros/humble/, so once the environment is
sourced only RMW_IMPLEMENTATION needs to be set.
Supported: jazzy / humble / rolling × amd64 / arm64.
armhf is best-effort — there are no official ROS 2 armhf apt packages, so an
armhf .deb only works on a system where ROS 2 was itself built from source for
armhf.
To build the packages yourself: packaging/build-deb.sh <distro> <arch> (needs
Docker; see packaging/ for the build and verification scripts).
Middleware library dependency
This package links against the closed-source int2DDS FFI library
(libint2dds_ffi.so* and int2dds-ffi.h), which is provided by the
int2dds_ffi_vendor package. The vendor package downloads the release
artifact, verifies the selected library against the manifest, and exports the
int2dds_ffi::int2dds_ffi CMake target used by this RMW package.
Test status
All results below were produced by running the listed suites directly; see
doc/ for methodology. Same-vendor and cross-vendor integration tests use the
official ROS 2 repositories (rmw_implementation, system_tests).
| Suite | Lyrical | Jazzy | Humble | |—|—|—|—|
File truncated at 100 lines see the full file
CONTRIBUTING
Contributing to rmw_int2dds_cpp
Thank you for your interest in contributing! This package is the ROS 2 RMW binding for int2DDS. For contributions to the underlying DDS core, see the int2DDS repository.
Code of Conduct
This project adheres to a Code of Conduct.
Contributor License Agreement (CLA)
By submitting a pull request you agree to the project CLA (individual / corporate).
Development Environment
Prerequisites
- A supported ROS 2 distribution (Humble or Jazzy) installed and sourced
- colcon build tool
- A C++17 compiler (GCC/Clang/MSVC), CMake >= 3.14.4
- The int2DDS core library available as a dependency
Workspace setup
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone https://github.com/IntellectusCorp/rmw_int2dds.git
cd ~/ros2_ws
rosdep install --from-paths src --ignore-src -r -y
Building and Testing
# Build
colcon build --packages-up-to rmw_int2dds_cpp
# Run this package's tests
colcon test --packages-select rmw_int2dds_cpp
colcon test-result --verbose
# Run the RMW interface conformance suite against int2DDS
RMW_IMPLEMENTATION=rmw_int2dds_cpp \
colcon test --packages-select test_rmw_implementation
Tier 3 listing requires the full
test_rmw_implementationsuite to pass.
Code Style
This package follows the ROS 2 Code Style and Language Versions guide:
- C++17, max line length 100,
.hpp/.cppextensions - Linters run as tests via
ament_lint_auto+ament_lint_common(ament_clang_format,ament_cpplint,ament_uncrustify,ament_cppcheck) - Build with
-Wall -Wextra -Wpedantic
# Run linters
colcon test --packages-select rmw_int2dds_cpp --ctest-args -R lint
Commit Messages
Use the format TYPE: short description (max 72 chars), imperative mood.
Types: FEAT, FIX, DOCS, STYLE, REFACTOR, TEST, CHORE, PERF.
Reference issues with Fixes #123.
Branch Naming
feature/, fix/, hotfix/, docs/, refactor/, test/ prefixes;
lowercase with hyphens (e.g., feature/qos-deadline).
Pull Request Process
- Rebase on the latest
upstream/main. - Ensure
colcon buildandcolcon testpass, including linters. - Update documentation and
CHANGELOG.rstif behavior or APIs changed. - Open a PR with a clear summary, rationale, and testing notes.
- Request review from maintainers.
Reporting Bugs
Open a GitHub issue with: description, reproduction steps, expected vs actual behavior, environment (OS, ROS 2 distro, int2DDS version), and logs. For security issues, follow SECURITY.md instead.
License
By contributing, you agree your contributions are licensed under the Apache License 2.0.
License of contributions
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that
File truncated at 100 lines see the full file
Repository Summary
| Checkout URI | https://github.com/IntellectusCorp/rmw_int2dds.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2026-07-15 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| rmw_int2dds_cpp | 0.1.0 |
README
ROS 2 RMW for int2DDS
Overview
rmw_int2dds_cpp lets ROS 2 applications run on top of int2DDS, a Rust
implementation of the OMG DDS standard (RTPS 2.5). It implements the ROS 2 rmw
C interface so that any ROS 2 stack (rclcpp, rclpy, ros2 CLI, tools) can use
int2DDS as its middleware via RMW_IMPLEMENTATION=rmw_int2dds_cpp.
Status: work in progress — APIs and test results are being stabilized ahead of a request for Tier 3 status in REP 2000.
Supported ROS 2 distributions
| Distribution | Status |
|---|---|
| Humble Hawksbill (LTS) | Supported (verified) |
| Jazzy Jalisco (LTS) | Supported (verified) |
| Lyrical Luth (LTS) | Supported (verified) |
Supported platforms
| Platform | Architectures | Status |
|---|---|---|
| Ubuntu (Linux) | amd64 | Supported (verified) |
| Ubuntu (Linux) | arm64 | Target (library builds; board validation pending) |
Quick Start
# 1) Get the sources into your ROS 2 workspace
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone -b humble https://github.com/IntellectusCorp/rmw_int2dds.git
git clone https://github.com/IntellectusCorp/int2dds_ffi_vendor.git
# 2) Build
cd ~/ros2_ws
source /opt/ros/humble/setup.bash
colcon build --packages-up-to rmw_int2dds_cpp
source install/setup.bash
# 3) Select int2DDS as the middleware
export RMW_IMPLEMENTATION=rmw_int2dds_cpp
# 4) Run any ROS 2 demo
ros2 run demo_nodes_cpp talker
# in another terminal (same RMW_IMPLEMENTATION):
ros2 run demo_nodes_cpp listener
Binary install (.deb)
Prebuilt packages let you skip colcon build. Download the two .debs for your
distro + architecture from the
Releases page, then:
sudo apt install ./ros-humble-int2dds-ffi-vendor_*_amd64.deb \
./ros-humble-rmw-int2dds-cpp_*_amd64.deb
source /opt/ros/humble/setup.bash
export RMW_IMPLEMENTATION=rmw_int2dds_cpp
ros2 run demo_nodes_cpp talker
apt install ./file.deb installs the file and resolves its dependencies (the rmw
package pulls in the vendor package automatically). The RMW library and its
ament-index marker install into /opt/ros/humble/, so once the environment is
sourced only RMW_IMPLEMENTATION needs to be set.
Supported: jazzy / humble / rolling × amd64 / arm64.
armhf is best-effort — there are no official ROS 2 armhf apt packages, so an
armhf .deb only works on a system where ROS 2 was itself built from source for
armhf.
To build the packages yourself: packaging/build-deb.sh <distro> <arch> (needs
Docker; see packaging/ for the build and verification scripts).
Middleware library dependency
This package links against the closed-source int2DDS FFI library
(libint2dds_ffi.so* and int2dds-ffi.h), which is provided by the
int2dds_ffi_vendor package. The vendor package downloads the release
artifact, verifies the selected library against the manifest, and exports the
int2dds_ffi::int2dds_ffi CMake target used by this RMW package.
Test status
All results below were produced by running the listed suites directly; see
doc/ for methodology. Same-vendor and cross-vendor integration tests use the
official ROS 2 repositories (rmw_implementation, system_tests).
| Suite | Lyrical | Jazzy | Humble | |—|—|—|—|
File truncated at 100 lines see the full file
CONTRIBUTING
Contributing to rmw_int2dds_cpp
Thank you for your interest in contributing! This package is the ROS 2 RMW binding for int2DDS. For contributions to the underlying DDS core, see the int2DDS repository.
Code of Conduct
This project adheres to a Code of Conduct.
Contributor License Agreement (CLA)
By submitting a pull request you agree to the project CLA (individual / corporate).
Development Environment
Prerequisites
- A supported ROS 2 distribution (Humble or Jazzy) installed and sourced
- colcon build tool
- A C++17 compiler (GCC/Clang/MSVC), CMake >= 3.14.4
- The int2DDS core library available as a dependency
Workspace setup
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone https://github.com/IntellectusCorp/rmw_int2dds.git
cd ~/ros2_ws
rosdep install --from-paths src --ignore-src -r -y
Building and Testing
# Build
colcon build --packages-up-to rmw_int2dds_cpp
# Run this package's tests
colcon test --packages-select rmw_int2dds_cpp
colcon test-result --verbose
# Run the RMW interface conformance suite against int2DDS
RMW_IMPLEMENTATION=rmw_int2dds_cpp \
colcon test --packages-select test_rmw_implementation
Tier 3 listing requires the full
test_rmw_implementationsuite to pass.
Code Style
This package follows the ROS 2 Code Style and Language Versions guide:
- C++17, max line length 100,
.hpp/.cppextensions - Linters run as tests via
ament_lint_auto+ament_lint_common(ament_clang_format,ament_cpplint,ament_uncrustify,ament_cppcheck) - Build with
-Wall -Wextra -Wpedantic
# Run linters
colcon test --packages-select rmw_int2dds_cpp --ctest-args -R lint
Commit Messages
Use the format TYPE: short description (max 72 chars), imperative mood.
Types: FEAT, FIX, DOCS, STYLE, REFACTOR, TEST, CHORE, PERF.
Reference issues with Fixes #123.
Branch Naming
feature/, fix/, hotfix/, docs/, refactor/, test/ prefixes;
lowercase with hyphens (e.g., feature/qos-deadline).
Pull Request Process
- Rebase on the latest
upstream/main. - Ensure
colcon buildandcolcon testpass, including linters. - Update documentation and
CHANGELOG.rstif behavior or APIs changed. - Open a PR with a clear summary, rationale, and testing notes.
- Request review from maintainers.
Reporting Bugs
Open a GitHub issue with: description, reproduction steps, expected vs actual behavior, environment (OS, ROS 2 distro, int2DDS version), and logs. For security issues, follow SECURITY.md instead.
License
By contributing, you agree your contributions are licensed under the Apache License 2.0.
License of contributions
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that
File truncated at 100 lines see the full file
Repository Summary
| Checkout URI | https://github.com/IntellectusCorp/rmw_int2dds.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2026-07-15 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| rmw_int2dds_cpp | 0.1.0 |
README
ROS 2 RMW for int2DDS
Overview
rmw_int2dds_cpp lets ROS 2 applications run on top of int2DDS, a Rust
implementation of the OMG DDS standard (RTPS 2.5). It implements the ROS 2 rmw
C interface so that any ROS 2 stack (rclcpp, rclpy, ros2 CLI, tools) can use
int2DDS as its middleware via RMW_IMPLEMENTATION=rmw_int2dds_cpp.
Status: work in progress — APIs and test results are being stabilized ahead of a request for Tier 3 status in REP 2000.
Supported ROS 2 distributions
| Distribution | Status |
|---|---|
| Humble Hawksbill (LTS) | Supported (verified) |
| Jazzy Jalisco (LTS) | Supported (verified) |
| Lyrical Luth (LTS) | Supported (verified) |
Supported platforms
| Platform | Architectures | Status |
|---|---|---|
| Ubuntu (Linux) | amd64 | Supported (verified) |
| Ubuntu (Linux) | arm64 | Target (library builds; board validation pending) |
Quick Start
# 1) Get the sources into your ROS 2 workspace
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone -b humble https://github.com/IntellectusCorp/rmw_int2dds.git
git clone https://github.com/IntellectusCorp/int2dds_ffi_vendor.git
# 2) Build
cd ~/ros2_ws
source /opt/ros/humble/setup.bash
colcon build --packages-up-to rmw_int2dds_cpp
source install/setup.bash
# 3) Select int2DDS as the middleware
export RMW_IMPLEMENTATION=rmw_int2dds_cpp
# 4) Run any ROS 2 demo
ros2 run demo_nodes_cpp talker
# in another terminal (same RMW_IMPLEMENTATION):
ros2 run demo_nodes_cpp listener
Binary install (.deb)
Prebuilt packages let you skip colcon build. Download the two .debs for your
distro + architecture from the
Releases page, then:
sudo apt install ./ros-humble-int2dds-ffi-vendor_*_amd64.deb \
./ros-humble-rmw-int2dds-cpp_*_amd64.deb
source /opt/ros/humble/setup.bash
export RMW_IMPLEMENTATION=rmw_int2dds_cpp
ros2 run demo_nodes_cpp talker
apt install ./file.deb installs the file and resolves its dependencies (the rmw
package pulls in the vendor package automatically). The RMW library and its
ament-index marker install into /opt/ros/humble/, so once the environment is
sourced only RMW_IMPLEMENTATION needs to be set.
Supported: jazzy / humble / rolling × amd64 / arm64.
armhf is best-effort — there are no official ROS 2 armhf apt packages, so an
armhf .deb only works on a system where ROS 2 was itself built from source for
armhf.
To build the packages yourself: packaging/build-deb.sh <distro> <arch> (needs
Docker; see packaging/ for the build and verification scripts).
Middleware library dependency
This package links against the closed-source int2DDS FFI library
(libint2dds_ffi.so* and int2dds-ffi.h), which is provided by the
int2dds_ffi_vendor package. The vendor package downloads the release
artifact, verifies the selected library against the manifest, and exports the
int2dds_ffi::int2dds_ffi CMake target used by this RMW package.
Test status
All results below were produced by running the listed suites directly; see
doc/ for methodology. Same-vendor and cross-vendor integration tests use the
official ROS 2 repositories (rmw_implementation, system_tests).
| Suite | Lyrical | Jazzy | Humble | |—|—|—|—|
File truncated at 100 lines see the full file
CONTRIBUTING
Contributing to rmw_int2dds_cpp
Thank you for your interest in contributing! This package is the ROS 2 RMW binding for int2DDS. For contributions to the underlying DDS core, see the int2DDS repository.
Code of Conduct
This project adheres to a Code of Conduct.
Contributor License Agreement (CLA)
By submitting a pull request you agree to the project CLA (individual / corporate).
Development Environment
Prerequisites
- A supported ROS 2 distribution (Humble or Jazzy) installed and sourced
- colcon build tool
- A C++17 compiler (GCC/Clang/MSVC), CMake >= 3.14.4
- The int2DDS core library available as a dependency
Workspace setup
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone https://github.com/IntellectusCorp/rmw_int2dds.git
cd ~/ros2_ws
rosdep install --from-paths src --ignore-src -r -y
Building and Testing
# Build
colcon build --packages-up-to rmw_int2dds_cpp
# Run this package's tests
colcon test --packages-select rmw_int2dds_cpp
colcon test-result --verbose
# Run the RMW interface conformance suite against int2DDS
RMW_IMPLEMENTATION=rmw_int2dds_cpp \
colcon test --packages-select test_rmw_implementation
Tier 3 listing requires the full
test_rmw_implementationsuite to pass.
Code Style
This package follows the ROS 2 Code Style and Language Versions guide:
- C++17, max line length 100,
.hpp/.cppextensions - Linters run as tests via
ament_lint_auto+ament_lint_common(ament_clang_format,ament_cpplint,ament_uncrustify,ament_cppcheck) - Build with
-Wall -Wextra -Wpedantic
# Run linters
colcon test --packages-select rmw_int2dds_cpp --ctest-args -R lint
Commit Messages
Use the format TYPE: short description (max 72 chars), imperative mood.
Types: FEAT, FIX, DOCS, STYLE, REFACTOR, TEST, CHORE, PERF.
Reference issues with Fixes #123.
Branch Naming
feature/, fix/, hotfix/, docs/, refactor/, test/ prefixes;
lowercase with hyphens (e.g., feature/qos-deadline).
Pull Request Process
- Rebase on the latest
upstream/main. - Ensure
colcon buildandcolcon testpass, including linters. - Update documentation and
CHANGELOG.rstif behavior or APIs changed. - Open a PR with a clear summary, rationale, and testing notes.
- Request review from maintainers.
Reporting Bugs
Open a GitHub issue with: description, reproduction steps, expected vs actual behavior, environment (OS, ROS 2 distro, int2DDS version), and logs. For security issues, follow SECURITY.md instead.
License
By contributing, you agree your contributions are licensed under the Apache License 2.0.
License of contributions
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that
File truncated at 100 lines see the full file
Repository Summary
| Checkout URI | https://github.com/IntellectusCorp/rmw_int2dds.git |
| VCS Type | git |
| VCS Version | humble |
| Last Updated | 2026-07-15 |
| Dev Status | DEVELOPED |
| Released | UNRELEASED |
| Contributing |
Help Wanted (-)
Good First Issues (-) Pull Requests to Review (-) |
Packages
| Name | Version |
|---|---|
| rmw_int2dds_cpp | 0.1.0 |
README
ROS 2 RMW for int2DDS
Overview
rmw_int2dds_cpp lets ROS 2 applications run on top of int2DDS, a Rust
implementation of the OMG DDS standard (RTPS 2.5). It implements the ROS 2 rmw
C interface so that any ROS 2 stack (rclcpp, rclpy, ros2 CLI, tools) can use
int2DDS as its middleware via RMW_IMPLEMENTATION=rmw_int2dds_cpp.
Status: work in progress — APIs and test results are being stabilized ahead of a request for Tier 3 status in REP 2000.
Supported ROS 2 distributions
| Distribution | Status |
|---|---|
| Humble Hawksbill (LTS) | Supported (verified) |
| Jazzy Jalisco (LTS) | Supported (verified) |
| Lyrical Luth (LTS) | Supported (verified) |
Supported platforms
| Platform | Architectures | Status |
|---|---|---|
| Ubuntu (Linux) | amd64 | Supported (verified) |
| Ubuntu (Linux) | arm64 | Target (library builds; board validation pending) |
Quick Start
# 1) Get the sources into your ROS 2 workspace
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone -b humble https://github.com/IntellectusCorp/rmw_int2dds.git
git clone https://github.com/IntellectusCorp/int2dds_ffi_vendor.git
# 2) Build
cd ~/ros2_ws
source /opt/ros/humble/setup.bash
colcon build --packages-up-to rmw_int2dds_cpp
source install/setup.bash
# 3) Select int2DDS as the middleware
export RMW_IMPLEMENTATION=rmw_int2dds_cpp
# 4) Run any ROS 2 demo
ros2 run demo_nodes_cpp talker
# in another terminal (same RMW_IMPLEMENTATION):
ros2 run demo_nodes_cpp listener
Binary install (.deb)
Prebuilt packages let you skip colcon build. Download the two .debs for your
distro + architecture from the
Releases page, then:
sudo apt install ./ros-humble-int2dds-ffi-vendor_*_amd64.deb \
./ros-humble-rmw-int2dds-cpp_*_amd64.deb
source /opt/ros/humble/setup.bash
export RMW_IMPLEMENTATION=rmw_int2dds_cpp
ros2 run demo_nodes_cpp talker
apt install ./file.deb installs the file and resolves its dependencies (the rmw
package pulls in the vendor package automatically). The RMW library and its
ament-index marker install into /opt/ros/humble/, so once the environment is
sourced only RMW_IMPLEMENTATION needs to be set.
Supported: jazzy / humble / rolling × amd64 / arm64.
armhf is best-effort — there are no official ROS 2 armhf apt packages, so an
armhf .deb only works on a system where ROS 2 was itself built from source for
armhf.
To build the packages yourself: packaging/build-deb.sh <distro> <arch> (needs
Docker; see packaging/ for the build and verification scripts).
Middleware library dependency
This package links against the closed-source int2DDS FFI library
(libint2dds_ffi.so* and int2dds-ffi.h), which is provided by the
int2dds_ffi_vendor package. The vendor package downloads the release
artifact, verifies the selected library against the manifest, and exports the
int2dds_ffi::int2dds_ffi CMake target used by this RMW package.
Test status
All results below were produced by running the listed suites directly; see
doc/ for methodology. Same-vendor and cross-vendor integration tests use the
official ROS 2 repositories (rmw_implementation, system_tests).
| Suite | Lyrical | Jazzy | Humble | |—|—|—|—|
File truncated at 100 lines see the full file
CONTRIBUTING
Contributing to rmw_int2dds_cpp
Thank you for your interest in contributing! This package is the ROS 2 RMW binding for int2DDS. For contributions to the underlying DDS core, see the int2DDS repository.
Code of Conduct
This project adheres to a Code of Conduct.
Contributor License Agreement (CLA)
By submitting a pull request you agree to the project CLA (individual / corporate).
Development Environment
Prerequisites
- A supported ROS 2 distribution (Humble or Jazzy) installed and sourced
- colcon build tool
- A C++17 compiler (GCC/Clang/MSVC), CMake >= 3.14.4
- The int2DDS core library available as a dependency
Workspace setup
mkdir -p ~/ros2_ws/src && cd ~/ros2_ws/src
git clone https://github.com/IntellectusCorp/rmw_int2dds.git
cd ~/ros2_ws
rosdep install --from-paths src --ignore-src -r -y
Building and Testing
# Build
colcon build --packages-up-to rmw_int2dds_cpp
# Run this package's tests
colcon test --packages-select rmw_int2dds_cpp
colcon test-result --verbose
# Run the RMW interface conformance suite against int2DDS
RMW_IMPLEMENTATION=rmw_int2dds_cpp \
colcon test --packages-select test_rmw_implementation
Tier 3 listing requires the full
test_rmw_implementationsuite to pass.
Code Style
This package follows the ROS 2 Code Style and Language Versions guide:
- C++17, max line length 100,
.hpp/.cppextensions - Linters run as tests via
ament_lint_auto+ament_lint_common(ament_clang_format,ament_cpplint,ament_uncrustify,ament_cppcheck) - Build with
-Wall -Wextra -Wpedantic
# Run linters
colcon test --packages-select rmw_int2dds_cpp --ctest-args -R lint
Commit Messages
Use the format TYPE: short description (max 72 chars), imperative mood.
Types: FEAT, FIX, DOCS, STYLE, REFACTOR, TEST, CHORE, PERF.
Reference issues with Fixes #123.
Branch Naming
feature/, fix/, hotfix/, docs/, refactor/, test/ prefixes;
lowercase with hyphens (e.g., feature/qos-deadline).
Pull Request Process
- Rebase on the latest
upstream/main. - Ensure
colcon buildandcolcon testpass, including linters. - Update documentation and
CHANGELOG.rstif behavior or APIs changed. - Open a PR with a clear summary, rationale, and testing notes.
- Request review from maintainers.
Reporting Bugs
Open a GitHub issue with: description, reproduction steps, expected vs actual behavior, environment (OS, ROS 2 distro, int2DDS version), and logs. For security issues, follow SECURITY.md instead.
License
By contributing, you agree your contributions are licensed under the Apache License 2.0.
License of contributions
Any contribution that you make to this repository will be under the Apache 2 License, as dictated by that
File truncated at 100 lines see the full file