Building QtWayland Error in Windows 10 by Qt 5.10.0
-
This is my error message when I run the "qmake", I just don't know what to do with this error message. I have read the "README" file in the Folder the same with the "qtwayland.pro", but has no idea how to deal with it.
Following text is the ReadMe file content:
This is the QtWayland module.The QtWayland module consists of two parts:
Wayland platform plugin:
Enables Qt applications to be run as Wayland clients.QtWaylandCompositor API:
Enables the creation of Wayland compositors using Qt and QtQuick.To build the QtWayland module you need the external dependencies:
xkbcommon 0.2.0 - http://xkbcommon.org/
wayland 1.6.0 - http://wayland.freedesktop.org/QtWaylandCompositor supports loading client buffer integrations that don't use
the wayland-egl interfaces. These client buffer integrations are picked up by
QtWaylandCompositor as plugins. To specify what plugin to load use the environment
variable QT_WAYLAND_CLIENT_BUFFER_INTEGRATION in the environment where the
compositor is started. The compositor will broadcast to the clients which
hardware integration to load when using the generic platformplugin "wayland". If
no client buffer integration is specified, then the wayland-egl plugin will be
loaded. Please note that no Weston clients will work if the non standard
wayland-egl client buffer integration is used.To start the qwindow-compositor with the xcomposite-glx integration then start
the compositor as follows:
QT_WAYLAND_CLIENT_BUFFER_INTEGRATION=xcomposite-glx ./qwindow-compositorNow it should be possible to start an application in a separate terminal. ie:
$QTBASEDIR/examples/opengl/hellowindow/hellowindow -platform wayland --singleAvailable client buffer integrations are:
wayland-egl (this is the default)
brcm
xcomposite-egl
xcomposite-glxTesting a Qt-based compositor on X11:
Most QWidget-based applications will use shared memory buffers, which work on
all hardware. OpenGL and Qt Quick applications need a way to send graphics
memory buffers from client to server. There are many options, and not all
options work on all hardware.The X Composite buffer integration should work on all modern X servers. It
can be used with either EGL or GLX as the OpenGL backend. This must match the
backend used by the xcb platform plugin. (Normally GLX is the default for Qt
applications running on X11.) To use the X Composite buffer sharing with EGL,
start the compositor as follows:QT_XCB_GL_INTEGRATION=xcb_egl QT_WAYLAND_CLIENT_BUFFER_INTEGRATION=xcomposite-egl ./pure-qml
Using wayland-egl requires support from the driver. Intel integrated graphics
are supported through the standard Mesa drivers. For NVidia, driver version
364.12 or newer is required, and Qt must be configured with "-opengl es2".
Run the compositor as follows:QT_XCB_GL_INTEGRATION=xcb_egl QT_WAYLAND_CLIENT_BUFFER_INTEGRATION=wayland-egl ./minimal-qml
Please note that some NVidia drivers may require early EGL initialization. Qt
clients normally use the buffer integration communicated by the compositor.
To set the client-side buffer integration manually, run clients with
"-platform wayland-egl".Shell Integration:
Some platforms, especially non-desktop ones, use a custom Wayland shell
extension. These are tailored to the specific embedded form factor better than
the generic wl_shell or xdg_shell extensions that target desktop systems.
Custom shell protocols are added through shell integration plugins.Which shell integration to use is determined by the QT_WAYLAND_SHELL_INTEGRATION
environment variable. If no shell is specified, the default is to first try
xdg-shell-v6 and then wl-shell.Example Usage:
Starting the hellowindow example application (one of the examples for qtbase)
with ivi-shell integration:QT_WAYLAND_SHELL_INTEGRATION=ivi-shell ./hellowindow -platform wayland
Available Shell Integrations:
* ivi-shell * wl-shell * xdg-shell-v5 * xdg-shell-v6
We hang out at #qt-labs and #qt-lighthouse on freenode if you have any questions
but it is not very clear, how to do. Especially with the external dependencies, there no much information on Windows 10 platform, Can anyone help me to build QtWayland?
-
This is my error message when I run the "qmake", I just don't know what to do with this error message. I have read the "README" file in the Folder the same with the "qtwayland.pro", but has no idea how to deal with it.
Following text is the ReadMe file content:
This is the QtWayland module.The QtWayland module consists of two parts:
Wayland platform plugin:
Enables Qt applications to be run as Wayland clients.QtWaylandCompositor API:
Enables the creation of Wayland compositors using Qt and QtQuick.To build the QtWayland module you need the external dependencies:
xkbcommon 0.2.0 - http://xkbcommon.org/
wayland 1.6.0 - http://wayland.freedesktop.org/QtWaylandCompositor supports loading client buffer integrations that don't use
the wayland-egl interfaces. These client buffer integrations are picked up by
QtWaylandCompositor as plugins. To specify what plugin to load use the environment
variable QT_WAYLAND_CLIENT_BUFFER_INTEGRATION in the environment where the
compositor is started. The compositor will broadcast to the clients which
hardware integration to load when using the generic platformplugin "wayland". If
no client buffer integration is specified, then the wayland-egl plugin will be
loaded. Please note that no Weston clients will work if the non standard
wayland-egl client buffer integration is used.To start the qwindow-compositor with the xcomposite-glx integration then start
the compositor as follows:
QT_WAYLAND_CLIENT_BUFFER_INTEGRATION=xcomposite-glx ./qwindow-compositorNow it should be possible to start an application in a separate terminal. ie:
$QTBASEDIR/examples/opengl/hellowindow/hellowindow -platform wayland --singleAvailable client buffer integrations are:
wayland-egl (this is the default)
brcm
xcomposite-egl
xcomposite-glxTesting a Qt-based compositor on X11:
Most QWidget-based applications will use shared memory buffers, which work on
all hardware. OpenGL and Qt Quick applications need a way to send graphics
memory buffers from client to server. There are many options, and not all
options work on all hardware.The X Composite buffer integration should work on all modern X servers. It
can be used with either EGL or GLX as the OpenGL backend. This must match the
backend used by the xcb platform plugin. (Normally GLX is the default for Qt
applications running on X11.) To use the X Composite buffer sharing with EGL,
start the compositor as follows:QT_XCB_GL_INTEGRATION=xcb_egl QT_WAYLAND_CLIENT_BUFFER_INTEGRATION=xcomposite-egl ./pure-qml
Using wayland-egl requires support from the driver. Intel integrated graphics
are supported through the standard Mesa drivers. For NVidia, driver version
364.12 or newer is required, and Qt must be configured with "-opengl es2".
Run the compositor as follows:QT_XCB_GL_INTEGRATION=xcb_egl QT_WAYLAND_CLIENT_BUFFER_INTEGRATION=wayland-egl ./minimal-qml
Please note that some NVidia drivers may require early EGL initialization. Qt
clients normally use the buffer integration communicated by the compositor.
To set the client-side buffer integration manually, run clients with
"-platform wayland-egl".Shell Integration:
Some platforms, especially non-desktop ones, use a custom Wayland shell
extension. These are tailored to the specific embedded form factor better than
the generic wl_shell or xdg_shell extensions that target desktop systems.
Custom shell protocols are added through shell integration plugins.Which shell integration to use is determined by the QT_WAYLAND_SHELL_INTEGRATION
environment variable. If no shell is specified, the default is to first try
xdg-shell-v6 and then wl-shell.Example Usage:
Starting the hellowindow example application (one of the examples for qtbase)
with ivi-shell integration:QT_WAYLAND_SHELL_INTEGRATION=ivi-shell ./hellowindow -platform wayland
Available Shell Integrations:
* ivi-shell * wl-shell * xdg-shell-v5 * xdg-shell-v6
We hang out at #qt-labs and #qt-lighthouse on freenode if you have any questions
but it is not very clear, how to do. Especially with the external dependencies, there no much information on Windows 10 platform, Can anyone help me to build QtWayland?
@DarioYang As far as I know Wayland is only for UNIX like systems like Linux or Free BSD. Why do you want to build it for Windows? Or do you cross compile for other device?
-
@DarioYang As far as I know Wayland is only for UNIX like systems like Linux or Free BSD. Why do you want to build it for Windows? Or do you cross compile for other device?
-
@jsulm Do you have any other advices about multi-processes application developing?
I just need this feature.@DarioYang said in Building QtWayland Error in Windows 10 by Qt 5.10.0:
multi-processes application developing
You don't need Wayland for that, just don't build it.
I'm not sure though what exactly you mean by "multi-processes application developing"? Do you maybe mean multi-threading? Or software which uses several processes? Or something else? -
@DarioYang said in Building QtWayland Error in Windows 10 by Qt 5.10.0:
multi-processes application developing
You don't need Wayland for that, just don't build it.
I'm not sure though what exactly you mean by "multi-processes application developing"? Do you maybe mean multi-threading? Or software which uses several processes? Or something else?@jsulm Multi-Processes, as you know, Chrome Browser, if there is a web table is crashed, other web page table can still run normally. I just want this. Because in my main application, it includes many windows, I want every application which has its own windows runs in its own process.
-
@DarioYang said in Building QtWayland Error in Windows 10 by Qt 5.10.0:
multi-processes application developing
You don't need Wayland for that, just don't build it.
I'm not sure though what exactly you mean by "multi-processes application developing"? Do you maybe mean multi-threading? Or software which uses several processes? Or something else? -
@jsulm Multi-Processes, as you know, Chrome Browser, if there is a web table is crashed, other web page table can still run normally. I just want this. Because in my main application, it includes many windows, I want every application which has its own windows runs in its own process.
@DarioYang For that you don't need Wayland.
You can use QProcess to start processes and to communicate with them. -
@jsulm Did you see this article: https://doc.qt.io/archives/QtApplicationManager/singlevsmultiprocess.html
This is what I want.@DarioYang said in Building QtWayland Error in Windows 10 by Qt 5.10.0:
https://doc.qt.io/archives/QtApplicationManager/singlevsmultiprocess.html
Bear in mind this is Qt Automotive which is commercial as far as I know.
-
@DarioYang said in Building QtWayland Error in Windows 10 by Qt 5.10.0:
https://doc.qt.io/archives/QtApplicationManager/singlevsmultiprocess.html
Bear in mind this is Qt Automotive which is commercial as far as I know.