Unable to create the rendering window when running gazebo --verbose on a remote server without a physical display
Hello,
I have been encountering an issue when trying to run Gazebo on a remote server without a physical display. I have tried various solutions, but none have resolved the issue. I would appreciate any assistance or guidance to address this problem.
My system specifications are:
GPU: NVIDIA GeForce RTX 3090
CPU: AMD EPYC 7H12 64-Core Processor
I am running Ubuntu 22.04, and my ROS version is Humble. I installed Gazebo using sudo apt install ros-humble-gazebo-ros-pkgs
. I have set up a virtual display using nvidia-xconfig
and have successfully tested glxgears
and ros2 run rviz2 rviz2
. The output of nvidia-xconfig --query-gpu-info
shows that there are no display devices connected.
Here are the steps I've tried to resolve the issue:
Installed mesa-utils and checked the output of glxinfo | grep OpenGL
, which appears to be normal.
Exported the DISPLAY
environment variable to match the virtual display.
Used vglrun
with VirtualGL to run Gazebo. However, I received an error stating "Authorization required, but no authorization protocol specified".
Installed Xvfb
and started an instance on display :99
. Exported the DISPLAY
environment variable to use the Xvfb instance and attempted to run Gazebo.
Despite these efforts, I still receive the error "[Err] [WindowManager.cc:132] Unable to create the rendering window" when trying to run gazebo --verbose
.
I would greatly appreciate any suggestions or advice on how to resolve this issue. Thank you in advance for your help!
Asked by fengg on 2023-04-06 05:52:51 UTC
Comments