Summary: | Cannot move mouse pointer over the top 1080px along the Y axis when display is rotated vertically (patched xwayland_output.c) | ||
---|---|---|---|
Product: | Wayland | Reporter: | zashkirka |
Component: | XWayland | Assignee: | Wayland bug list <wayland-bugs> |
Status: | RESOLVED FIXED | QA Contact: | Xorg Project Team <xorg-team> |
Severity: | normal | ||
Priority: | medium | CC: | jadahl |
Version: | unspecified | ||
Hardware: | x86-64 (AMD64) | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: |
xwayland-output from the sources of installed package
Му weston config weston log weston-info output |
Description
zashkirka
2017-02-03 10:33:47 UTC
Created attachment 129319 [details]
Му weston config
Created attachment 129320 [details]
weston log
Works fine here on F25 with a rotated screen (1200x1920) with GNOME on Wayland. Can you post the output from "weston-info" and "xrandr -q" on your setup? xrand -q gave me an error. Then i've tried to set rotation "normal" two times, and it started to work correct. zashk@w056:~$ xrandr -q xrandr: output XWAYLAND0 cannot use rotation "left" reflection "none" zashk@w056:~$ xrandr --output XWAYLAND0 --rotate normal xrandr: Configure crtc 0 failed X Error of failed request: BadMatch (invalid parameter attributes) Major opcode of failed request: 140 (RANDR) Minor opcode of failed request: 21 (RRSetCrtcConfig) Serial number of failed request: 25 Current serial number in output stream: 25 zashk@w056:~$ xrandr --output XWAYLAND0 --rotate normal zashk@w056:~$ xrandr -q Screen 0: minimum 320 x 200, current 1080 x 1920, maximum 8192 x 8192 XWAYLAND0 connected 1080x1920 59.96 + Created attachment 129353 [details]
weston-info output
X11 apps after setting rotation "normal" works correct too. Note that currently under mutter, Xwayland will have no idea about any rotation, as we pretend all wl_output's have no transform on them. The reason for doing so is that we don't handle buffer transformations yet, and if we pretend that outputs are never transformed, clients are less likely to pass buffers we can't handle. I see what you mean, seems mutter and weston do things differently. Patch sent here: https://patchwork.freedesktop.org/series/19156/ You may try that to see if that works for you (works here, with weston rotated screen). Patch works for me. Xrandr has valid setup on weston startup. Thank you! Unfortunately, the patch isn't right so I am still working on this. I think there are two issues, one being the rotation set on the crtc is not supported by the crtc by default, this is easy to fix and I have a patch for that, the other more annoying issue is with the input coordinates being filtered out when there is a rotation in place, which is... odd. That explains why it works with mutter (see Jonas comment 7). Ah! it's because of RRConstrainCursorHarder() apparently So I've split the patch in two: https://patchwork.freedesktop.org/patch/137446/ https://patchwork.freedesktop.org/patch/137447/ Can you try these two patch instead? They seem to work for me, the "xrandr -q" works and actually gives the right rotation/reflection in weston, and the pointer events are reported correctly as well. (In reply to Olivier Fourdan from comment #13) > So I've split the patch in two: > > https://patchwork.freedesktop.org/patch/137446/ > https://patchwork.freedesktop.org/patch/137447/ > > Can you try these two patch instead? They seem to work for me, the "xrandr > -q" works and actually gives the right rotation/reflection in weston, and > the pointer events are reported correctly as well. Actually those are better: https://patchwork.freedesktop.org/patch/137446/ https://patchwork.freedesktop.org/patch/137635/ Patches have landed (thanks ajax!), closing. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.