Linux服务器(docker中),通常没有 x server,直接运行离屏渲染程序,报下列错误:
ERROR: In /home/whistler/Desktop/build/VTK-8.2.0/Rendering/OpenGL2/vtkXOpenGLRenderWindow.cxx, line 452
vtkXOpenGLRenderWindow (0x34ae140): bad X server connection.
简单解决办法如下:(虚拟 x server)
https://blog.csdn.net/Ericohe/article/details/108380926
上述方法存在速度问题,追求高性能绘制方案,只有基于(osmesa 或者OpenGL EGL)两个方案。
下列试验osmesa的方案。
Ubuntu系统安装必要的依赖包
apt-get update
apt-get install -y build-essential libgl1-mesa-dev libglu1-mesa-dev libosmesa6-dev
apt-get install -y x11proto-gl-dev libdrm-dev libxxf86vm-dev libxt-dev xutils-dev flex bison xcb libx11-xcb-dev libxcb-glx0 libxcb-glx0-dev xorg-dev libxcb-dri3-dev libxcb-dri2-0-dev libxcb-xfixes0 libxcb-xfixes0-dev libxcb-present-dev libxcb-sync-dev libxshmfence-dev
apt-get install cmake
apt-get install software-properties-common
add-apt-repository ppa:ubuntu-x-swat/updates
apt-get update
apt-get dist-upgrade
apt install mesa-utils
glxinfo | grep "OpenGL version"
apt install nvidia-utils-390
nvidia-smi
vtk 8.2.0 编译源代码
VTK EGL (GPU加速 )
Dockerfile
FROM nvidia/opengl:1.2-glvnd-devel-ubuntu18.04
RUN apt-get update && \
apt-get install -y vim git cmake && \
apt-get install -y python3 python3-pip && \
apt-get install -y libz-dev && \
apt-get clean
RUN pip3 install conan==1.17.0
# RUN apt-get install -y build-essential libgl1-mesa-dev libglu1-mesa-dev libosmesa6-dev libglew-dev
# RUN apt-get install -y libegl1-mesa-dev # for EGL
VTK OSMESA 为软件驱动
git clone https://gitlab.kitware.com/vtk/vtk.git
cd vtk
git checkout v8.2.0
git status
mkdir /app/vtk_install
mkdir build
cd build
# egl
cmake -DCMAKE_INSTALL_PREFIX=/app/vtk_install -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DBUILD_EXAMPLES=OFF -DBUILD_TESTING=OFF -DVTK_Group_Views=ON -DModule_vtkRenderingParallel=ON -DVTK_Group_Rendering=ON -DVTK_Group_StandAlone=ON -DVTK_USE_X=OFF -DVTK_OPENGL_HAS_EGL=ON -DVTK_OPENGL_HAS_OSMESA=OFF -DVTK_RENDERING_BACKEN

本文介绍在Linux服务器(Docker环境中)进行VTK离屏渲染的解决方案,详细描述了osmesa配置步骤及VTK 8.2.0的编译过程,同时提供了一个使用osmesa进行离屏渲染的示例代码。
方案&spm=1001.2101.3001.5002&articleId=108566100&d=1&t=3&u=d89a6e63636a40b5b5f5c0fa8a24161a)
7707

被折叠的 条评论
为什么被折叠?



