On Tue, 3 Aug 2021 13:04:11 +0000 David Deyo <dd...@tireprofiles.com> said:
> > > From: David Deyo<mailto:dd...@tireprofiles.com> > Sent: Monday, August 2, 2021 3:53 PM > To: Pekka Paalanen<mailto:ppaala...@gmail.com> > Subject: RE: xrandr and xwayland > > On Fri, 30 Jul 2021 23:30:38 +0100 > Carsten Haitzler <ras...@rasterman.com> wrote: > > > On Fri, 30 Jul 2021 16:28:02 +0000 David Deyo <dd...@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 - ras...@rasterman.com