我希望在 Azure 虚拟机上托管一个远程应用程序,该应用程序是使用 python 在 VTK 之上开发的。每次,我都会收到崩溃消息“vtkWin32OpenGLRenderWindow ...您的图形驱动程序不支持带有 gpu_shader4 扩展名的 GL version2.1”。 我试过 windows server 2016 和 windows 10 虚拟机,同样崩溃。
是不是Azure不支持运行需要OpenGl支持的app?除非租 super 贵的N台虚拟机?
有什么建议可以让我的应用程序在正常成本的虚拟机上运行而无需过多修改我的程序吗?
请您参考如下方法:
回答:
Azure VM 通常没有 GPU,除非 Azure N 系列 VM:https://blogs.technet.microsoft.com/hybridcloudbp/2016/12/13/n-series-azure-vms-with-gpu/
解决方案:
1)构建Mesa3D+LLvmpipe版本opengl32.dll,使用软件光栅器。
您可以关注:https://fdossena.com/?p=mesa/build.frag构建您自己的或从 Internet 下载预构建的 opengl32.dll。
2)替换windows/system32/opengl32.dll:
将 Mesa opengl32.dll 保存在应用程序的同一目录中不起作用 - 尚不清楚原因。
替换windows/ssytem32/openggl32.dll,需要将opengl32.dll的所有权从trustedinstaller更改为管理员,并赋予管理员完全访问权限。
*Mesa3D&LLvmpipe 很棒!但是构建 Mesa3D+LLvmpipe 是一件痛苦的事情!
