Troubleshoot

This section lists possible issues you may encounter while using QtApplicationManager and how to solve them.

How do I check whether my application manager instance is running in multi-process mode?

Start the Application manager with the --verbose argument and verify that you see WindowManager: running in Wayland mode in the output. Alternatively, start an application and make sure that you can see at least one appman-launcher-qml process running.

How do I find out why my application manager instance doesn't support multi-process mode?

Check the "Application Manager configuration", which is visible when you run the qmake command. It's possible that your configuration doesn't support the QtCompositor module.

My applications are running slowly within the application manager. What are some possible solutions?

Verify if your applications are running with hardware acceleration.

How do I find out if my applications use hardware acceleration?

Run the appman, with the environment variable QSG_INFO=1. When you start an application, you should see a similar output:

[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

If GL_RENDERER is llvmpipe, you're using software rendering for your Wayland clients.

Note: This information is also available for the System UI itself, based on the application's ID in the prefix. In the example above, com.pelagicore.music is truncated to c.p.music.

How do I enable hardware acceleration?

This depends on your hardware and operating system:

You need to make sure that you have the correct drivers installed:

  • For NVIDIA on Ubuntu or Debian you need nvidia-egl-wayland-icd
  • For Intel on Ubuntu or Debian you need libwayland-egl1-mesa

On desktop systems, make sure your Qt is configured to use at least OpenGL ES2/ES3 instead of Desktop OpenGL. In Qt's configure summary, verify that you see the following line:

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

You can force Qt to use Opengl ES2 by using the --opengl es2 configure option.

Additionally, you also need to make sure that the wayland-egl integration plugin is built. If the plugin built successfully, you should have the following file: <QT_DIR>/plugins/wayland-graphics-integration-client/libqt-plugin-wayland-egl.so

If that file isn't available, check QtWayland's configure summary and make sure this plugin is built.

My applications are crashing immediately within the application manager. What are some possible solutions?

Your system setup might not allow Wayland clients to use OpenGL. In this case both the application manager and the QML application launcher output a critical log message if hardware accelerated rendering is not possible for applications.

Make sure to enable hardware acceleration.

You can also force software rendering by setting the environment variable $QT_QUICK_BACKEND to software, but only if your applications aren't using OpenGL features (e.g. shaders) explicitly.