AiuniAI / Unique3D

[NeurIPS 2024] Unique3D: High-Quality and Efficient 3D Mesh Generation from a Single Image
https://wukailu.github.io/Unique3D/
MIT License
3.1k stars 248 forks source link

4090 ubuntu24.04 docker 容器中安装失败 #81

Open userYKK opened 3 months ago

userYKK commented 3 months ago

环境: os 为ubuntu24.04, Driver Version: 550.90.07 CUDA Version: 12.4 ; docker 容器中,并且 DISPLAY 成功对接在容器中使用(eg: xarclock验证); python3.10 python3.12 都尝试过。 错误集中在 [F glutil.cpp:338] eglInitialize() failed Aborted (core dumped) 其中源码断点查看是nvdiffrast-torch 库 --opengl 就会出错; 最后不停的源码测试,报错为 error: XDG_RUNTIME_DIR is invalid or not set in the environment. MESA: error: ZINK: failed to choose pdev 以及 RuntimeError: Cuda error: 304[cudaGraphicsGLRegisterBuffer(&s.cudaPosBuffer, s.glPosBuffer, cudaGraphicsRegisterFlagsWriteDiscard);] 这个项目就必须让我更换宿主机的显卡驱动以及 cuda版本么?

我也尝试用项目提供的 docker file 进行部署,手动依照教程执行完,还是一样的错误。

tiyee commented 3 months ago

显然不是,我们线上产品就运行在k8s环境。

miaowu99 commented 3 months ago

同样的,直接用提供的docker file安装后,会报错,eglInitialize() failed Aborted (core dumped),你解决了吗?

userYKK commented 3 months ago

显然不是,我们线上产品就运行在k8s环境。

我看到了几个平台的项目展示才来瞻仰项目的, 但是对于固定环境来说,os ubuntu24.04 , Driver Version: 550.90.07 CUDA Version: 12.4 ; 你们 k8s 也是对应这样环境么? 并且我很不关系你k8s (containerd 或者即使用的是 docker),我关心的是 https://github.com/wukailu/nvdiffrast-torch 能正常运行。

tiyee commented 3 months ago

显然不是,我们线上产品就运行在k8s环境。

我看到了几个平台的项目展示才来瞻仰项目的, 但是对于固定环境来说,os ubuntu24.04 , Driver Version: 550.90.07 CUDA Version: 12.4 ; 你们 k8s 也是对应这样环境么? 并且我很不关系你k8s (containerd 或者即使用的是 docker),我关心的是 https://github.com/wukailu/nvdiffrast-torch 能正常运行。

export NVIDIA_DRIVER_CAPABILITIES=compute,utility,graphics
apt-get update && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends \
    pkg-config \
    libglvnd0 \
    libgl1 \
    libglx0 \
    libegl1 \
    libgles2 \
    libglvnd-dev \
    libgl1-mesa-dev \
    libegl1-mesa-dev \
    libgles2-mesa-dev \
    cmake \
    curl \
    mesa-utils-extra
export PYTHONDONTWRITEBYTECODE=1
export PYTHONUNBUFFERED=1
export LD_LIBRARY_PATH=/usr/lib64:$LD_LIBRARY_PATH
export PYOPENGL_PLATFORM=egl
echo '{"file_format_version":"1.0.0","ICD":{"library_path":"libEGL_nvidia.so.0"}}' > /usr/share/glvnd/egl_vendor.d/10_nvidia.json