facebookresearch / habitat-sim

A flexible, high-performance 3D simulator for Embodied AI research.
https://aihabitat.org/
MIT License
2.68k stars 427 forks source link

Failed to get EGL display #2244

Open farishajdarpasic opened 1 year ago

farishajdarpasic commented 1 year ago

When I try executing following command: habitat-viewer /path/to/data/scene_datasets/habitat-test-scenes/skokloster-castle.glb I get following error:

EGL: Failed to get EGL display: Success
Platform::GlfwApplication::tryCreate(): cannot create a window with core OpenGL context, falling back to compatibility context
EGL: Failed to get EGL display: Success
Platform::GlfwApplication::tryCreate(): cannot create a window with OpenGL context

Can you help me solve it? Thanks

Jinghan11 commented 1 year ago

I got the same problem

0mdc commented 1 year ago

@farishajdarpasic , @Jinghan11 :

This hints towards a driver or configuration issue.

I would suggest making sure that your drivers are properly installed and up-to-date. You may also have to install glvnd so that the correct OpenGL libs can be found.

If the issue persists, try running Habitat with the environment variables MAGNUM_GPU_VALIDATION=ON and MAGNUM_LOG=verbose. This should reveal additional information about the issue in the logs.

Jinghan11 commented 1 year ago

@0mdc :

I had installed ibglvnd-dev when this error occurred. Unfortunately, even after setting the environment variables export MAGNUM_LOG=verbose and MAGNUM_GPU_VALIDATION=ON, the issue still persists.

There is one peculiar thing. I built habitat-sim from source, and when I run ./build/viewer data/scene_datasets/habitat-test-scenes/skokloster-castle.glb, it works fine without any problems. It returns:

Platform::GlfwApplication: virtual DPI scaling 1
Renderer: Mesa Intel(R) Xe Graphics (TGL GT2) by Intel
OpenGL version: 4.6 (Core Profile) Mesa 21.2.6

It seems that my OpenGL is functioning properly. Here are some details about my environment, If you need any additional information, please let me know.

MAGNUM_LOG=verbose
SHELL=/bin/bash
SESSION_MANAGER=local/linjh:@/tmp/.ICE-unix/1725,unix/linjh:/tmp/.ICE-unix/1725
QT_ACCESSIBILITY=1
COLORTERM=truecolor
XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/etc/xdg
XDG_MENU_PREFIX=gnome-
GNOME_DESKTOP_SESSION_ID=this-is-deprecated
GTK_IM_MODULE=fcitx
CONDA_EXE=/home/linjh/miniconda3/bin/conda
_CE_M=
osqp_DIR=/home/linjh/unitree_build
UNITREE_LEGGED_SDK_PATH=/home/linjh/unitree_ws/unitree_legged_sdk
LANGUAGE=en_HK:en
TERMINATOR_DBUS_PATH=/net/tenshu/Terminator2
QT4_IM_MODULE=fcitx
GNOME_SHELL_SESSION_MODE=ubuntu
SSH_AUTH_SOCK=/run/user/1000/keyring/ssh
TERMINATOR_UUID=urn:uuid:542fcd8e-59da-4ffc-93ed-be6e0583319c
XMODIFIERS=@im=fcitx
DESKTOP_SESSION=ubuntu
SSH_AGENT_PID=1679
GTK_MODULES=gail:atk-bridge
PWD=/home/linjh/habitat-sim
LOGNAME=linjh
XDG_SESSION_DESKTOP=ubuntu
XDG_SESSION_TYPE=x11
CONDA_PREFIX=/home/linjh/miniconda3/envs/habitat_sim
GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1
XAUTHORITY=/run/user/1000/gdm/Xauthority
WINDOWPATH=2
HOME=/home/linjh
USERNAME=linjh
IM_CONFIG_PHASE=1
LANG=en_HK.UTF-8
MAGNUM_GPU_VALIDATION=ON
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:
XDG_CURRENT_DESKTOP=ubuntu:GNOME
VTE_VERSION=6003
CONDA_PROMPT_MODIFIER=(habitat_sim) 
INVOCATION_ID=36562022f38740b5a831593b934f5e05
TERMINATOR_DBUS_NAME=net.tenshu.Terminator21a9d5db22c73a993ff0b42f64b396873
MANAGERPID=1493
CLUTTER_IM_MODULE=fcitx
LESSCLOSE=/usr/bin/lesspipe %s %s
XDG_SESSION_CLASS=user
PYTHONPATH=/home/linjh/habitat-sim:/home/linjh/habitat-sim/:/home/linjh/habitat-sim/
TERM=xterm-256color
_CE_CONDA=
LESSOPEN=| /usr/bin/lesspipe %s
USER=linjh
CONDA_SHLVL=1
DISPLAY=:0
UNITREE_PLATFORM="amd64"
SHLVL=1
QT_IM_MODULE=fcitx
CONDA_PYTHON_EXE=/home/linjh/miniconda3/bin/python
OsqpEigen_DIR=/home/linjh/unitree_build
XDG_RUNTIME_DIR=/run/user/1000
CONDA_DEFAULT_ENV=habitat_sim
JOURNAL_STREAM=8:50394
XDG_DATA_DIRS=/usr/share/ubuntu:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop
PATH=/home/linjh/miniconda3/envs/habitat_sim/bin:/home/linjh/miniconda3/condabin:/home/linjh/.local/share/JetBrains/Toolbox/apps/PyCharm-P/ch-0/231.8109.197/bin:/home/linjh/.local/share/JetBrains/Toolbox/apps/CLion/ch-0/231.8109.222/bin:/home/linjh/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/linjh/.local/share/JetBrains/Toolbox/scripts
GDMSESSION=ubuntu
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
GIO_LAUNCHED_DESKTOP_FILE_PID=9779
OLDPWD=/home/linjh
_=/usr/bin/printenv
0mdc commented 1 year ago

@Jinghan11

Unfortunately, even after setting the environment variables export MAGNUM_LOG=verbose and MAGNUM_GPU_VALIDATION=ON, the issue still persists.

Do you see any additional information in the log when the error occurs?

Renderer: Mesa Intel(R) Xe Graphics (TGL GT2) by Intel

I'm assuming that you're using a NVIDIA GPU, is that correct?

ambervg commented 1 year ago

I have the same issue.

When I add MAGNUM_LOG=verbose and MAGNUM_GPU_VALIDATION=ON, there is one extra line at the top:

Platform::GlfwApplication: virtual DPI scaling 1
EGL: Failed to get EGL display: Success
Platform::GlfwApplication::tryCreate(): cannot create a window with core OpenGL context, falling back to compatibility context
EGL: Failed to get EGL display: Success
Platform::GlfwApplication::tryCreate(): cannot create a window with OpenGL context

I installed libglvnd-dev. The drivers appear to be properly installed and up-to-date:

image

The issue only appears for the interactive testing. The non-interactive testing works well and (when adding the --save_png flag) the images are as expected.

0mdc commented 1 year ago

Thanks for the info @ambervg

Here are some more troubleshooting ideas:

@mosra Thoughts?

Jinghan11 commented 1 year ago

@0mdc

@Jinghan11

Unfortunately, even after setting the environment variables export MAGNUM_LOG=verbose and MAGNUM_GPU_VALIDATION=ON, the issue still persists.

Do you see any additional information in the log when the error occurs?

Renderer: Mesa Intel(R) Xe Graphics (TGL GT2) by Intel

I'm assuming that you're using a NVIDIA GPU, is that correct?

There's no extra information provided in the terminal. All operations are run on a computer without NVIDIA GPU. By the way, is CUDA indispensable for this project?

ambervg commented 1 year ago
  • Is this a local or remotely accessed computer?

This is my local computer.

  • Does ldconfig -p | grep libEGL reveal a single libEGL_nvidia.so entry?

ldconfig -p | grep libEGL reveals two libEGL_nvidia.so entries:

libEGL_nvidia.so.0 (libc6,x86-64) => /lib/x86_64-linux-gnu/libEGL_nvidia.so.0
libEGL_nvidia.so.0 (libc6) => /lib/i386-linux-gnu/libEGL_nvidia.so.0

If so, can you verify that /usr/share/glvnd/egl_vendor.d/ contains a json entry for NVIDIA, and that this json file points to the libEGL_nvidia.so found above?

/usr/share/glvnd/egl_vendor.d/ does contains a json entry for NVIDIA: 10_nvidia.json. This file points to libEGL_nvidia.so.0.

  • I suppose that you're running on Wayland, which should work fine in principle. For the sake of troubleshooting, could you try running interactive testing with X11?

I am actually on X11. I tried it with Wayland as well, but no difference.

0mdc commented 1 year ago

@Jinghan11

There's no extra information provided in the terminal. All operations are run on a computer without NVIDIA GPU. By the way, is CUDA indispensable for this project?

You can run this project without CUDA.

0mdc commented 1 year ago

@Jinghan11 , @ambervg

This issue is pretty strange. This appears to be caused because GLFW cannot find a display via EGL (origin of the error). I'm thinking that the root cause could be a missing or conflicting library.

ldconfig -p | grep libEGL reveals two libEGL_nvidia.so entries:

This appears to be okay. However, I believe that you should also see libEGL.so.

Here are some more ideas:

ambervg commented 1 year ago

Thank you for the troubleshooting help.

This appears to be okay. However, I believe that you should also see libEGL.so.

Correct. The full list is:

libEGL_nvidia.so.0 (libc6,x86-64) => /lib/x86_64-linux-gnu/libEGL_nvidia.so.0
libEGL_nvidia.so.0 (libc6) => /lib/i386-linux-gnu/libEGL_nvidia.so.0
libEGL_mesa.so.0 (libc6,x86-64) => /lib/x86_64-linux-gnu/libEGL_mesa.so.0
libEGL.so.1 (libc6,x86-64) => /lib/x86_64-linux-gnu/libEGL.so.1
libEGL.so (libc6,x86-64) => /lib/x86_64-linux-gnu/libEGL.so

Is Mesa installed on your system, along with EGL libraries?

  • For reference, our CI runs on Ubuntu. See installed packages here. It does install libegl1-mesa-dev.

Mesa seems to be installed. glxinfo | grep -i mesa returns:

   GLX_INTEL_swap_event, GLX_MESA_copy_sub_buffer, GLX_OML_swap_method, 
client glx vendor string: Mesa Project and SGI
    GLX_MESA_copy_sub_buffer, GLX_MESA_multithread_makecurrent, 
    GLX_MESA_query_renderer, GLX_MESA_swap_control, GLX_NV_float_buffer, 
    GLX_MESA_copy_sub_buffer, GLX_MESA_query_renderer, GLX_MESA_swap_control, 
Extended renderer info (GLX_MESA_query_renderer):
    Device: Mesa Intel(R) UHD Graphics 630 (CFL GT2) (0x3e9b)
OpenGL renderer string: Mesa Intel(R) UHD Graphics 630 (CFL GT2)
OpenGL core profile version string: 4.6 (Core Profile) Mesa 21.2.6
    GL_KHR_texture_compression_astc_sliced_3d, GL_MESA_framebuffer_flip_y, 
    GL_MESA_pack_invert, GL_MESA_shader_integer_functions, 
    GL_MESA_texture_signed_rgba, GL_NV_compute_shader_derivatives, 
OpenGL version string: 4.6 (Compatibility Profile) Mesa 21.2.6
    GL_KHR_texture_compression_astc_sliced_3d, GL_MESA_framebuffer_flip_y, 
    GL_MESA_pack_invert, GL_MESA_shader_integer_functions, 
    GL_MESA_texture_signed_rgba, GL_MESA_window_pos, GL_NV_blend_square, 
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 21.2.6
    GL_KHR_texture_compression_astc_sliced_3d, GL_MESA_bgra, 
    GL_MESA_framebuffer_flip_y, GL_MESA_shader_integer_functions, 

The libraries mentioned seem to be installed. dpkg -s libegl1-mesa-dev gives Status: install ok installed. Same goes for the others.

  • Does the eglinfo indicate errors?

I see no errors/warnings.

0mdc commented 1 year ago

@ambervg Everything looks good.

Are you using pre-packaged Habitat libraries, or are you building from source?

Also, are you using a fresh conda environment? Some other libraries could be interacting at this level.

Jinghan11 commented 1 year ago

Hi @0mdc

My output of ldconfig -p | grep libEGL is as follows

    libEGL_mesa.so.0 (libc6,x86-64) => /lib/x86_64-linux-gnu/libEGL_mesa.so.0
    libEGL.so.1 (libc6,x86-64) => /lib/x86_64-linux-gnu/libEGL.so.1
    libEGL.so (libc6,x86-64) => /lib/x86_64-linux-gnu/libEGL.so

The output of glxinfo | grep -i mesa is as follows:

    GLX_INTEL_swap_event, GLX_MESA_copy_sub_buffer, GLX_OML_swap_method, 
client glx vendor string: Mesa Project and SGI
    GLX_MESA_copy_sub_buffer, GLX_MESA_multithread_makecurrent, 
    GLX_MESA_query_renderer, GLX_MESA_swap_control, GLX_NV_float_buffer, 
    GLX_MESA_copy_sub_buffer, GLX_MESA_query_renderer, GLX_MESA_swap_control, 
Extended renderer info (GLX_MESA_query_renderer):
    Device: Mesa Intel(R) Xe Graphics (TGL GT2) (0x9a49)
OpenGL renderer string: Mesa Intel(R) Xe Graphics (TGL GT2)
OpenGL core profile version string: 4.6 (Core Profile) Mesa 21.2.6
    GL_KHR_texture_compression_astc_sliced_3d, GL_MESA_framebuffer_flip_y, 
    GL_MESA_pack_invert, GL_MESA_shader_integer_functions, 
    GL_MESA_texture_signed_rgba, GL_NV_compute_shader_derivatives, 
OpenGL version string: 4.6 (Compatibility Profile) Mesa 21.2.6
    GL_KHR_texture_compression_astc_sliced_3d, GL_MESA_framebuffer_flip_y, 
    GL_MESA_pack_invert, GL_MESA_shader_integer_functions, 
    GL_MESA_texture_signed_rgba, GL_MESA_window_pos, GL_NV_blend_square, 
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 21.2.6
    GL_KHR_texture_compression_astc_sliced_3d, GL_MESA_bgra, 
    GL_MESA_framebuffer_flip_y, GL_MESA_shader_integer_functions, 

The command dpkg -s libegl1-mesa-dev returns:

Package: libegl1-mesa-dev
Status: install ok installed
Priority: optional
Section: libdevel
Installed-Size: 79
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Architecture: amd64
Multi-Arch: same
Source: mesa
Version: 21.2.6-0ubuntu0.1~20.04.2
Depends: libegl-dev, libglvnd-dev
Description: free implementation of the EGL API -- development files
 This package contains the development environment required for compiling
 programs against EGL native platform graphics interface library.
 EGL provides a platform-agnostic mechanism for creating rendering surfaces
 for use with other graphics libraries, such as OpenGL|ES.
 .
 This package provides the development environment for compiling programs
 against the EGL library.
Homepage: https://mesa3d.org/
Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org>

I built the habitat-sim from source using fresh conda environment.

ambervg commented 1 year ago

Are you using pre-packaged Habitat libraries, or are you building from source?

I am building via Conda.

Also, are you using a fresh conda environment? Some other libraries could be interacting at this level.

Yess. Here are all the steps I take:

conda create -n habitat python=3.9 cmake=3.14.0
conda activate habitat
git clone https://github.com/facebookresearch/habitat-sim.git
conda install habitat-sim withbullet -c conda-forge -c aihabitat
python -m habitat_sim.utils.datasets_download --uids habitat_test_scenes --data-path habitat-sim/data/
python -m habitat_sim.utils.datasets_download --uids habitat_example_objects --data-path habitat-sim/data/
cd habitat-sim
python examples/viewer.py --scene data/scene_datasets/habitat-test-scenes/skokloster-castle.glb

I just did it from scratch again. Same result.

0mdc commented 1 year ago

Apologize for the late reply, I was away.

@ambervg , @Jinghan11

Do you get the same error when running C++ viewer and Python viewers?

Jinghan11 commented 1 year ago

Hi @0mdc

I can run successfully by ./build/viewer .../skokloster-castle.glb, but when I try to ran python ./examples/viewer.py --scene .../skokloster-castle.glb, it returns

EGL: Failed to get EGL display: Success
Platform::GlfwApplication::tryCreate(): cannot create a window with core OpenGL context, falling back to compatibility context
EGL: Failed to get EGL display: Success
Platform::GlfwApplication::tryCreate(): cannot create a window with OpenGL context

I built habitat-sim from the source.

ambervg commented 1 year ago

Apologize for the late reply, I was away.

No need, I am grateful for all the help.

Attempt 1

I am trying to install via Conda and cloned the habitat-sim repo so I can test with the files such as ./examples/viewer.py.

When doing either of these commands:

python examples/viewer.py --scene /path/to/data/scene_datasets/habitat-test-scenes/skokloster-castle.glb
habitat-viewer /path/to/data/scene_datasets/habitat-test-scenes/skokloster-castle.glb

It returns the same error as before:

EGL: Failed to get EGL display: Success
Platform::GlfwApplication::tryCreate(): cannot create a window with core OpenGL context, falling back to compatibility context
EGL: Failed to get EGL display: Success
Platform::GlfwApplication::tryCreate(): cannot create a window with OpenGL context

I don't understand how I can run ./build/viewer .../skokloster-castle.glb when I am not building from source, but maybe I am having a brainfart.

Attempt 2

I was thinking that it might be that my libEGL is in a different location, as is suggested in the common build issues. The default appears to be /usr/lib/x86_64-linux-gnu/nvidia-opengl/libEGL.so and mine is:

/lib/x86_64-linux-gnu/libEGL_nvidia.so.0

I tried solving this by adding -DEGL_LIBRARY=/lib/x86_64-linux-gnu/libEGL_nvidia.so.0 at the end of this line and then running LD_LIBRARY_PATH=lib/x86_64-linux-gnu/:${LD_LIBRARY_PATH} python examples/viewer.py. That gave the same error as before:

EGL: Failed to get EGL display: Success
Platform::GlfwApplication::tryCreate(): cannot create a window with core OpenGL context, falling back to compatibility context
EGL: Failed to get EGL display: Success
Platform::GlfwApplication::tryCreate(): cannot create a window with OpenGL context

Also, I am on Ubuntu 20.04.

lvmingzhe commented 1 year ago

@0mdc :

I had installed ibglvnd-dev when this error occurred. Unfortunately, even after setting the environment variables export MAGNUM_LOG=verbose and MAGNUM_GPU_VALIDATION=ON, the issue still persists.

There is one peculiar thing. I built habitat-sim from source, and when I run ./build/viewer data/scene_datasets/habitat-test-scenes/skokloster-castle.glb, it works fine without any problems. It returns:

Platform::GlfwApplication: virtual DPI scaling 1
Renderer: Mesa Intel(R) Xe Graphics (TGL GT2) by Intel
OpenGL version: 4.6 (Core Profile) Mesa 21.2.6

It seems that my OpenGL is functioning properly. Here are some details about my environment, If you need any additional information, please let me know.

MAGNUM_LOG=verbose
SHELL=/bin/bash
SESSION_MANAGER=local/linjh:@/tmp/.ICE-unix/1725,unix/linjh:/tmp/.ICE-unix/1725
QT_ACCESSIBILITY=1
COLORTERM=truecolor
XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/etc/xdg
XDG_MENU_PREFIX=gnome-
GNOME_DESKTOP_SESSION_ID=this-is-deprecated
GTK_IM_MODULE=fcitx
CONDA_EXE=/home/linjh/miniconda3/bin/conda
_CE_M=
osqp_DIR=/home/linjh/unitree_build
UNITREE_LEGGED_SDK_PATH=/home/linjh/unitree_ws/unitree_legged_sdk
LANGUAGE=en_HK:en
TERMINATOR_DBUS_PATH=/net/tenshu/Terminator2
QT4_IM_MODULE=fcitx
GNOME_SHELL_SESSION_MODE=ubuntu
SSH_AUTH_SOCK=/run/user/1000/keyring/ssh
TERMINATOR_UUID=urn:uuid:542fcd8e-59da-4ffc-93ed-be6e0583319c
XMODIFIERS=@im=fcitx
DESKTOP_SESSION=ubuntu
SSH_AGENT_PID=1679
GTK_MODULES=gail:atk-bridge
PWD=/home/linjh/habitat-sim
LOGNAME=linjh
XDG_SESSION_DESKTOP=ubuntu
XDG_SESSION_TYPE=x11
CONDA_PREFIX=/home/linjh/miniconda3/envs/habitat_sim
GPG_AGENT_INFO=/run/user/1000/gnupg/S.gpg-agent:0:1
XAUTHORITY=/run/user/1000/gdm/Xauthority
WINDOWPATH=2
HOME=/home/linjh
USERNAME=linjh
IM_CONFIG_PHASE=1
LANG=en_HK.UTF-8
MAGNUM_GPU_VALIDATION=ON
LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:
XDG_CURRENT_DESKTOP=ubuntu:GNOME
VTE_VERSION=6003
CONDA_PROMPT_MODIFIER=(habitat_sim) 
INVOCATION_ID=36562022f38740b5a831593b934f5e05
TERMINATOR_DBUS_NAME=net.tenshu.Terminator21a9d5db22c73a993ff0b42f64b396873
MANAGERPID=1493
CLUTTER_IM_MODULE=fcitx
LESSCLOSE=/usr/bin/lesspipe %s %s
XDG_SESSION_CLASS=user
PYTHONPATH=/home/linjh/habitat-sim:/home/linjh/habitat-sim/:/home/linjh/habitat-sim/
TERM=xterm-256color
_CE_CONDA=
LESSOPEN=| /usr/bin/lesspipe %s
USER=linjh
CONDA_SHLVL=1
DISPLAY=:0
UNITREE_PLATFORM="amd64"
SHLVL=1
QT_IM_MODULE=fcitx
CONDA_PYTHON_EXE=/home/linjh/miniconda3/bin/python
OsqpEigen_DIR=/home/linjh/unitree_build
XDG_RUNTIME_DIR=/run/user/1000
CONDA_DEFAULT_ENV=habitat_sim
JOURNAL_STREAM=8:50394
XDG_DATA_DIRS=/usr/share/ubuntu:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop
PATH=/home/linjh/miniconda3/envs/habitat_sim/bin:/home/linjh/miniconda3/condabin:/home/linjh/.local/share/JetBrains/Toolbox/apps/PyCharm-P/ch-0/231.8109.197/bin:/home/linjh/.local/share/JetBrains/Toolbox/apps/CLion/ch-0/231.8109.222/bin:/home/linjh/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin:/home/linjh/.local/share/JetBrains/Toolbox/scripts
GDMSESSION=ubuntu
DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus
GIO_LAUNCHED_DESKTOP_FILE_PID=9779
OLDPWD=/home/linjh
_=/usr/bin/printenv

totally the same question.

0mdc commented 11 months ago

@lvmingzhe @ambervg @Jinghan11

Perhaps we can try circumventing EGL altogether:

Hopefully this would shed more light on what's broken.

@ambervg

I don't understand how I can run ./build/viewer .../skokloster-castle.glb when I am not building from source, but maybe I am having a brainfart.

habitat-viewer is a conda package equivalent to ./build/viewer. The command was probably named this way to avoid conflicting with other commands that would be named viewer.

@Jinghan11

I can run successfully by ./build/viewer .../skokloster-castle.glb

This is strange. A wild guess: this may indicate that a library is conflicting in your conda environment. Could you post the output of conda list and pip list from within your Habitat environment?

Jay-Vim-Lv commented 11 months ago

have you solved this problem? I meet the same error when i try to run the sandbox

ambervg commented 11 months ago

For me the issue is no longer appearing after changing to a fresh Ubuntu 22 installation

vcozzolino commented 8 months ago

I have the same problem (same output). In my case, I'm trying to launch the python viewer from a Docker container where habitat-sim is installed.

BXZZcj commented 6 months ago

I have the same problem.🤣

In my case, I'm trying to run example/viewer.py. I install habitat-sim by conda.

And my environment is Ubuntu 20.04 with AMD GPU.

BXZZcj commented 6 months ago

I have the same problem.🤣

In my case, I'm trying to run example/viewer.py. I install habitat-sim by conda.

And my environment is Ubuntu 20.04 with AMD GPU.

By the way, my device is not headless, it has a displayer.

mannytheshizzle commented 4 months ago

did anyone find a solution to this problem. I can't seem to get past it after trying out different approaches. I didn't build from source. I just do a conda install for habitat-sim according to the instructions in the main habitat-sim README and clone the habitat-lab repo and execute the recommended pip install commands. My system has a display attached (a standard ubuntu 22.04 PC). I'd really appreciate any assistance regarding this issue as this problem is really frustrating.

mannytheshizzle commented 4 months ago

For anyone else that might have this issue in the future. This approach is the way to go:

@lvmingzhe @ambervg @Jinghan11

Perhaps we can try circumventing EGL altogether:

  • Change your display protocol to X11.
  • Build habitat-sim from source with GLX.

    • In src/cmake/dependencies.cmake, change this line to: set(MAGNUM_TARGET_EGL OFF CACHE BOOL "" FORCE).
    • Rebuild.

Hopefully this would shed more light on what's broken.

shitoujie commented 1 month ago

did anyone find a solution to this problem. I can't seem to get past it after trying out different approaches. I didn't build from source. I just do a conda install for habitat-sim according to the instructions in the main habitat-sim README and clone the habitat-lab repo and execute the recommended pip install commands. My system has a display attached (a standard ubuntu 22.04 PC). I'd really appreciate any assistance regarding this issue as this problem is really frustrating.

i have the same problem, and i fix it by changing Graph Device from Dynamic Graphics to Discrete Graphics in BIOS Setup

Eku127 commented 2 weeks ago

@lvmingzhe @ambervg @Jinghan11

Perhaps we can try circumventing EGL altogether:

  • Change your display protocol to X11.
  • Build habitat-sim from source with GLX.

    • In src/cmake/dependencies.cmake, change this line to: set(MAGNUM_TARGET_EGL OFF CACHE BOOL "" FORCE).
    • Rebuild.

Hopefully this would shed more light on what's broken.

@ambervg

I don't understand how I can run ./build/viewer .../skokloster-castle.glb when I am not building from source, but maybe I am having a brainfart.

habitat-viewer is a conda package equivalent to ./build/viewer. The command was probably named this way to avoid conflicting with other commands that would be named viewer.

@Jinghan11

I can run successfully by ./build/viewer .../skokloster-castle.glb

This is strange. A wild guess: this may indicate that a library is conflicting in your conda environment. Could you post the output of conda list and pip list from within your Habitat environment?

Worked for me. I am trying to use the habitat-sim in docker containers and this fix the problem. But using GLX is much slower than the EGL one