基于电子的应用程序的图形故障

基于电子的应用程序的图形故障

语境

测试基于电子的应用在 Ubuntu 22.04 (LTS) VM(从 21.10 升级而来)上。具体来说,我在 Windows 10 上使用 VMWare 工作站 12,并且 VM 具有以下 OpenGL 规格(其中一些是在升级到 22.04 之前更新的)。请注意有关缺少配置文件的详细错误 - 不清楚这些文件是否真的需要,如果需要,我不知道如何获取它们。

$ export LIBGL_DEBUG=verbose
$ glxinfo | grep OpenGL
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/qa/.drirc: No such file or directory.
libGL: using driver vmwgfx for 4
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/qa/.drirc: No such file or directory.
libGL: pci id for fd 4: 15ad:0405, driver vmwgfx
libGL: MESA-LOADER: dlopen(/usr/lib/x86_64-linux-gnu/dri/vmwgfx_dri.so)
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/qa/.drirc: No such file or directory.
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/qa/.drirc: No such file or directory.
libGL: Can't open configuration file /etc/drirc: No such file or directory.
libGL: Can't open configuration file /home/qa/.drirc: No such file or directory.
libGL: Using DRI3 for screen 0
OpenGL vendor string: VMware, Inc.
OpenGL renderer string: SVGA3D; build: RELEASE;  LLVM;
OpenGL core profile version string: 3.3 (Core Profile) Mesa 22.1.4 - kisak-mesa PPA
OpenGL core profile shading language version string: 3.30
OpenGL core profile context flags: (none)
OpenGL core profile profile mask: core profile
OpenGL core profile extensions:
OpenGL version string: 3.3 (Compatibility Profile) Mesa 22.1.4 - kisak-mesa PPA
OpenGL shading language version string: 3.30
OpenGL context flags: (none)
OpenGL profile mask: compatibility profile
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.0 Mesa 22.1.4 - kisak-mesa PPA
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.00
OpenGL ES profile extensions:

问题

尽管在最新的公开版本中所有图形都是稳定的,大多数基于文本的内容经常出现乱码在下一个版本的最新内部版本中(使用较新版本电子)。 很多时候,文本渲染会在会话中途自行纠正,但它也经常会再次中断。

从终端启动应用程序时会显示以下错误。还有一些错误,但它们在以前的版本中也可以重现,所以我省略了它们:

MESA-LOADER: failed to retrieve device information  ## repeated 3 times
[4538:0722/102429.917451:ERROR:gbm_wrapper.cc(292)] Failed to export buffer to dma_buf: No such file or directory (2)  ## repeated ~20 times

目前的解决方法

  • 在虚拟机上禁用硬件加速。鉴于应用程序包含需要 OpenGL 的可调整 3D 内容的窗口,因此这是不可取的。
  • 降级应用程序使用的 OpenGL 版本(请参阅https://docs.mesa3d.org/drivers/svga3d.html)。鉴于旧版本的应用程序不需要这个,我怀疑这个应该不需要,并且可能会导致其他方面的问题。所以,我希望有一个不同的解决方案,允许使用较新的 OpenGL。FWIW,当应用此解决方法时,上述新错误仍然可以重现。

相关内容