我们正在构建一个运行 .NET 5 的 ASP.NET API,它使用 SkiaSharp 动态创建和返回图像。我们注意到使用 GPU 可以显着提高性能。我们知道,为了使用 GPU,我们需要实例化 OpenGL 上下文,但随之而来的是一些要求。我们的测试在我们的环境中运行良好:Mac 和 Windows,但在使用 P1v2 VM 部署到 Linux Azure 应用服务时无法运行。
错误信息Unable to create GL context: Unable to load shared library 'libX11'
。做了一些研究,我意识到容器没有OpenGL
安装,并且由于缺乏权限而尝试安装它apt-get
是不可能的。
我走的是在我的机器上本地运行KuduLite 容器并安装libgl1-mesa-glx和 mesa-utils的路线,但运行glxinfo
导致错误Error: unable to open display
。我发现这篇博文解释了在 Docker 中运行硬件加速 OpenGL 支持的要求。该博客文章来自 2014 年,所以我不确定它是否仍然有效,但如果有很多要求在我尝试在我的机器上本地解决之前,我想知道它们是否可以在 Azure App 中使用服务容器。
那么,是否有可能在 Azure App Service docker 中提供硬件加速的 OpenGL 支持?