conda-forge / vtk-feedstock

A conda-smithy repository for vtk.
BSD 3-Clause "New" or "Revised" License
13 stars 64 forks source link

Issue using offscreen rendering with osmesa #68

Open Cadair opened 6 years ago

Cadair commented 6 years ago

I am trying to test out the offscreen rendering using the osmesa variant of vtk. This is motivated by enthought/mayavi#477.


Environment (conda list): I created a clean env with:

conda create -n mayavi_osmesa -c conda-forge mesalib vtk python=3.6

which gives me the following env:

``` $ conda list # packages in environment at /opt/miniconda/envs/mayavi_osmesa: # # Name Version Build Channel bzip2 1.0.6 h470a237_2 conda-forge ca-certificates 2018.8.24 ha4d7672_0 conda-forge certifi 2018.8.24 py36_1001 conda-forge curl 7.61.1 h74213dd_2 conda-forge expat 2.2.5 hfc679d8_2 conda-forge freetype 2.9.1 h6debe1e_4 conda-forge future 0.16.0 py36_1002 conda-forge hdf4 4.2.13 h951d187_2 conda-forge hdf5 1.10.1 2 conda-forge icu 58.2 hfc679d8_0 conda-forge jpeg 9c h470a237_1 conda-forge jsoncpp 1.8.1 h2d50403_1 conda-forge krb5 1.16.1 hbb41f41_0 conda-forge libcurl 7.61.1 hbdb9355_2 conda-forge libedit 3.1.20170329 haf1bffa_1 conda-forge libffi 3.2.1 hfc679d8_5 conda-forge libgcc-ng 7.2.0 hdf63c60_3 conda-forge libgfortran 3.0.0 1 conda-forge libiconv 1.15 h470a237_3 conda-forge libnetcdf 4.6.1 2 conda-forge libogg 1.3.2 h470a237_1 conda-forge libpng 1.6.35 ha92aebf_2 conda-forge libssh2 1.8.0 h5b517e9_2 conda-forge libstdcxx-ng 7.2.0 hdf63c60_3 conda-forge libtheora 1.1.1 h470a237_1 conda-forge libtiff 4.0.9 he6b73bb_2 conda-forge libuuid 2.32.1 h470a237_2 conda-forge libvorbis 1.3.5 0 conda-forge libxcb 1.13 h470a237_2 conda-forge libxml2 2.9.8 h422b904_5 conda-forge lz4-c 1.8.1.2 0 conda-forge mesalib 17.3.9 hdd5ec5b_0 conda-forge ncurses 6.1 hfc679d8_1 conda-forge openssl 1.0.2p h470a237_0 conda-forge pip 18.1 py36_1000 conda-forge pthread-stubs 0.4 h470a237_1 conda-forge python 3.6.6 h5001a0f_0 conda-forge readline 7.0 haf1bffa_1 conda-forge setuptools 40.4.3 py36_0 conda-forge sqlite 3.25.2 hb1c47c0_0 conda-forge tbb 2019.1 h2d50403_0 conda-forge tk 8.6.8 ha92aebf_0 conda-forge vtk 8.1.1 py36_mesalibhed38e9a_4 [mesalib] conda-forge wheel 0.32.1 py36_0 conda-forge xorg-kbproto 1.0.7 h470a237_2 conda-forge xorg-libice 1.0.9 h470a237_4 conda-forge xorg-libsm 1.2.3 h8c8a85c_0 conda-forge xorg-libx11 1.6.6 h470a237_0 conda-forge xorg-libxau 1.0.8 h470a237_6 conda-forge xorg-libxdmcp 1.1.2 h470a237_7 conda-forge xorg-libxt 1.1.5 h470a237_2 conda-forge xorg-xproto 7.0.31 h470a237_7 conda-forge xz 5.2.4 h470a237_1 conda-forge zlib 1.2.11 h470a237_3 conda-forge ```

Details about conda and system ( conda info ):

``` $ conda info active environment : None user config file : /home/stuart/.condarc populated config files : /home/stuart/.condarc conda version : 4.5.11 conda-build version : 3.14.4 python version : 3.6.6.final.0 base environment : /opt/miniconda (writable) channel URLs : https://repo.anaconda.com/pkgs/main/linux-64 https://repo.anaconda.com/pkgs/main/noarch https://repo.anaconda.com/pkgs/free/linux-64 https://repo.anaconda.com/pkgs/free/noarch https://repo.anaconda.com/pkgs/r/linux-64 https://repo.anaconda.com/pkgs/r/noarch https://repo.anaconda.com/pkgs/pro/linux-64 https://repo.anaconda.com/pkgs/pro/noarch https://conda.anaconda.org/conda-forge/linux-64 https://conda.anaconda.org/conda-forge/noarch package cache : /opt/miniconda/pkgs /home/stuart/.conda/pkgs envs directories : /opt/miniconda/envs /home/stuart/.conda/envs platform : linux-64 user-agent : conda/4.5.11 requests/2.19.1 CPython/3.6.6 Linux/4.18.12-arch1-1-ARCH arch/rolling glibc/2.28 UID:GID : 1000:1000 netrc file : None offline mode : False ```


I then try and import the vtkOSOpenGLRenderWindow offscreen renderer (or run the offscreen render script in the first post on enthought/mayavi#477) and it fails to import the renderer or issues a no X sever error.

daniellivingston commented 5 years ago

I had the same issue. Check out #81 and vtkiorg/vtki#155 for how I solved this on my end.

I should note that this is only a workaround for end-users like us - it is not a native vtk solution and the maintainers of this repository should not recognize it as such.