FW: xrandr and xwayland
Carsten Haitzler
raster at rasterman.com
Tue Aug 3 13:13:10 UTC 2021
On Tue, 3 Aug 2021 13:04:11 +0000 David Deyo <ddeyo at tireprofiles.com> said:
>
>
> From: David Deyo<mailto:ddeyo at tireprofiles.com>
> Sent: Monday, August 2, 2021 3:53 PM
> To: Pekka Paalanen<mailto:ppaalanen at gmail.com>
> Subject: RE: xrandr and xwayland
>
> On Fri, 30 Jul 2021 23:30:38 +0100
> Carsten Haitzler <raster at rasterman.com> wrote:
>
> > On Fri, 30 Jul 2021 16:28:02 +0000 David Deyo <ddeyo at tireprofiles.com> said:
> >
> > No - this is up to the compositor itself to do in its own internal ways. Far
> > too many abuses have happened over the years with xrandr available to any
> > client anywhere. While in theory a wayland compositor could create an
> > extension that works like xrandr, it'd be problematic to make it
> > general-access like xrandr.
>
> >>>Indeed.
>
> > >
> > > Hello everyone,
> > >
> > > I need to rotate my screen 90 degrees and back to normal in xwayland on
> > > an iMX8 running gatesgarth distro.
>
> >>>Maybe you could explain your top-level use case for this, and the
> >>>general system architecture (which relevant programs are running and
> >>>what their responsibilities are)?
>
> Distro:
> I am working on a product that our company is creating. It uses an imx8 som
> from Boundary. The system is not a normal desktop. The DISTRO is created by
> yocto using the gatesgarth branch. Just recently we were notified that
> Xwayland was working, so I don’t expect we will be removing it just yet.
>
>
> Use case:
> We will have a kiosk-looking desktop. Some of our pages will have the option
> for the end user to enter text from an on-screen keyboard. Since our display
> will be so small (68.04mm (2.68") x 120.96mm (4.76")), we will have to turn
> our unit sideways to make the keyboard fit. We have already done this on a
> smaller screen (1.0). On our 1.0 product, we used Segger as our graphics
> library. Compared to Android, and the like, it seems like rotating the
> screen would be a standard capability.
>
> I believe our compositor (Weston) can do it, transform=90, but to use this
> method, it has to be restarted; causing our gui app to crash and lose all
> entered data. The client probably needs to drive the orientation.
> Considering our gui will likely be in python3/tkinter, I will need some way
> create a page and rotate the display.
>
> I am somewhat limited by the packages available to me in my distro.
The right way here is to modify Weston to do on-the-fly rotation without a
restart. You also will want a custom protocol from client to compositor to
indicate when a client surface wants rotation. This way the compositor can
correctly rotate the client content and any other on-screen content at the time
(e.g. keyboard) when that client surface is the active visible one (as a kiosk
style only one will be active/visible at a time - except for things like
keyboard etc.). When you switch which surface is the active one then the
compositor can re-evaluate how to draw on the screen based on what that client
has requested rotation-wise.
--
------------- Codito, ergo sum - "I code, therefore I am" --------------
Carsten Haitzler - raster at rasterman.com
More information about the wayland-devel
mailing list