pythonazureopenglvirtual-machinepsychopy

Does Azure allow App need OpenGL, any way to go around?


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?


Solution

  • 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!