linux - 在 yocto 中使用 llvmpipe 而不是 softpipe
问题描述
我有一台旧的 x86 机器。我构建了通用的 intel-core2-i32 机器配置并在其上安装了 yocto。显示速度很慢。
Ubuntu 12.04 在同一台机器上运行流畅。两种情况下的图形驱动程序相同:gma500_gfx
然后我查看了glxinfo并发现了不同之处,ubuntu12.04正在使用Gallium on llvmpipe
而yocto正在使用:
OpenGL vendor string: VMware, Inc.
OpenGL renderer string: softpipe
OpenGL core profile version string: 3.3 (Core Profile) Mesa 19.0.3
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.1 Mesa 19.0.3
OpenGL shading language version string: 1.40
OpenGL context flags: (none)
OpenGL extensions:
OpenGL ES profile version string: OpenGL ES 3.1 Mesa 19.0.3
OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.10
OpenGL ES profile extensions:
如何在 Yocto 上将 OpenGL 渲染器字符串更改为“llvmpipe”,这有帮助吗
解决方案
您应该首先检查 llvmpipe 驱动程序是否已实际启用。mesa 配方配置有这个可疑之处(我相信这里的 swrast 真的意味着 llvmpipe):
GALLIUMDRIVERS = "swrast"
# gallium swrast was found to crash Xorg on startup in x32 qemu
GALLIUMDRIVERS_x86-x32 = ""
检查配置日志或生成的包:如果没有构建 llvmpipe,请尝试删除上面的最后一行,看看是否可以改善情况。
推荐阅读
- frontend - bootstrap 5 carousel 没有响应并且缺少文本
- haskell - Haskell 中的流数据类型实现
- java - 带有 kubernetes 的 Eureka 服务器
- azure - 如何在认知搜索索引器中翻译 Azure Blob 存储中的 HTML 文档?
- python - 例外:在 pyinstaller 中找不到 Python.Runtime
- javascript - TypeError: props.price.toFixed 不是函数。(在 'props.price.toFixed(2)' 中,'props.price.toFixed' 未定义)
- c# - 为什么在 C# 中从具有 double 类型的重复属性的列表中删除对象不会使用不同的方法给出一致的结果?
- amazon-ec2 - Promtail EC2 权限
- php - MySQLi 准备好的语句查询不会运行
- tensorflow - 基于索引张量从张量中选择值