Hi,

On Mon, 9 Jul 2018 at 18:50, Simon Ser <cont...@emersion.fr> wrote:
>
> On July 9, 2018 3:42 PM, Olivier Fourdan <four...@gmail.com> wrote:
> > So, can you please elaborate exactly what this is supposed to fix and
> > how to reproduce the issue?
>
> I've configured my compositor with a 90 degree output rotation. Here are the
> values sent by my compositor, as received by xwayland:
>
> output_handle_mode 1600 850
> xdg_output_handle_logical_size 850 1600
>
> As far as I can tell this is correct.
>
> Without this patch, if I open for instance Firefox, pointer events are 
> correctly
> handled if the pointer is in the top half of the screen, but when the pointer
> moves in the bottom part the Y axis coordinate gets stuck. Here's xrandr's
> output:
>
> Screen 0: minimum 320 x 200, current 850 x 1600, maximum 8192 x 8192
> XWAYLAND0 connected 1600x848+0+0 left (normal left inverted right x axis y 
> axis) 0mm x 0mm
>    848x1600      59.95*+
>
> This patch fixes this bug. Here's xrandr's output:
>
> Screen 0: minimum 320 x 200, current 850 x 1600, maximum 8192 x 8192
> XWAYLAND0 connected 850x1600+0+0 left (normal left inverted right x axis y 
> axis) 0mm x 0mm
>    1600x850      59.92*+
>
> Notice the difference between the logical geometry (850x1600+0+0) and the
> current mode (1600x850).
>
> I just noticed this patch breaks HiDPI outputs (xrandr advertises a
> 850x1600+0+0 logical geometry). We might want to use the logical size for
> RRMode, but compensate transformations. What do you think?

Yeap, that's what I meant, xdg-output would advertise the logical size
(i.e. appropriately scaled), so we want to pass RR the values provided
by xdg-output here, not those from wl_output.

Basically, we do not need to keep or reuse the mode_width/height as
with your initial patch, we just need to compensate the rotation as
you said (as for the rationale behind this bug, mutter doesn't use
rotations, so I didn't notice it).

[unrelated, as an aside, it looks like in your example, the compositor
might not be sending the geometry, so we end up with 0 in the physical
size]

Cheers,
Olivier
_______________________________________________
xorg-devel@lists.x.org: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: https://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to