I was hoping to host a remote app on Azure Virtual Machine, that was developed on top of VTK using python. Every time, I got crash message says "vtkWin32OpenGLRenderWindow...GL version2.1 with the gpu_shader4 extension is not supported by your graphic driver". I tried windows server 2016 and windows 10 Virtual machine, same crash.
Is that Azure does not support to run app need OpenGl support? Unless renting super expensive N virtual machine?
Any advise how to get my app run on normal cost virtual machine without revising my program too much?
Answer:
Azure VM in general does not have GPU, unless Azure N-series VMs: https://blogs.technet.microsoft.com/hybridcloudbp/2016/12/13/n-series-azure-vms-with-gpu/
Solution:
1)Build Mesa3D+LLvmpipe version opengl32.dll which use software rasterizer.
You may follow: https://fdossena.com/?p=mesa/build.frag to build your own or download a prebuilt opengl32.dll from internet.
2)Replace windows/system32/opengl32.dll:
Saving Mesa opengl32.dll in the same directory of application does not works - not sure why yet.
Replacing windows/ssytem32/openggl32.dll, needs changing the ownership of opengl32.dll from trustedinstaller to administrator, and assign full access right to administrator.
*Mesa3D&LLvmpipe are great! But buidling Mesa3D+LLvmpipe is a pain!