MacOS can't display an open3d window from remote server,GLX_ARB_create_context_profile is unavailable

702 Views Asked by At

Problem

The remote server can't forward open3d window to my Mac

the codes are as follows:

import copy
import numpy as np
import open3d as o3d

if __name__ == "__main__":

    print("Testing mesh in open3d ...")
    mesh = o3d.io.read_triangle_mesh("a.obj")
    print(mesh)
    print(np.asarray(mesh.vertices))
    print(np.asarray(mesh.triangles))
    verts = np.asarray(mesh.vertices)
   
    mesh.vertices = o3d.utility.Vector3dVector(verts)
    mesh.compute_vertex_normals()
    mesh.paint_uniform_color([0.6, 0.1, 0.5])

    cords = o3d.geometry.TriangleMesh.create_coordinate_frame()
    o3d.visualization.draw_geometries([mesh])

note that a.obj is a testfile for helping test X11 Forwarding

the raised error is:

libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
[Open3D WARNING] GLFW Error: GLX: Forward compatibility requested but GLX_ARB_create_context_profile is unavailable
[Open3D WARNING] Failed to create window
[Open3D WARNING] [DrawGeometries] Failed creating OpenGL window.

Background

I have added the following two lines in my ssh configuration file on Mac

ForwardX11 yes
ForwardX11Trusted yes

and added the following command in my .bashrc file on Mac

export DISPLAY=:0

I'm using XQuartz 2.8.4 to receive remote GUI, and I can display the clock on my Mac by using xclock on the remote server terminal normally

Mac config: MacBook Pro 2021 Apple Silicon 13.0.1 (22A400)

What I Want

I asked others, I know that mobaxterm can display open3d window normally, but it's a windows software, and Mac can only use XQuartz to display GUI of the remote server.

so how can I display the open3d window on Mac by XQuartz?

0

There are 0 best solutions below