isl-org / Open3D

Open3D: A Modern Library for 3D Data Processing
http://www.open3d.org
Other
11.42k stars 2.3k forks source link

Headless rendering does not work on Windows+WSL #3046

Open pionsys-mhs opened 3 years ago

pionsys-mhs commented 3 years ago

Precontidtions I am using Ubuntu 20.04 LTS as WSL and would like to render 3D objects (.stl/.obj files) in order to automatically generate pictures of these objects.

Basically the issue is the same as #940 but I will summarize it shortly.

I performed the following steps: Follow the instructions from here except that I did not use a virtual environment.

For OSMesa, I tried two different approaches: 1.) Follow the instruction from the link above 2.) Follow the instructions from here except that I used BUILD_GLEW=OFF and DBUILD_GLFW=OFF

Both approaches resulted in [Open3D ERROR] GLFW Error: X11: The DISPLAY environment variable is missing when trying to execute the example from headless_rendering.py

It seems to me that the 2 compiler flags does not have any impact. As I cannot find any solution for this problem I am writing this issue in hopes that someone could explain step by step what needs to be done on a clean OS in order to get this thing working.

My output from GLInfo [Open3D INFO] TryGLVersion: 1.0 GLFW_OPENGL_ANY_PROFILE [Open3D DEBUG] GL_VERSION: 3.1 Mesa 19.0.8 [Open3D DEBUG] GL_RENDERER: softpipe [Open3D DEBUG] GL_VENDOR: VMware, Inc. [Open3D DEBUG] GL_SHADING_LANGUAGE_VERSION: 1.40 [Open3D INFO] TryGLVersion: 3.2 GLFW_OPENGL_FORWARD_COMPAT GLFW_OPENGL_CORE_PROFILE [Open3D WARNING] GLFW Error: OSMesa: Foward-compatible contexts not supported [Open3D DEBUG] Failed to create window [Open3D INFO] TryGLVersion: 4.1 GLFW_OPENGL_ANY_PROFILE [Open3D WARNING] GLFW Error: OSMesa: Failed to create context [Open3D DEBUG] Failed to create window [Open3D INFO] TryGLVersion: 3.3 GLFW_OPENGL_CORE_PROFILE [Open3D DEBUG] GL_VERSION: 3.3 (Core Profile) Mesa 19.0.8 [Open3D DEBUG] GL_RENDERER: softpipe [Open3D DEBUG] GL_VENDOR: VMware, Inc. [Open3D DEBUG] GL_SHADING_LANGUAGE_VERSION: 3.30 [Open3D INFO] TryGLVersion: 3.3 GLFW_OPENGL_FORWARD_COMPAT GLFW_OPENGL_CORE_PROFILE [Open3D WARNING] GLFW Error: OSMesa: Foward-compatible contexts not supported [Open3D DEBUG] Failed to create window [Open3D INFO] TryGLVersion: 3.3 GLFW_OPENGL_COMPAT_PROFILE [Open3D WARNING] GLFW Error: OSMesa: Failed to create context [Open3D DEBUG] Failed to create window [Open3D INFO] TryGLVersion: 3.3 GLFW_OPENGL_ANY_PROFILE [Open3D WARNING] GLFW Error: OSMesa: Failed to create context [Open3D DEBUG] Failed to create window [Open3D INFO] TryGLVersion: 1.0 GLFW_OPENGL_ANY_PROFILE [Open3D DEBUG] GL_VERSION: 3.1 Mesa 19.0.8 [Open3D DEBUG] GL_RENDERER: softpipe [Open3D DEBUG] GL_VENDOR: VMware, Inc. [Open3D DEBUG] GL_SHADING_LANGUAGE_VERSION: 1.40

As an user who just wants to use the library for rendering I spent a lot of time figuring out how to install missing dependencies etc. . It would be nice to get an installation script that handles all of these things.

timfelle commented 2 years ago

I managed to get it compiled through the guide using one exception: i did call "util/install_deps_ubuntu.sh" before running cmake.

I also followed the guide you found: http://www.open3d.org/docs/release/tutorial/visualization/headless_rendering.html