Skip to content

[BUG] Open3D visualization.draw() fails on AMD (Radeon 780M, RX 7700S) with wglMakeCurrent error and Windows error code 2000 #7309

@ykong01

Description

@ykong01

Checklist

Describe the issue

I am unable to use the new Open3D visualizer (visualization.draw()) on my Windows 11 system with AMD GPUs.
The classic visualizer (draw_geometries()) works fine, but draw() causes repeated errors.
The window appears, but interacting with it (mouse, resize, etc.) causes errors. This occurs as soon as I move, click, or resize the draw window.

Steps to reproduce the bug

import open3d as o3d
o3d.visualization.draw([o3d.geometry.TriangleMesh.create_sphere()])

Error message

in void __cdecl filament::PlatformWGL::makeCurrent(struct filament::backend::Platform::SwapChain *,struct filament::backend::Platform::SwapChain *) noexcept:241
reason: wglMakeCurrent() failed. hdc = FFFFFFFF97011459

Windows error code: 2000. (null)

Expected behavior

The window should open and allow interaction and rendering as expected.

Open3D, Python and System information

- Operating system: Windows 11 64-bit
- Python version: 3.10.18
- Open3D version: 0.19.0
- System architecture: x86 / arm64 / apple-silicon / jetson / rpi
- Is this a remote workstation?: no
- How did you install Open3D?: pip

Additional information

draw_geometries() (classic visualizer) works without issue on the same setup.
The error persists for both GPUs.
I see shader compile errors in the log as well (COMPILE ERROR: ê).
This issue appears to be a compatibility problem with Filament and AMD OpenGL drivers on Windows 11.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugNot a build issue, this is likely a bug.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions