Details
-
Bug
-
Resolution: Unresolved
-
P2: Important
-
None
-
6.6.0
-
None
-
NixOS 23.11.20231114.bf744fe (unstable, nixpkgs git revision bf744fe90419885eefced41b3e5ae442d732712d)
Linux Kernel 6.1.62
Wayland Compositors tested:
- Hyprland 0.32.0 (specifically git revision db8f13291a4e046e82c9b11c5bfd08f223bd52b1 which is slightly after 0.32.0)
- Sway 1.8.1
Qt packages:
- Qt5: qt5.qtbase qt5.qtdeclarative qt5.qtquickcontrols2 qt5.qtwayland
- Qt6: qt6.qtbase qt6.qtdeclarative qt6.qtwayland qt6.qttools (qtdiag)NixOS 23.11.20231114.bf744fe (unstable, nixpkgs git revision bf744fe90419885eefced41b3e5ae442d732712d) Linux Kernel 6.1.62 Wayland Compositors tested: - Hyprland 0.32.0 (specifically git revision db8f13291a4e046e82c9b11c5bfd08f223bd52b1 which is slightly after 0.32.0) - Sway 1.8.1 Qt packages: - Qt5: qt5.qtbase qt5.qtdeclarative qt5.qtquickcontrols2 qt5.qtwayland - Qt6: qt6.qtbase qt6.qtdeclarative qt6.qtwayland qt6.qttools (qtdiag)
Description
Under Qt6 wayland, when resizing a QtQuick window, the window's canvas resizes extremely slowly compared to Qt5. Note that the same effect can be seen by using the XCB platform plugin in Qt5. Other platforms have not been tested.
The QtQuick renderer also appears to anchor the internal canvas at the bottom left corner of the window. It may also help to change the anchor to the top left to decrease any jitter.
A reproducible example is attached as resize.qml. I have tested it under the Hyprland and Sway wayland compositors using the wayland and xcb platform plugins with Qt5 and Qt6. Videos of all combinations' behavior is attached.
All wayland tests were run with "qml -platform wayland resize.qml". All xcb tests were run with "qml -platform xcb resize.qml".
Note that the black texture behind Qt's white one is likely caused by xwayland and can probably be ignored, but the white background inside it appears to be caused by qt.
Qt6 / Wayland / Hyprland -> Extremely slow canvas resize and visual artifacting
Qt6 / Wayland / Sway -> Extremely slow canvas resize
Qt6 / XCB / Hyprland -> Extremely slow canvas resize, no artifacting
Qt6 / XCB / Sway -> Extremely slow canvas resize
Qt5 / Wayland / Hyprland -> Renders perfectly
Qt5 / Wayland / Sway -> Renders perfectly
Qt5 / XCB / Hyprland -> Extremely slow canvas resize
Qt5 / XCB / Sway -> Extremely slow canvas resize
I have also spoken to Hyprland's developer and the visual artifacting in the Hyprland / Wayland / Qt6 combination appears to be a Hyprland bug. The window (not canvas) resizing slowly/artifacting under Sway is a Sway bug that affects all windows rendered with any toolkit.