ashawkey / nerf2mesh

[ICCV2023] Delicate Textured Mesh Recovery from NeRF via Adaptive Surface Refinement
https://me.kiui.moe/nerf2mesh/
MIT License
893 stars 88 forks source link

[F glutil.cpp:338] eglInitialize() failed #21

Open Ittya12345 opened 1 year ago

Ittya12345 commented 1 year ago

Issue:

==> Saving mesh to trial_syn_lego/mesh_stage0 [F glutil.cpp:338] eglInitialize() failed Aborted (core dumped)

I am starting training the test lego by nerf2mesh in docker. When the code is saveing the mesh ,it always push this. I want to know how to solve this problem. I think it is the problem for EGL, because when I get this issue before the code told me the "include is not existed. So I go to the web to find solution, and find one. Using line code: sudo apt-get install libglfw3-dev libgles2-mesa-dev but after that I get this issue,and i don't know how to solve it,please help!!!

ashawkey commented 1 year ago

@Ittya12345 Hi, you may try to reinstall the Nvidia driver as this is caused by failure of OpenGL installation. Or you can consider using nvidia-docker, as suggested in https://github.com/ashawkey/stable-dreamfusion/issues/131.

ichsan2895 commented 1 year ago

I also face that problem in google colab. I think the problem came from nvdiffrast package, But I don't have any solution

lijie2160 commented 1 year ago

I test my nvdiffrast package by the script ' python ./samples/torch/cube.py --resolution 32', all is ok No output directory specified, not saving log or images Mesh has 12 triangles and 8 vertices. iter=0,err=0.484121 iter=10,err=0.477057 iter=20,err=0.451328 iter=30,err=0.422412 iter=40,err=0.399281 iter=50,err=0.377979 iter=60,err=0.350746 iter=70,err=0.319959 iter=80,err=0.290063 iter=90,err=0.260615 iter=100,err=0.228687 iter=110,err=0.198384 iter=120,err=0.171083 iter=130,err=0.146649 iter=140,err=0.120679 iter=150,err=0.090211 iter=160,err=0.065608 iter=170,err=0.045116 iter=180,err=0.027301 iter=190,err=0.021919 iter=200,err=0.020134 iter=210,err=0.016927 iter=220,err=0.014431 iter=230,err=0.012944 iter=240,err=0.009914 iter=250,err=0.008238 iter=260,err=0.008146 iter=270,err=0.007994 iter=280,err=0.006453 iter=290,err=0.006525 iter=300,err=0.006298 iter=310,err=0.004787 iter=320,err=0.004414 iter=330,err=0.003542 iter=340,err=0.003827 iter=350,err=0.003281 iter=360,err=0.003336 iter=370,err=0.003464 iter=380,err=0.004370 iter=390,err=0.003070 iter=400,err=0.003084 iter=410,err=0.002631 iter=420,err=0.001698 iter=430,err=0.001750 iter=440,err=0.001691 iter=450,err=0.001791 iter=460,err=0.001551 iter=470,err=0.001561 iter=480,err=0.001464 iter=490,err=0.000829 iter=500,err=0.000830 iter=510,err=0.000645 iter=520,err=0.000554 iter=530,err=0.000441 iter=540,err=0.000436 iter=550,err=0.000549 iter=560,err=0.000861 iter=570,err=0.000710 iter=580,err=0.000651 iter=590,err=0.000604 iter=600,err=0.000807 iter=610,err=0.000606 iter=620,err=0.000485 iter=630,err=0.000408 iter=640,err=0.000299 iter=650,err=0.000443 iter=660,err=0.000652 iter=670,err=0.000705 iter=680,err=0.000724 iter=690,err=0.000460 iter=700,err=0.000411 iter=710,err=0.000541 iter=720,err=0.000530 iter=730,err=0.000373 iter=740,err=0.000433 iter=750,err=0.000318 iter=760,err=0.000275 iter=770,err=0.000193 iter=780,err=0.000153 iter=790,err=0.000142 iter=800,err=0.000125 iter=810,err=0.000082 iter=820,err=0.000068 iter=830,err=0.000050 iter=840,err=0.000039 iter=850,err=0.000040 iter=860,err=0.000032 iter=870,err=0.000026 iter=880,err=0.000024 iter=890,err=0.000020 iter=900,err=0.000020 iter=910,err=0.000016 iter=920,err=0.000418 iter=930,err=0.000645 iter=940,err=0.000520 iter=950,err=0.000399 iter=960,err=0.000347 iter=970,err=0.000400 iter=980,err=0.000332 iter=990,err=0.000316 iter=1000,err=0.000545 Done.

But the proble has not been solved.

==> Saving mesh to trial_syn_lego/mesh_stage0 [F glutil.cpp:338] eglInitialize() failed Aborted (core dumped)

jseobyun commented 4 months ago

Instead of resolving the error, I revised the function that caused the error.

In my case, I found out the function "dr.RasterizeGLContext(output_db=Flase)" in renderer.py.

After revising it to dr.RasterizeCudaContext(), the problem disappears.

I hope this comment will be helpful to someone.