summaryrefslogtreecommitdiff
path: root/doc/troubleshooting.qdoc
blob: a0361ee2c5d63b055fc3ef759b85fc5540f276ee (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
// Copyright (C) 2021 The Qt Company Ltd.
// Copyright (C) 2019 Luxoft Sweden AB
// Copyright (C) 2018 Pelagicore AG
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR GFDL-1.3-no-invariants-only

/*!

\page troubleshoot.html
\ingroup qtappman
\ingroup qtappman-highlights
\title Troubleshooting
\brief Lists possible issues you may encounter while using QtApplicationManager and how to solve them.

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

\table
    \header
        \li Possible Issues or questions.
    \row
        \li \l{How do I check whether my application manager instance is running in multi-process mode?}
    \row
        \li \l{How do I find out why my application manager instance doesn't support multi-process mode?}
    \row
        \li \l{My applications are running slowly within the application manager. What are some possible solutions?}
    \row
        \li \l{How do I find out if my applications use hardware acceleration?}
    \row
        \li \l{How do I enable hardware acceleration?}
    \row
        \li \l{My applications are crashing immediately within the application manager. What are some possible solutions?}
\endtable

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

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

\section1 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 \c qmake command.
It's possible that your configuration doesn't support the \c QtCompositor module.

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

Verify if your applications are running with hardware acceleration.


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

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

\badcode
    [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
\endcode

If \c GL_RENDERER is \c 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, \c{com.pelagicore.music} is truncated to \c{c.p.music}.


\section1 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:
\list
    \li For NVIDIA on Ubuntu or Debian you need \c nvidia-egl-wayland-icd
    \li For Intel on Ubuntu or Debian you need \c libwayland-egl1-mesa
\endlist

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:

\badcode
    OpenGL ES 2.0 ........................ yes
\endcode

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

Additionally, you also need to make sure that the \c wayland-egl integration plugin is built. If
the plugin built successfully, you should have the following file:
\e <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.

\target ts-06

\section1 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 \c $QT_QUICK_BACKEND to
\c software, but only if your applications aren't using OpenGL features explicitly.
For example, shaders.

*/