Troubleshooting
This page covers common issues when using the binary RaiSim distribution.
Executable Not Found
When you build examples from the public raisim2Lib workspace, CMake places them
under the build directory:
./build-examples/examples/primitive_grid
./build-examples/examples/rayrai_tcp_viewer
On Windows, the executables are under build-examples\bin instead.
The unpacked package does not include a prebuilt TCP viewer. Build the
rayrai_tcp_viewer example target and run it from the build tree.
If a command from old docs uses an example_ prefix, check Examples
for the current target name.
Activation Key Not Found
Place the activation key at:
$HOME/.raisim/activation.raisim
($HOME/raisim/activation.raisim is also checked), or pass an explicit path
before creating the first world. A process started without $HOME still finds
the key in your home directory, and if the current user has none, RaiSim also
checks the other users’ home directories on the machine:
raisim::World::setActivationKey("/absolute/path/to/activation.raisim");
RaiSim looks up the key once per process, when the first raisim::World is
created, so calling setActivationKey after that has no effect. If no key is
found, RaiSim prints the paths it checked and your machine id, then stops.
TCP Viewer Does Not Connect
Check these points:
The simulation must create
raisim::RaisimServerand calllaunchServer.The server-based example and TCP viewer must use the same port. The default is
8080. If that port is already in use, the server moves to the next free port;RaisimServer::getPort()returns the port it actually bound.By default the server listens only on
127.0.0.1. To connect a viewer from another machine, callserver.setBindLoopbackOnly(false)beforelaunchServer. Any client that can reach the port can then control the simulation, so do this only on a trusted network.Keep the viewer source in sync with the installed packages: build
rayrai_tcp_viewerfrom araisim2Libcheckout whose pinned version (RAISIM_VERSIONin the top-levelCMakeLists.txt) matches the installed RaiSim and rayrai libraries. If you installed another version withraisim_upgrade.shorraisim_upgrade.ps1, check out the matchingraisim2Librelease, or configure again so that CMake restores the pinned packages (see Installation). A stale viewer source can connect but disagree with the installed rayrai/RaiSim protocol implementation.
For manual RGB/depth cameras, keep the examples-built viewer connected. It
renders requested frames and returns them to RaisimServer. If the viewer
reports Refusing RGB sensor update without a complete render, update the
viewer sources as described above and rebuild rayrai_tcp_viewer in
build-examples; do not launch an older installed viewer binary.
rayrai Window Or Offscreen Context Fails
rayrai requires a working OpenGL 3.3 core-profile context; its context helpers request 4.3 first. On Linux, make sure OpenGL and SDL2 development/runtime packages are available. On headless systems, use the offscreen context helpers documented in rayrai Visualizer and verify that the machine provides a usable software or hardware OpenGL stack.
Post-Processing Effect Missing On macOS
macOS provides OpenGL 4.1 with 16 fragment texture units, so rayrai uses its compact PBR programs and the common post-process program there. Effects such as screen-space reflections, volumetric fog, color grading, saturation, and white balance are not applied on macOS; see Platform support for the full list.
Some rayrai examples print the Apple driver message unit 10
GLD_TEXTURE_INDEX_2D is unloadable. No program samples a 2D texture on that
unit at those draws, so the message has no visible effect.
First Launch Of An Example Is Slow
rayrai_coacd_mesh_approximation runs CoACD for every mesh on its first run,
which can take a few minutes; Ctrl-C stops it during that phase. RaiSim caches
the parts beside each mesh as raisim_coacd_*.obj files, so later runs load
them directly. rayrai_forest builds mesh LODs on its first launch and saves
them as rayrai_cache_*.lods files beside its assets, with the prepared
geometry of its largest models as rayrai_cache_*.rgeo and how they were
imported as rayrai_cache_*.rimp. Delete these cache files to force
regeneration.
Example Asset Missing
Examples expect their bundled assets to stay with the release workspace. If
an example cannot find a URDF, mesh, texture, heightmap, or USD asset, verify
that the top-level rsc directory exists and that CMake copied it to
build-examples/examples/rsc (or build-examples/bin/rsc on Windows).
OpenUSD Runtime Or Plugin Missing
USD loading (USD meshes and USD worlds) uses the bundled OpenUSD runtime. Keep
the installed openusd directory and USD shared libraries next to the RaiSim
binaries: raisim/lib/openusd on Linux and macOS, and raisim/bin/openusd
plus the usd_*.dll files on Windows. See OpenUSD Loading.
If an executable is launched from another directory, run the package environment
script first so the runtime loader can find RaiSim and OpenUSD. If an OpenUSD
runtime is missing from the public package, reinstall or upgrade the matching
raisim2Lib release (for example, with raisim_upgrade.sh or
raisim_upgrade.ps1) instead of trying to rebuild the closed-source engine.