summaryrefslogtreecommitdiff
path: root/doc/troubleshooting.qdoc
blob: 7dc1022c5810c47be397b66298f4a47c5d928a3a (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
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
/****************************************************************************
**
** Copyright (C) 2021 The Qt Company Ltd.
** Copyright (C) 2019 Luxoft Sweden AB
** Copyright (C) 2018 Pelagicore AG
** Contact: https://www.qt.io/licensing/
**
** This file is part of the documentation of the Qt Toolkit.
**
** $QT_BEGIN_LICENSE:FDL$
** Commercial License Usage
** Licensees holding valid commercial Qt licenses may use this file in
** accordance with the commercial license agreement provided with the
** Software or, alternatively, in accordance with the terms contained in
** a written agreement between you and The Qt Company. For licensing terms
** and conditions see https://www.qt.io/terms-conditions. For further
** information use the contact form at https://www.qt.io/contact-us.
**
** GNU Free Documentation License Usage
** Alternatively, this file may be used under the terms of the GNU Free
** Documentation License version 1.3 as published by the Free Software
** Foundation and appearing in the file included in the packaging of
** this file. Please review the following information to ensure
** the GNU Free Documentation License version 1.3 requirements
** will be met: https://www.gnu.org/licenses/fdl-1.3.html.
** $QT_END_LICENSE$
**
****************************************************************************/

/*!

\page troubleshoot.html
\title Troubleshoot

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

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

\target ts-01
\b{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.

\target ts-02
\b{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.

\target ts-03
\b{My applications are running slowly within the application manager. What are some possible solutions?}

Verify if your applications are running with hardware acceleration.

\target ts-04
\b{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}.

\target ts-05
\b{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

\b{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 (e.g. shaders) explicitly.

*/