Open3D icon indicating copy to clipboard operation
Open3D copied to clipboard

OffscreenRenderer (EGL headless) with FIlament not supported on macOS AppleSilicon

Open PeggyWang0 opened this issue 2 years ago • 7 comments

Checklist

Describe the issue

I've been trying to run open3d.visualization.rendering.OffscreenRenderer on the M1 MacBook Pro but it crashes due to a Open3D Filament error (copied below - EGL Headless is not supported).

I'm on python 3.10 and installed open3d through pip install open3d. I'm on open3d 0.16.1 and Mac OS 12.6.1

Steps to reproduce the bug

Python 3.10.8 | packaged by conda-forge | (main, Nov 22 2022, 08:25:29) [Clang 14.0.6 ] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import open3d.visualization.rendering as rendering
>>> render = rendering.OffscreenRenderer(480, 480)
libc++abi: terminating with uncaught exception of type std::runtime_error: [Open3D Error] (open3d::visualization::rendering::EngineInstance::EngineInstance()) /Users/renes/development/open3d_work/Open3D/cpp/open3d/visualization/rendering/filament/FilamentEngine.cpp:123: EGL Headless is not supported on this platform.

Error message

libc++abi: terminating with uncaught exception of type std::runtime_error: 
[Open3D Error] (open3d::visualization::rendering::EngineInstance::EngineInstance()) 
/Users/renes/development/open3d_work/Open3D/cpp/open3d/visualization/rendering/filament/FilamentEngine.cpp:123: 
EGL Headless is not supported on this platform.

Expected behavior

OffscreenRenderer to work

Open3D, Python and System information

- Operating system: macOS 12.6.1
- Python version: Python 3.10.8
- Open3D version: 0.16.1
- System architecture: apple-silicon
- Is this a remote workstation?: no
- How did you install Open3D?: pip
- Compiler version (if built from source):

Additional information

No response

PeggyWang0 avatar Jan 25 '23 22:01 PeggyWang0

Though this feature seems basic, it seems unsupported on OS X.

---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
Input In [75], in <cell line: 2>()
      1 import open3d.visualization.rendering as rendering
----> 2 render = rendering.OffscreenRenderer(640, 480)

RuntimeError: [Open3D Error] (open3d::visualization::rendering::EngineInstance::EngineInstance()) /Users/runner/work/Open3D/Open3D/cpp/open3d/visualization/rendering/filament/FilamentEngine.cpp:123: EGL Headless is not supported on this platform.

peekxc avatar May 17 '23 22:05 peekxc

I met the same problem today. May I ask if there is any solution?

Zeyu-Zhu avatar Jul 31 '23 03:07 Zeyu-Zhu

Hi @errissa what would be needed to support headless rendering on macOS?

ssheorey avatar Aug 18 '23 14:08 ssheorey

I'd just like to point out that no where in any documentation does it state that OffscreenRenderer is only supported on Linux. This whole API has given me nothing but headaches.

johnpayne-gc avatar Jun 25 '24 16:06 johnpayne-gc

I'd just like to point out that no where in any documentation does it state that OffscreenRenderer is only supported on Linux. This whole API has given me nothing but headaches.

True, dude.

NewPhrexian avatar Jul 11 '24 08:07 NewPhrexian

why does the Windows system also not support it?

star-111 avatar Aug 07 '24 01:08 star-111

why does the Windows system also not support it?

No clue. I guess this feature is originally designed for linux servers which don't have screens to render on.

NewPhrexian avatar Aug 07 '24 04:08 NewPhrexian