故障排除

本节列出了您在使用 QtApplicationManager 可能遇到的某些问题以及如何解决这些问题。

我如何检查我的应用程序管理器实例是否在多进程模式下运行?

使用 --verbose 参数启动应用程序管理器并验证输出中是否出现 WindowManager: 运行在 Wayland 模式下。或者,启动一个应用程序并确保至少看到一个 appman-launcher-qml 进程正在运行。

我如何找出为什么我的应用程序管理器实例不支持多进程模式?

检查 "应用程序管理器配置",在运行 qmake 命令时可见。可能您的配置不支持 QtCompositor 模块。

我的应用程序在应用程序管理器中运行缓慢。有哪些可能的解决方案?

验证您的应用程序是否使用硬件加速。

我如何找出我的应用程序是否使用硬件加速?

使用环境变量 QSG_INFO=1 运行 appman。当您启动一个应用程序时,您应该看到类似的输出

[DBG  | qt.scenegraph.general | c.p.music] Using sg animation driver
[DBG  | qt.scenegraph.general | c.p.music] Animation Driver: using vsync: 16.95 ms
[DBG  | qt.scenegraph.general | c.p.music] texture atlas dimensions: 1024x1024
[DBG  | qt.scenegraph.general | c.p.music] R/G/B/A Buffers:    8 8 8 8
[DBG  | qt.scenegraph.general | c.p.music] Depth Buffer:       24
[DBG  | qt.scenegraph.general | c.p.music] Stencil Buffer:     8
[DBG  | qt.scenegraph.general | c.p.music] Samples:            0
[DBG  | qt.scenegraph.general | c.p.music] GL_VENDOR:          VMware, Inc.
[DBG  | qt.scenegraph.general | c.p.music] GL_RENDERER:        llvmpipe (LLVM 5.0, 256 bits)
[DBG  | qt.scenegraph.general | c.p.music] GL_VERSION:         3.0 Mesa 17.3.0

如果 GL_RENDERERllvmpipe,您正在为 Wayland 客户端使用软件渲染。

注意:根据应用程序在前缀中的应用程序 ID,此信息也可以用于系统 UI 本身。在上面的示例中,com.pelagicore.music 截短为 c.p.music

我如何启用硬件加速?

这取决于您的硬件和操作系统

您需要确保已正确安装了正确的驱动程序

  • 对于 Ubuntu 或 Debian 上的 NVIDIA,您需要 nvidia-egl-wayland-icd
  • 对于 Ubuntu 或 Debian 上的 Intel,您需要 libwayland-egl1-mesa

在桌面系统上,请确保您的 Qt 配置为至少使用 OpenGL ES2/ES3 而不是桌面 OpenGL。在 Qt 的配置摘要中,验证您是否看到以下行

OpenGL ES 2.0 ........................ yes

您可以使用 --opengl es2 配置选项强制 Qt 使用 OpenGL ES2。

此外,您还需要确保已构建 wayland-egl 集成插件。如果插件构建成功,您应该有如下文件:<QT_DIR>/plugins/wayland-graphics-integration-client/libwayland-egl.so

如果没有此文件,请检查 QtWayland 的配置摘要,并确保已构建此插件。

©2019 瑞典 Luxoft AB。此处包含的文档贡献是各自所有者的版权。提供的文档根据自由软件基金会发布的 GNU 自由文档许可版 1.3 的条款进行许可。Qt 和相应商标是芬兰 Qt 公司或全球其它国家的商标。所有其他商标归各自所有者所有。