Skip to content

Commit 2f2e2a4

Browse files
committed
Support WebRTC streaming by installing libxrandr2
Full error message: ``` [Error] [carb] [Plugin: libcarb.livestream-rtc.plugin.so] Could not load the dynamic library from /usr/local/lib/python3.10/site-packages/isaacsim/extscache/omni.kit.streamsdk.plugins-4.5.3+106.0.0.lx64.r/bin/libcarb.livestream-rtc.plugin.so. Error: libXrandr.so.2: cannot open shared object file: No such file or directory (Additional information may be available by running the process with the LD_DEBUG environment variable set) [Warning] [carb] Potential plugin preload failed: /usr/local/lib/python3.10/site-packages/isaacsim/extscache/omni.kit.streamsdk.plugins-4.5.3+106.0.0.lx64.r/bin/libcarb.livestream-rtc.plugin.so [Error] [omni.ext.plugin] [ext: omni.kit.livestream.webrtc-4.1.1] failed to load native plugin: /usr/local/lib/python3.10/site-packages/isaacsim/extscache/omni.kit.streamsdk.plugins-4.5.3+106.0.0.lx64.r/bin/libcarb.livestream-rtc.plugin.so Warning: Possible version incompatibility. Attempting to load carb::cudainterop::CudaInterop with version v0.13 against v0.11. [Error] [omni.kit.livestream.plugin] Streaming server is not initialized and can't be enabled or disabled. ```
1 parent 2d89438 commit 2f2e2a4

6 files changed

+43
-8
lines changed

Dockerfile_isaacsim_4_0_pip

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ FROM python:3.10
44
ENV NVIDIA_VISIBLE_DEVICES=all
55
ENV NVIDIA_DRIVER_CAPABILITIES=all
66
RUN apt-get update && apt-get install -y \
7-
libgl1 libglu1-mesa vulkan-tools \
7+
libgl1 libglu1-mesa vulkan-tools libxrandr2 \
88
&& rm -rf /var/lib/apt/lists/*
99
RUN cat > /etc/vulkan/icd.d/nvidia_icd.json <<EOF
1010
{

Dockerfile_isaacsim_4_1_pip

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ FROM python:3.10
44
ENV NVIDIA_VISIBLE_DEVICES=all
55
ENV NVIDIA_DRIVER_CAPABILITIES=all
66
RUN apt-get update && apt-get install -y \
7-
libgl1 libglu1-mesa vulkan-tools \
7+
libgl1 libglu1-mesa vulkan-tools libxrandr2 \
88
&& rm -rf /var/lib/apt/lists/*
99
RUN cat > /etc/vulkan/icd.d/nvidia_icd.json <<EOF
1010
{

Dockerfile_isaacsim_4_2_pip

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ FROM python:3.10
44
ENV NVIDIA_VISIBLE_DEVICES=all
55
ENV NVIDIA_DRIVER_CAPABILITIES=all
66
RUN apt-get update && apt-get install -y \
7-
libgl1 libglu1-mesa vulkan-tools \
7+
libgl1 libglu1-mesa vulkan-tools libxrandr2 \
88
&& rm -rf /var/lib/apt/lists/*
99
RUN cat > /etc/vulkan/icd.d/nvidia_icd.json <<EOF
1010
{

Dockerfile_isaacsim_4_5_bin

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ FROM python:3.10
44
ENV NVIDIA_VISIBLE_DEVICES=all
55
ENV NVIDIA_DRIVER_CAPABILITIES=all
66
RUN apt-get update && apt-get install -y \
7-
libgl1 libglu1-mesa vulkan-tools \
7+
libgl1 libglu1-mesa vulkan-tools libxrandr2 \
88
&& rm -rf /var/lib/apt/lists/*
99
RUN cat > /etc/vulkan/icd.d/nvidia_icd.json <<EOF
1010
{

Dockerfile_isaacsim_4_5_pip

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ FROM python:3.10
44
ENV NVIDIA_VISIBLE_DEVICES=all
55
ENV NVIDIA_DRIVER_CAPABILITIES=all
66
RUN apt-get update && apt-get install -y \
7-
libgl1 libglu1-mesa vulkan-tools \
7+
libgl1 libglu1-mesa vulkan-tools libxrandr2 \
88
&& rm -rf /var/lib/apt/lists/*
99
RUN cat > /etc/vulkan/icd.d/nvidia_icd.json <<EOF
1010
{

README.md

Lines changed: 38 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -55,10 +55,20 @@ docker run --rm -it --runtime=nvidia --gpus all --network=host \
5555
# in the container
5656
# For Isaac Sim 4.0 to 4.2, run:
5757
isaacsim omni.isaac.sim
58-
# # For Isaac Sim 4.5, run:
59-
# isaacsim isaacsim.exp.full
58+
# or WebRTC streaming:
59+
isaacsim omni.isaac.sim.headless.webrtc --no-window
6060
```
6161

62+
> For Isaac Sim 4.5, run the following instead:
63+
>
64+
> ```sh
65+
> isaacsim isaacsim.exp.full
66+
> # or WebRTC streaming:
67+
> isaacsim isaacsim.exp.full.streaming --no-window
68+
> ```
69+
70+
For WebRTC streaming usage, see [the official Docker images section](#official-docker-images) below.
71+
6272
> The slight difference in cache directories between the official Docker image and the pip-installed version is observed by comparing the logs of the Isaac Sim instance in both environments.
6373
6474
To test the ros2 bridge in Isaac Sim, click `Isaac Utils > Common Omnigraphs > ROS2 Clock` in the menu and click `OK`. Click the play button, and run the following in a new terminal:
@@ -109,8 +119,12 @@ docker run --rm -it --runtime=nvidia --gpus all --network=host \
109119
j3soon/isaac-sim-bin:${ISAAC_SIM_VERSION}
110120
# in the container
111121
~/isaacsim/isaac-sim.sh
122+
# or WebRTC streaming:
123+
~/isaacsim/isaac-sim.streaming.sh
112124
```
113125
126+
For WebRTC streaming usage, see [the official Docker images section](#official-docker-images) below.
127+
114128
References:
115129
- [Workstation Installation \| Isaac Sim](https://docs.isaacsim.omniverse.nvidia.com/4.5.0/installation/install_workstation.html)
116130
@@ -134,9 +148,30 @@ docker run --name isaac-sim --entrypoint bash -it --runtime=nvidia --gpus all -e
134148
-v ~/docker/isaac-sim/documents:/root/Documents:rw \
135149
nvcr.io/nvidia/isaac-sim:4.5.0
136150
# in the container
137-
./runheadless.sh -v
151+
./runheadless.sh
138152
```
139153
154+
> For using WebRTC streaming, wait until the streaming is ready, you should see something like this:
155+
>
156+
> ```
157+
> Isaac Sim Full Streaming App is loaded.
158+
> ```
159+
>
160+
> Download and use the [Isaac Sim WebRTC Streaming Client](https://docs.isaacsim.omniverse.nvidia.com/latest/installation/download.html#isaac-sim-latest-release) as mentioned in [the official guide](https://docs.isaacsim.omniverse.nvidia.com/latest/installation/manual_livestream_clients.html#isaac-sim-setup-livestream-webrtc).
161+
>
162+
> > For WebRTC streaming in Isaac Sim 4.2 and earlier, run the following command:
163+
> >
164+
> > ```sh
165+
> > # in the container
166+
> > ./runheadless.webrtc.sh
167+
> > ```
168+
> > Wait until the streaming is ready, you should see something like this:
169+
> > ```
170+
> > Isaac Sim Headless WebRTC App is loaded.
171+
> > ```
172+
> >
173+
> > Visit <http://127.0.0.1:8211/streaming/webrtc-demo/?server=127.0.0.1>.
174+
140175
GUI mode:
141176
142177
```sh

0 commit comments

Comments
 (0)