Closed banesullivan closed 6 days ago
A little bump on this issue since I faced something related today :)
After setting my self-hosted runner I wanted to run the CI associated to a project leveraging pyvista
. Since I don't have a physical GPU, I tried to use this action that could have helped me. However, using it did not solve my problem as running my plot related tests triggered "Windows fatal exception"
. The exception seems to be triggered through pyvista\plotting\plotter.py
.
After testing various solutions, the one that paid of was using a newer version of Mesa3D (but not the newest ones for some reasons...). From my results, Mesa 20.1.8 and 20.2.0 are passing my first (previously) failing tests.
I'm using pre-built Mesa3D drivers for windows from https://github.com/pal1000/mesa-dist-win/.
FYI, here are some info I got from the opengl32.dll
from the 20.2.0 release mingw:
update Not all tests are pasing with 20.2.0. I'll try using 20.1.8 tomorrow to see how it goes.
4.5 core would be great! Can you make a PR to update the DLL download URL and install_opengl.ps1
once you find a version that's good?
FYI: PyVista is not using this action anymore and I don't think anyone is actively maintaining it. Further, Kitware is now publishing Windows wheels with OSMesa bundled here: https://gitlab.kitware.com/vtk/vtk/-/packages. The 9.3.0 release is here: https://gitlab.kitware.com/vtk/vtk/-/packages/215 with win_amd64
wheels.
See also https://discourse.vtk.org/t/status-update-vtk-python-wheels/11212
I use it in half a dozen or so repositories and am happy to maintain it!
I mispoke! We are still using it 🤦🏻♂️ https://github.com/search?q=repo%3Apyvista%2Fpyvista%20etup-headless-display-action&type=code
Thanks for volunteering @larsoner!
4.5 core would be great! Can you make a PR to update the DLL download URL and
install_opengl.ps1
once you find a version that's good?
Didn't ran all my tests before and it seems that version I mentioned are not working (or at least i'm doing something wrong) I hope to give you some feedback soon but I'm kinda stuck atm :/ I'll give a try to vtk-osmesa
to hopefully find a shortcut :) @banesullivan thanks for the tip !
vtk-osmesa
with win_amd64 wheels did the job !
@larsoner Since I'm not the one building the pre-built Mesa3D drivers (https://github.com/pal1000/mesa-dist-win/) I'm not confident to propose a PR. Screwing my VM / CI is one thing, but I would hate doing it for every repo leveraging this action.
Screwing my VM / CI is one thing, but I would hate doing it for every repo leveraging this action.
In theory anyone using this action who wants stable behavior should be using v2
and we could cut this as v3
. WDYT?
Screwing my VM / CI is one thing, but I would hate doing it for every repo leveraging this action.
In theory anyone using this action who wants stable behavior should be using
v2
and we could cut this asv3
. WDYT?
Good idea. I'm busy this week but I'll try to test a bit more pre-built mesa3D drivers for windows.
VTK 9.4 needs newer GL support so this is a bit more urgent now. I think I have it working in #21 though so I'll merge that and cut it as v2 just in case it breaks stuff for people.
The current version of OSMesa on windows used here is
mesa-10.2.4-1
which is 8+ years old and has all kinds of issues rendering which show up in PyVista's image regression tests, for example:This old version of Mesa is coming from @vispy's https://github.com/vispy/demo-data/raw/main/mesa/ (cc @larsoner)
I've started drafting a PR in #4 to add a DLL directly to this action to use but I don't know anything about PowerShell and windows so this is taking me a bit to debug.
Opening this issue to track the fact that we need to and are updating the OSMesa DLL for windows and to have a broader conversation to see if @vispy wants to update their OSMesa version