| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This allows compositors to hint a non-integer scale to use on a window
which we can hook to Qt's existing fractional scaling support.
The viewport is used to communicate the relationship between buffer size
and logical size to the compositor. It is a non-integer alternative to
wl_buffer_scale
Change-Id: I1a850f1bcd40e8d04e241e18a538b11f18bc671c
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: David Edmundson <davidedmundson@kde.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, QtWayland doesn't know about work area size, which can create
a problem where some windows don't fit into the screen area or work
area.
With the xdg_toplevel.configure_bounds event, the compositor can
indicate the client the recommended maximum window geometry size.
https://gitlab.freedesktop.org/wayland/wayland-protocols/-/merge_requests/41
Change-Id: I5214aba9f144d091a2afe639de94b8d717c42fdc
Reviewed-by: David Edmundson <davidedmundson@kde.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With wl_pointer version 8, the axis_discrete event is replaced with the
axis_value120 event.
The main difference between axis_discrete and axis_value120 is that the
latter carries scroll deltas that can be fractions of 120, e.g. 30, etc.
See also https://gitlab.freedesktop.org/wayland/wayland/-/merge_requests/72
Change-Id: I4f724ead7ba146dde6d8975fa4edfcfca761769d
Reviewed-by: David Edmundson <davidedmundson@kde.org>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes
File ./qtwayland/src/3rdparty/protocol/qt_attribution.json: Unknown key File.
File ./qtwayland/src/3rdparty/protocol/qt_attribution.json: Unknown key License file.
Could not parse file ./qtwayland/src/3rdparty/protocol/qt_attribution.json: object is missing after a comma
Pick-to: 6.4.0 6.4
Change-Id: I145f9bcc40f175f5d909f7f947c2a20333b70c0c
Reviewed-by: Jani Heikkinen <jani.heikkinen@qt.io>
|
|
|
|
|
| |
Change-Id: I6b2034c1833ae497ef05af7c377e4bfd3747b6fe
Reviewed-by: David Edmundson <davidedmundson@kde.org>
|
|
|
|
|
|
|
|
|
|
|
| |
Also fix a typo in the license name.
Amends db3df0b3b439a
Pick-to: 6.3.0 6.3
Fixes: QTBUG-102148
Change-Id: Ic231a4b744864c19190d428a9a2fc5101ffa77f0
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
|
|
|
| |
This was not added together with the protocol. This change also
disambiguates v1 and v2 as two separate entries, since the
licenses are different.
Change-Id: I2309aced67ae69bc2d8117688e5d7b1074e8bf8f
Reviewed-by: Dominik Holland <dominik.holland@qt.io>
|
|
|
|
|
|
|
|
|
|
|
| |
The XDG activation protocol was added with no attribution and
the Wayland protocol version was updated without updating the
version in the XML.
Pick-to: 6.3
Fixes: QTBUG-100901
Change-Id: Ifaaf69b7d498ea7106d4bfd6ada978475447d296
Reviewed-by: Aleix Pol Gonzalez <aleixpol@kde.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This is used by weston for forwarding virtualkeyboard related
event from keyboard applications to a Qt client.
Right now Qt only supports text-input-unstable-v2, v4 and the
special qt-input-method protocol, while weston only supports
text-input-unstable-v1.
Without this, a virtual-keyboard application can't be used
with a Qt client within weston.
Change-Id: I9a34a87100854bb0b0f76762ced56419e70c297e
Reviewed-by: Inho Lee <inho.lee@qt.io>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
With the protocol, client knows accurate presentation timing
which can support vsync-based rendering for smooth video
playback with video/audio synchronization.
Also, the protocol provides metrics from client to on-screen
for optimizing frame latency.
Tested with weston-presentation-shm client which also requires
xdg shell.
Change-Id: I3b286420e7221aa1c9b81bf7ae9ae70d3cbe6eb6
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
| |
Change-Id: Ib5c8d0c6a209308c2c1a7f5e45d8866ba0127d81
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
This updates only the protocol definition, implementations
will need additional commits to opt into using them.
Change-Id: I67d6b011e6192ae99f526a16325150eb26cc9236
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
Reviewed-by: David Redondo <qt@david-redondo.de>
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This feature can be enabled by -feature-wayland-text-input-v4-wip.
It is disabled by default.
TextInputManagerV4 is available in a compositor.
zwp_text_input_v4 is available for QT_WAYLAND_TEXT_INPUT_PROTOCOL in
a client
It supports Hangul(Korean) with a qtvirtualkeyboard patchset
(refs/changes/02/357902/3)
It includes some workarounds for ibus because each ibus module has its own
policy for focus-in/focus-out.
enter/leave will synchronize with enable/disable and they will happen
whenever focus-in/focus-out happen.
Cursor/anchor positions are byte offsets.
Surrounding text will be trimmed when it is over 4000 byte.
For debugging,
uses "qt.waylandcompositor.textinput" in a compositor side
uses "qt.qpa.wayland.textinput" in a client side
Tested on qtvirtualkeyboard and ibus
TODO :
* QTBUG-97248 - event:preedit_commit_mode is not implemented yet. Current
preedit_commit_mode is 'commit'.
* request:set_text_change_cause is not implemented.
Task-number: QTBUG-94327
Change-Id: I72644893f40f30c4b03cd6a7d05483d12bde1070
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
| |
Task-number: QTBUG-92098
Change-Id: I3a46fcbe463f19521e6a3b0fc2d6c30e3ac93112
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Both of these are deprecated given this is now formalised as the final
xdg-wm-base. This final release has been out for several years and all
main compositors (kwin, sway, mutter) have dropped or are dropping
legacy support.
tst_nooutput is moved to stable XdgShell.
Change-Id: I46a011502dfec6d4a215c3b22d03e8ceebed46c3
Reviewed-by: Eskil Abrahamsen Blomfeldt <eskil.abrahamsen-blomfeldt@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
In their current state theses files contains invalid json. While they
are parsed successfully by qtattributionsscanner, they cannot be loaded
by libraries such as Python's json module.
This patch fixes this.
The output generated by qtattributionsscanner stays the same.
Pick-to: 5.15
Change-Id: I661d9b6f8a956a33b301fe58add5910d6de293f1
Reviewed-by: David Edmundson <davidedmundson@kde.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
XdgShellv5 and XdgShellv6 have been deprecated in
the compositor since 5.15, and wl-scaler since 5.13.
These are now removed.
Since the qwindow-compositor has not been updated
for a long time, it depends on the outdated protocols.
This change removes it, since it no longer represents
best practices. This means we will be missing a proper
C++-based compositor for now, so we will have to
create a new one later.
Change-Id: Icc6ef97c17e553f266c4145abeef26ddd631d6bf
Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org>
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
|
|
| |
Amends 222455cd643c128
Change-Id: Ifec3dc5d8698229cc0c2f375eebd5a4ebfd62d35
Reviewed-by: Johan Helsing <johanhelsing@gmail.com>
|
|
|
|
|
| |
Change-Id: I7d7a2fdbd1f44469b90c467c9490448c13025fa5
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
freedesktop.org is moving over to GitLab, so let's update the urls.
Some entries were also missing a DownloadLocation, or didn't link to a single
version (which they're supposed to according to the documentation). So fixed
those as well.
Also, a couple of spelling fixes.
Change-Id: I37f5365368bc0d97420488c6d62b25adc26590f5
Reviewed-by: David Edmundson <davidedmundson@kde.org>
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
|
|
|
|
|
|
|
| |
Just updates the text of the protocol, no new functionality.
Change-Id: I08a09b2a3d37f61fc28967fbb1306f35a2921f0a
Reviewed-by: David Edmundson <davidedmundson@kde.org>
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
|
|
|
|
|
|
|
|
|
|
| |
This is just the protocol, it doesn't implement any new interfaces or behavior.
Also update the project url, xdg-shell is now part of wayland-protocols, not
Weston.
Change-Id: I719cc99fc2c59af9abfc0c9abcb9c1daf9b43c74
Reviewed-by: David Edmundson <davidedmundson@kde.org>
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
|
|
|
|
|
|
|
|
| |
These are just textual changes in the protocol, so shouldn't change anything
except the comments in the generated code.
Change-Id: I0c93f593a171b0af3c9a812c6a45c3b1416b42f6
Reviewed-by: David Edmundson <davidedmundson@kde.org>
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[ChangeLog][QPA plugin] Added support for drawing tablets through the
tablet-unstable-v2 protocol.
Adds support for the basic one tablet, one tool, no pads scenario.
Besides the auto tests, I tested with a Huion Kamvas Pro 16 with a simple
pressure sensitive pen with two buttons. As far as I can tell, it works the
same way as on xcb on Sway and Gnome Shell.
Also tested on a Wacom PTZ-630 with a mouse, art pen, airbrush and a stylus.
Mapped the distance event to QTabletEvent::Z and slider to
QTabletEvent::tangentialPressure.
For now we send QTabletEvents even when there's a mouse or finger on the
tablet. Those should ideally be sent as QMouseEvents/QTouchEvents, but that's
out of scope for this patch, but at least we will send synthesized mouse events
if the tablet events are not accepted.
Change-Id: I93291ffa5f00fa2bb8533eddd8d873b84a3386b8
Reviewed-by: Shawn Rutledge <shawn.rutledge@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We already have a client-side implementation in the QPA plugin,
and now we add the server-side implementation.
In order to have a nice declarative API, we let users create a
XdgOutputV1 instance and then associate it with the zxdg_output_v1
object when it is requested by the client.
If the user forgets to create XdgOutputV1 beforehand we post an error to
the client.
To anticipate protocol version 3, we send zxdg_output_v1.done when we
send wl_output.done.
The multi-output example is extended using this protocol.
[ChangeLog][Compositor] Added support for xdg-output unstable v1
Wayland extension.
Change-Id: I1ec5913d8330cc01d7d634d05a289f4dc8b4fd22
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
|
|
|
|
|
|
|
|
|
| |
Allows disabling of screen blanking on a per-surface basis.
[ChangeLog][Compositor] Added support for idle-inhibit
unstable v1 Wayland extension.
Change-Id: I3cd392f9e1bb3604691f2a496579aad3b87383b6
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
|
|
|
|
|
|
|
|
| |
[ChangeLog][QPA plugin] Added support for middle mouse pasting through the
primary-selection-unstable-v1 protocol.
Fixes: QTBUG-66008
Change-Id: I7c8fb9aa2c856f5b6794aeab1ee75d80cad05dcd
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
|
|
|
| |
Use the QVkConvenience library instead.
Fixes: QTBUG-75108
Change-Id: I9687aec3e7b697b04e9cfa5638055132c617ad9a
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|\
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
src/client/qwaylanddisplay_p.h
src/client/qwaylandwindow.cpp
Change-Id: I50eb5c83a8b81e4bdb032b68d41f429b17d0a74d
|
| |\
| | |
| | |
| | |
| | |
| | |
| | | |
Conflicts:
src/client/qwaylanddisplay_p.h
Change-Id: Ie84862aa41623c11abd8f882f428054f30062c77
|
| | |
| | |
| | |
| | |
| | | |
Change-Id: I1d4bceeb87b7e95b7b4b9c9885e06052bd7536e9
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|/ /
| |
| |
| |
| |
| |
| |
| | |
Adding new virtual function createServerBufferFromData() to the
ServerBufferIntegration class.
Change-Id: I6009fd5aec07f1794431bd52ccd56cfae9d0f77b
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
[ChangeLog][Compositor] Add deprecated support for the deprecated wl_scaler.
Some clients are stuck on the unofficial Weston protocol wl_scaler instead of
the standardized and stable wp_viewporter. This implements optional support for
wl_scaler.
This patch has been written to be easily removable in Qt 6, and touches a
minimal amount of other code.
The implementation can be tested using the new manual test compositor:
tests/manual/wlscaler.
Weston 1.11.1 has a demo client named weston-resizor, which can be used to
test. Note that although newer versions of Weston also have weston-resizor,
those versions use wp_viewporter instead of wl_scaler, so you really need
1.11.1 or earlier to test.
Fixes: QTBUG-69635
Change-Id: Id572e28044cd764eaf63b1259a92bc589711c39d
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|\ \
| |/
| |
| |
| |
| |
| |
| |
| | |
Conflicts:
.qmake.conf
src/3rdparty/protocol/qt_attribution.json
src/client/qwaylandintegration.cpp
Change-Id: I475889f2817c7094b68a2948fdd34ddf8b0c486f
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This adds a new client buffer integration: wayland-eglstream-controller,
which contains the EGLStream logic from wayland-egl, and additionally
uses NVIDIA's wayland-eglstream-controller protocol to avoid the issue
where the stream is not ready at the time of first buffer attach.
This is not enabled by default. Can be used like this:
QT_WAYLAND_CLIENT_BUFFER_INTEGRATION=wayland-eglstream-controller ./pure-qml
Fixes: QTBUG-71697
Change-Id: I73bb2a8fe9852afe1b5807cbb8c35dc4c7624dad
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Now that we've stopped including the system libwayland protocol headers, i.e.
wayland-client.h and wayland-server.h, it should be safe to update the protocol
definitions to the latest version.
Note that this just updates the protocol definition, the implementations for
the various interfaces are still using the old versions.
Change-Id: I961e762553756e11e4c5b33c74101f0c16661232
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
| |
| |
| |
| |
| |
| |
| | |
[ChangeLog][Compositor] Added support for the viewporter Wayland extension.
Change-Id: I1d33652fab6ff18da4ae1ae3497f0ca43517420a
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
[ChangeLog][Compositor] Added support for linux-dmabuf-unstable-v1.
Implement client side DMABUF buffer sharing support by supporting the
linux-dmabuf-unstable-v1 (version 3) protocol. For enabling DMABUF,
set the following environment variables for the compositor:
QT_QPA_PLATFORM=eglfs
QT_WAYLAND_CLIENT_BUFFER_INTEGRATION=linux-dmabuf-unstable-v1
The current implementation supports the following DRM buffer formats:
- RGB and RGBA
- YUYV
This implementation requires Mesa with the following patch applied.
Otherwise, textures are not updated. The patch is contained in Mesa 18.1.5.
See https://patchwork.freedesktop.org/patch/238080/
Fixes: QTBUG-66288
Fixes: QTBUG-67845
Change-Id: Id4d90337dbe0be956b0f964426ebed3f281c6c30
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[ChangeLog][QPA plugin] Added support for fullscreen-shell unstable v1.
The fullscreen_shell_unstable_v1 interface displays a single surface
per output and it is used for nested compositors, where each output
is rendered in a surface that is then displayed by the main
compositor.
For example weston could be the main compositor and a QML compositor
could be launched as a client using this shell integration to
display it inside weston.
Change-Id: I037679a283ff03cb4bdf4b3fed59945090ec9250
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The old xdg-shell-unstable-v5.xml was malformed, and was missing some
<description> tags.
The updated version passes wayland-scanner run with --strict. Hopefully we can
start to use it soon.
Otherwise, it's just documentation fixes.
Change-Id: Id28ad7196643156cd22407e12ed7ff1e7fb34ce6
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
|
|
|
|
|
|
|
|
|
|
|
| |
Since we're using the deprecated ways of including wayland (wayland-server.h
instead of wayland-server-core.h), we can't upgrade wayland.xml to a version
that's newer than the system libwayland. Our minimum supported version is 1.6.
This reverts commit 4d2106d4b6ed1a088834a8fec9c6a47e5a67d4e8.
Fixes: QTBUG-70528
Change-Id: I102cb215a40a1aaaeba6f463200eefc3be653c52
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Check in qtwaylandscanner and wayland-scanner generated files with renamed
symbols to avoid conflicts with xdg-shell stable.
When this was done on the compositor side, we thought we didn't have to do it
for the client side because the conflicting symbols are used in separate
plugins. Turns out this breaks static builds, though.
Task-number: QTBUG-69896
Change-Id: I461df8e136b741063eafe13e858734a3aafdf020
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
|
|
|
| |
And add an example with server-side window decorations.
Task-number: QTBUG-69934
Change-Id: Ic3984b50cf7574cae5135dea51eb4b1c80bb45a7
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
| |
Change-Id: I85b58ca9d14a1d37959475b05e0be8c9c8721186
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[ChangeLog][QPA plugin] Added client-side support for the
xdg-decoration-unstable-v1 Wayland extension. Qt clients will now let the
compositor draw the window decorations if configured through this extension.
Note: The env var QT_WAYLAND_DISABLE_WINDOWDECORATION is still supported, but
works on a higher level, and for all shell integrations, while xdg-decoration
only works with xdg-shell stable.
Task-number: QTBUG-69746
Change-Id: I9dd0331bbd8d624c6be54ed23ee3b96446d5820d
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
|
|
|
|
|
|
|
|
|
| |
Checking in wayland-scanner and qtwaylandscanner generated files with renamed
symbols to avoid conflicts with xdg-shell stable.
Task-number: QTBUG-66784
Change-Id: I1b1a055d3be12bfa7d16e7bb7209e96497cbf28c
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
XdgOutput is an extension of wl_output with the benefit of having the
logical size of a screen as an explicit parameter, instead of clients
inferring it from modeSize / scale. This is useful as it allows
compositors to implement fractional scaling whilst clients can still
fill the screen.
In the future XdgOutputV2 will support a more useful name and ID that
we can use.
[ChangeLog][QPA plugin] Added support for xdg-output-unstable-v1
Change-Id: I2e1e64ad6cb497a1cbb7b7b170f28ac92231c2c4
Reviewed-by: Pier Luigi Fiorini <pierluigi.fiorini@liri.io>
Reviewed-by: Johan Helsing <johan.helsing@qt.io>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
[ChangeLog][QPA plugin] Added support for xdg-shell stable.
Mostly a copy of xdg_shell unstable v6 with prefixes and suffixes
removed. Otherwise, this is what changed:
- The global is now named "xdg_wm_base", since "xdg_shell" was taken by
xdg-shell <= v5.
- Anchors and gravities are not bitfields anymore.
Task-number: QTBUG-66783
Change-Id: I8ca881aae52cc07b22ff5e26df13a9a1566f58f4
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|
|
|
|
|
|
|
|
| |
Also change the protocol name in the xml file from xdg_shell to
xdg_shell_unstable_v5 (similar pattern as v6) because qtwaylandscanner doesn't
support the file name being different from the protocol name.
Change-Id: I1d9edf7c8ca512e716284250a2b2bc13e205c33c
Reviewed-by: Paul Olav Tvete <paul.tvete@qt.io>
|
|\
| |
| |
| | |
Change-Id: I436178527be54fd0efa6ffbe39918740d4737478
|