Open3D
Open3D copied to clipboard
OffscreenRenderer (EGL headless) with FIlament not supported on macOS AppleSilicon
Checklist
- [X] I have searched for similar issues.
- [X] For Python issues, I have tested with the latest development wheel.
- [X] I have checked the release documentation and the latest documentation (for
masterbranch).
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
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.
I met the same problem today. May I ask if there is any solution?
Hi @errissa what would be needed to support headless rendering on macOS?
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.
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.
why does the Windows system also not support it?
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.