Comments (3)
By default, the demo_manual_control.py
only uses OpenCV which requires no Vulkan support. Thus, you might need to manually set the display name with export DISPLAY=:X
command.
Nonetheless, if you start the script with the ``--enable-sapien-viewer` option, then the viewer does require Vulkan to be supported for the given display Unfortunatelely,it is a bit tricky to use X11 forwarding with Vulkan as it requires GLX extension to be present. However, there are two ways to support headless interactive visualization.
-
Docker (Recommended): If you have access to a working nvidia-docker installation on your server, this would be the easiest solution. By using this docker image and setting the corresponding environment variables, you would be able to create a VNC session that support our interactive viewer.
-
VirtualGL: If you prefer creating a systemwide VNC session, you could use VirtualGL and TurboVNC. However, this requires you change the default display manager from
gdm
tolightdm
on the host machine to avoid conflict with the VNC sessions. A brief setup instruction has been tested on Ubuntu 20.04:- Download and install deb files of VirtualGL and TurboVNC.
- Stop the display manager by
sudo systemctl set-defaults multi-user.target
and a reboot. - Run
sudo vglserver_config
and select1. Configure server for use with VirtualGL (GLX + EGL back ends)
. We recommend using its recommended settings. - Add
gdm
,lightdm
, and any users wishing use GPU to thevglusers
group:sudo usermod -aG vglusers USER
. - Switch the default display manager by
sudo dpkg-reconfigure gdm3
and selectlightdm
. - Re-enable graphical login interface by
sudo systemctl set-defaults graphical.target
and reboot - Add TurboVNC to your path:
export PATH=$PATH:/opt/TurboVNC/bin
After setting up TurboVNC, you should be able to create a GLX-enabled VNC session with the command
vncserver
and access the session with SSH port forwarding at port590X
, where X is the display name.
Both the Docker and VirtualGL methods create a VNC session with a fully functional display manager. Thus, the DISPLAY=:<DISPLAY>
is not necessary if you decide to run our manual control script inside the VNC session. Nonetheless, if you run the script outside of the session, you need to pass the display name into the script to property start up the interactive viewer.
from maniskill.
Additional comment: can you first try to open any OpenCV window through X11 forwarding to check the basic configuration?
from maniskill.
Hi everyone,
Thank you for your help! I'll let you know if I run into any further issues. Again, great work!
from maniskill.
Related Issues (20)
- HTTP Error 403 with Maniskill's VecEnv HOT 5
- State Observation Ranges in Vision-Based Training HOT 3
- Run using Singularity on Slurm cluster with headless GPU HOT 8
- Can not set the camera's intrinsic through camera_cfg HOT 1
- make new soft body
- The purpose of `inv_scale_action` in `replay_trajectory` HOT 1
- combine soft body sim with other sim envs
- VK_KHR_xcb_surface extension missing error HOT 2
- Error of document HOT 2
- Environments are only registered when importing BaseEnv HOT 1
- Switch to using tensordict
- mani_skill.examples.demo_reset_distribution is not executable HOT 3
- Command in the Document not Executable HOT 5
- Upgrade fast-kinematics dependency version
- ModuleNotFoundError: No module named 'sapien.physx' HOT 2
- Documentation and code are inconsistent HOT 1
- Image resolution HOT 14
- Fix bug with get_picture_cuda function for RenderCamera struct
- Fix bug with dependencies not supported on windows systems and document the system/gpu support of ManiSkill
- Remove dependency on CV2 in favor of Imageio/plt
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from maniskill.