<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
        {mso-style-priority:34;
        margin-top:0in;
        margin-right:0in;
        margin-bottom:0in;
        margin-left:.5in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
.MsoChpDefault
        {mso-style-type:export-only;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
/* List Definitions */
@list l0
        {mso-list-id:442505592;
        mso-list-type:hybrid;
        mso-list-template-ids:-1507807248 -1 67698713 67698715 67698703 67698713 67698715 67698703 67698713 67698715;}
@list l0:level1
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level2
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level3
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l0:level4
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level5
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level6
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
@list l0:level7
        {mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level8
        {mso-level-number-format:alpha-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:left;
        text-indent:-.25in;}
@list l0:level9
        {mso-level-number-format:roman-lower;
        mso-level-tab-stop:none;
        mso-level-number-position:right;
        text-indent:-9.0pt;}
ol
        {margin-bottom:0in;}
ul
        {margin-bottom:0in;}
--></style>
</head>
<body lang="EN-US" link="blue" vlink="#954F72" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal"><b>From: </b><a href="mailto:raster@rasterman.com">Carsten Haitzler</a><br>
<b>Sent: </b>Tuesday, August 3, 2021 8:13 AM<br>
<b>To: </b><a href="mailto:ddeyo@tireprofiles.com">David Deyo</a><br>
<b>Cc: </b><a href="mailto:wayland-devel@lists.freedesktop.org">wayland-devel@lists.freedesktop.org</a><br>
<b>Subject: </b>Re: FW: xrandr and xwayland</p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-bottom:12.0pt;text-align:justify;text-justify:inter-ideograph">
CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe.<br>
<br>
<br>
On Tue, 3 Aug 2021 13:04:11 +0000 David Deyo <ddeyo@tireprofiles.com> said:<br>
<br>
><br>
><br>
> From: David Deyo<<a href="mailto:ddeyo@tireprofiles.com">mailto:ddeyo@tireprofiles.com</a>><br>
> Sent: Monday, August 2, 2021 3:53 PM<br>
> To: Pekka Paalanen<<a href="mailto:ppaalanen@gmail.com">mailto:ppaalanen@gmail.com</a>><br>
> Subject: RE: xrandr and xwayland<br>
><br>
> On Fri, 30 Jul 2021 23:30:38 +0100<br>
> Carsten Haitzler <raster@rasterman.com> wrote:<br>
><br>
> > On Fri, 30 Jul 2021 16:28:02 +0000 David Deyo <ddeyo@tireprofiles.com> said:<br>
> ><br>
> > No - this is up to the compositor itself to do in its own internal ways. Far<br>
> > too many abuses have happened over the years with xrandr available to any<br>
> > client anywhere. While in theory a wayland compositor could create an<br>
> > extension that works like xrandr, it'd be problematic to make it<br>
> > general-access like xrandr.<br>
><br>
> >>>Indeed.<br>
><br>
> > ><br>
> > > Hello  everyone,<br>
> > ><br>
> > > I need to rotate  my screen 90 degrees and back to normal in xwayland on<br>
> > > an iMX8 running gatesgarth distro.<br>
><br>
> >>>Maybe you could explain your top-level use case for this, and the<br>
> >>>general system architecture (which relevant programs are running and<br>
> >>>what their responsibilities are)?<br>
><br>
> Distro:<br>
> I am working on a product that our company is creating.  It uses an imx8 som<br>
> from Boundary.  The system is not a normal desktop. The DISTRO is created by<br>
> yocto using the gatesgarth branch.  Just recently we were notified that<br>
> Xwayland was working, so I don’t expect we will be removing it just yet.<br>
><br>
><br>
> Use case:<br>
> We will have a kiosk-looking desktop.  Some of our pages will have the option<br>
> for the end user to enter text from an on-screen keyboard. Since our display<br>
> will be so small (68.04mm (2.68") x 120.96mm (4.76")), we will have to turn<br>
> our unit sideways to make the keyboard fit.  We have already done this on a<br>
> smaller screen (1.0). On our 1.0 product, we used Segger as our graphics<br>
> library.  Compared to Android, and the like, it seems like rotating the<br>
> screen would be a standard capability.<br>
><br>
> I believe our compositor (Weston) can do it, transform=90, but to use this<br>
> method, it has to be restarted; causing our gui app to crash and lose all<br>
> entered data. The client probably needs to drive the orientation.<br>
> Considering our gui will likely be in python3/tkinter, I will need some way<br>
> create a page and rotate the display.<br>
><br>
> I am somewhat limited by the packages available to me in my distro.<br>
<br>
> > > >The right way here is to modify Weston to do on-the-fly rotation without a<br>
> > > >restart. You also will want a custom protocol from client to compositor to<br>
> > > >indicate when a client surface wants rotation. This way the compositor can<br>
> > > >correctly rotate the client content and any other on-screen content at the time<br>
> > > > (e.g. keyboard) when that client surface is the active visible one (as a kiosk<br>
> > > >style only one will be active/visible at a time - except for things like<br>
> > > >keyboard etc.). When you switch which surface is the active one then the<br>
> > > >compositor can re-evaluate how to draw on the screen based on what that client<br>
> > > >has requested rotation-wise.<o:p></o:p></p>
<p class="MsoNormal" style="margin-bottom:12.0pt;text-align:justify;text-justify:inter-ideograph">
Thank you,<o:p></o:p></p>
<p class="MsoNormal" style="margin-bottom:12.0pt;text-align:justify;text-justify:inter-ideograph">
A custom protocol makes sense.  <o:p></o:p></p>
<ol style="margin-top:0in" start="1" type="1">
<li class="MsoListParagraph" style="margin-bottom:12.0pt;margin-left:0in;mso-list:l0 level1 lfo1">
 What’s the best way to communicate with Weston, socket, message, function  call?<o:p></o:p></li><li class="MsoListParagraph" style="margin-bottom:12.0pt;margin-left:0in;mso-list:l0 level1 lfo1">
How would Weston actually rotate the display, in particular on the fly?<o:p></o:p></li></ol>
<p class="MsoNormal" style="margin-bottom:12.0pt">In the Weston documentation, it states that a super-kbd key and middle mouse button should rotate the display (if supported).<o:p></o:p></p>
<p class="MsoNormal" style="margin-bottom:12.0pt">I’d like to find where that is, as well.<o:p></o:p></p>
<p class="MsoNormal" style="margin-bottom:12.0pt"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-bottom:12.0pt">-dwd<br>
--<br>
------------- Codito, ergo sum - "I code, therefore I am" --------------<br>
Carsten Haitzler - raster@rasterman.com<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>