Git Product home page Git Product logo

Comments (3)

xiqiangliu avatar xiqiangliu commented on August 23, 2024

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.

  1. 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.

  2. 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 to lightdm on the host machine to avoid conflict with the VNC sessions. A brief setup instruction has been tested on Ubuntu 20.04:

    1. Download and install deb files of VirtualGL and TurboVNC.
    2. Stop the display manager by sudo systemctl set-defaults multi-user.target and a reboot.
    3. Run sudo vglserver_config and select 1. Configure server for use with VirtualGL (GLX + EGL back ends). We recommend using its recommended settings.
    4. Add gdm, lightdm, and any users wishing use GPU to the vglusers group: sudo usermod -aG vglusers USER.
    5. Switch the default display manager by sudo dpkg-reconfigure gdm3 and select lightdm.
    6. Re-enable graphical login interface by sudo systemctl set-defaults graphical.target and reboot
    7. 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 port 590X, 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.

Jiayuan-Gu avatar Jiayuan-Gu commented on August 23, 2024

Additional comment: can you first try to open any OpenCV window through X11 forwarding to check the basic configuration?

from maniskill.

rtabrizi avatar rtabrizi commented on August 23, 2024

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)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.