Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gui traceback on launch #16

Open
briancantwe opened this issue Jan 11, 2024 · 1 comment
Open

gui traceback on launch #16

briancantwe opened this issue Jan 11, 2024 · 1 comment

Comments

@briancantwe
Copy link

briancantwe commented Jan 11, 2024

Hello! I've worked through the entire process in the readme at this point, but am getting an error with the following command when I try to use the gui:

evc -t gui -c configs/exps/gaussiant/gaussiant_${expname}.yaml,configs/specs/superm.yaml,configs/specs/spiral.yaml

Here's the full output (apologies for the formatting!):

2024-01-11 11:07:59.822330 easyvolcap.scripts.main -> preflight: Starting experiment: main.py:80
gaussiant_actor1_4_subseq, command: gui
2024-01-11 11:08:03.534636 easyvolcap.runners.visualizers.volumetric_video_visualizer volumetric_video_visualizer.py:76
-> init: Visualization output:
data/novel_view/gaussiant_actor1_4_subseq/{RENDER,DEPTH,ALP
HA}
2024-01-11 11:08:03.546234 easyvolcap.runners.recorders -> init: Saved config file to recorders.py:105
data/record/gaussiant_actor1_4_subseq/gaussiant_actor1_4_subseq_1705000083.y
aml
2024-01-11 11:08:03.620693 easyvolcap.utils.console_utils -> inner: Runtime exception: 'NoneType' console_utils.py:341
object has no attribute 'eglGetCurrentContext'

/mnt/c/Users/Kentlab/documents/github/easyvolcap/easyvolcap/utils/console_utils.py:338 in inner ││ ││ ❱ 338 │ │ │ return func(*args, **kwargs) ││ ││ /mnt/c/Users/Kentlab/documents/github/easyvolcap/easyvolcap/engine/registry.py:56 in inner ││ ││ ❱ 56 │ │ return call_from_cfg(func, cfg) ││ ││ /mnt/c/Users/Kentlab/documents/github/easyvolcap/easyvolcap/engine/registry.py:47 in call_from_cfg ││ ││ ❱ 47 │ return func(**call_args) ││ ││ /mnt/c/Users/Kentlab/documents/github/easyvolcap/easyvolcap/scripts/main.py:119 in gui ││ ││ ❱ 119 │ viewer: "VolumetricVideoViewer" = RUNNERS.build(viewer_cfg, runner=runner) # will start the window ││ ││ /mnt/c/Users/Kentlab/documents/github/easyvolcap/easyvolcap/engine/registry.py:300 in build ││ ││ ❱ 300 │ │ return self.build_func(*args, **kwargs, registry=self) ││ ││ /mnt/c/Users/Kentlab/documents/github/easyvolcap/easyvolcap/engine/registry.py:131 in build_from_cfg ││ ││ ❱ 131 │ return call_from_cfg(obj_cls, args) ││ ││ /mnt/c/Users/Kentlab/documents/github/easyvolcap/easyvolcap/engine/registry.py:47 in call_from_cfg ││ ││ ❱ 47 │ return func(**call_args) ││ ││ /mnt/c/Users/Kentlab/documents/github/easyvolcap/easyvolcap/runners/volumetric_video_viewer.py:96 in init ││ ││ ❱ 96 │ │ from easyvolcap.utils.gl_utils import Mesh, Splat ││ ││ /mnt/c/Users/Kentlab/documents/github/easyvolcap/easyvolcap/utils/gl_utils.py:40 in ││ ││ ❱ 40 import OpenGL.GL as gl ││ ││ /home/arcproclocal/miniconda3/envs/easyvolcap/lib/python3.11/site-packages/OpenGL/GL/init.py:4 in ││ ││ ❱ 4 from OpenGL.GL.VERSION.GL_1_1 import * ││ ││ /home/arcproclocal/miniconda3/envs/easyvolcap/lib/python3.11/site-packages/OpenGL/GL/VERSION/GL_1_1.py:14 in <module ││ ││ ❱ 14 from OpenGL.raw.GL.VERSION.GL_1_1 import * ││ ││ /home/arcproclocal/miniconda3/envs/easyvolcap/lib/python3.11/site-packages/OpenGL/raw/GL/VERSION/GL_1_1.py:7 in <mod ││ ││ ❱ 7 from OpenGL.raw.GL import _errors ││ ││ /home/arcproclocal/miniconda3/envs/easyvolcap/lib/python3.11/site-packages/OpenGL/raw/GL/_errors.py:4 in ││ ││ ❱ 4 │ _error_checker = _ErrorChecker( _p, _p.GL.glGetError ) ││ ││ /home/arcproclocal/miniconda3/envs/easyvolcap/lib/python3.11/site-packages/OpenGL/error.py:183 in init ││ ││ ❱ 183 │ │ │ │ self._isValid = platform.CurrentContextIsValid ││ ││ /home/arcproclocal/miniconda3/envs/easyvolcap/lib/python3.11/site-packages/OpenGL/platform/baseplatform.py:15 in __g ││ ││ ❱ 15 │ │ value = self.fget( obj ) ││ ││ /home/arcproclocal/miniconda3/envs/easyvolcap/lib/python3.11/site-packages/OpenGL/platform/baseplatform.py:356 in Cu ││ ││ ❱ 356 │ │ return self.GetCurrentContext ││ ││ /home/arcproclocal/miniconda3/envs/easyvolcap/lib/python3.11/site-packages/OpenGL/platform/baseplatform.py:15 in __g ││ ││ ❱ 15 │ │ value = self.fget( obj ) ││ ││ /home/arcproclocal/miniconda3/envs/easyvolcap/lib/python3.11/site-packages/OpenGL/platform/egl.py:106 in GetCurrentC ││ ││ ❱ 106 │ │ return self.EGL.eglGetCurrentContext

AttributeError: 'NoneType' object has no attribute 'eglGetCurrentContext'
*** 'NoneType' object has no attribute 'eglGetCurrentContext'

Thanks for taking a look!

@dendenxu
Copy link
Member

Hi! Thanks for trying out our code!
Firstly, when running the GUI, there no need to generate a spiral path so no need to append the configs/specs/spiral.yaml config. This should make the command look like:
evc -t gui -c configs/exps/gaussiant/gaussiant_${expname}.yaml,configs/specs/superm.yaml
Second, looks like the error suggest that we've asked popping to use egl as its backend, which is incompatible with the gui. Could you check whether the PYOPENGL_PLATFORM environment variable is set? If set, try clearing it before running the rendering command.

echo $PYOPENGL_PLATFORM # should print nothing
unset PYOPENGL_PLATFORM # unset the variable if needed

evc -t gui -c configs/exps/gaussiant/gaussiant_${expname}.yaml,configs/specs/superm.yaml

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants