Robotics StackExchange | Archived questions

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

Answers