Skip to content

Commit 7ed035a

Browse files
committed
Added note about the requirements of an X server.
1 parent 8a1f063 commit 7ed035a

File tree

1 file changed

+21
-0
lines changed

1 file changed

+21
-0
lines changed

README.md

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,27 @@ viewpoint, useful for self-filtering, occlusion detection, and robot awareness a
1717

1818
![Screenshot](doc/screenshot.png)
1919

20+
## Important Note
21+
22+
> [!WARNING]
23+
> To manage reasonable performance, this packages does the rendering on a GPU via OpenGL.
24+
> Therefore, for the library to work, you need a running X server (or XWayland).
25+
>
26+
> If you have a running X window server, but it is not accessible in the console from which you run the node (e.g.
27+
> because you ssh'd to the robot), just set the `DISPLAY` environment variable to the handle of your running X server
28+
> (usually `:0` or `:1`):
29+
>
30+
> DISPLAY=:0 rosrun robot_model_renderer robot_model_renderer
31+
>
32+
> If you don't have a running X server and don't want or can't set it up (e.g. in CI or
33+
> on headless robots), prefix the node run command with `xvfb-run -a` from package `xvfb`.
34+
> However, Xvfb does software rendering, which is inefficient. If you have a GPU, you can convince Xvfb to do GPU
35+
> rendering using VirtualGL:
36+
>
37+
> vglrun +v -d /dev/dri/card0 xvfb-run -a rosrun robot_model_renderer robot_model_renderer
38+
>
39+
> If you run this library as nodelet, this prefixing needs to be done on the side of the nodelet manager.
40+
2041
## Node `robot_model_renderer` and nodelet `robot_model_renderer/robot_model_renderer_nodelet`
2142

2243
### Topics

0 commit comments

Comments
 (0)