(Pinephone on edge with all current updates): If you rotate the phone (either use auto-rotate or manually rotate) to landscape everything turns incredibly slow. This has been an issue for a while. It is very easy to notice this in dmenu, but this is also present in Firefox and all other applications I testet. If you enable the cursor, you can also see how the cursor will drag behind the touch or mouse significantly.
To try:
Open dmenu in portrait mode and slide up and down with your finger on dmenu to select the different menu items.
Open dmenu in landscape mode and slide up and down with your finger on dmenu to select the different menu items.
I successfully reproduced it with pmOS/alpine edge + nightly sxmo build
When taking a look at sxmo_rotate.sh it seems like touch inputs are transformed, which I suspect is where the sluggish part comes from - but that should only be true for touch inputs --
perhaps a goal for the release after 1.5.0?
Ye, good suggestion! I just checked it out by disabling the transformation (just comment-out the applyptrmatrix in the rotright/rotleft) and sliding the finger as if you still in portrait mode. The sluggishness persists. This is also the case if you connect a mouse.
If you disable the xrand -o right, the "landscape" touch also works just fine while the screen is still drawn in portrait mode :)
Yea, I believe it is an issue with drawing the screen in landscape mode. If you run glxgears (sudo apk add mesa-demos) your framerate drops drastically in landscape mode (from 60 fps down to 20).
Hm, rotation is done via xrandr -o left|right|etc (which seems to be the likely cause after disproving the input transformation - damned be X!)
wonder if we can use some other tool
Any transformation will actually cause a slow down. You can try "xrandr -x" for example, which just mirrors the frame on the x-axis. I already tried fiddling with some other options in xrandr; nothing yet :P
Examples:
slow: xrandr --output DSI-1 --transform 1,0,0,0,0.5,0,0,0,1
slow: xrandr -x
slow: xrandr --output DSI-1 --scale 0.5
slow: xrandr -o right
slow: Adding line <Option "Rotate" "right"> to /usr/share/X11/xorg.conf.d/90-monitor.conf
slow: Following https://wiki.postmarketos.org/wiki/Display to rotate
medium: xrandr --output DSI-1 --scale 1.5
fast: xrandr --output DSI-1 --scale {2,4}
fast: xrandr {any default value :P}
Found a post with someone else having the issue, seems like xorg.conf change could mitigate it? https://forums.developer.nvidia.com/t/very-poor-framepacing-and-performance-when-using-xorg-rotation/178451/23
Hmm, I am not so sure it is X directly causing this. If you do (via ssh of course ;)):
sudo service stop xdm
sudo startx
export DISPLAY=:0
sudo xrandr -o right
Everything works just fine.
Well, I am done debugging for today xD I hope more people look into this, after all, this will affect anyone who wishes to use the phone in landscape; this performance issue will be affecting anyone watching videos :P
good find!
x11 relies on 'crop' which isn't supported by the mali gpu, this is not a sxmo bug and not fixable on X
This is mentioned in the wiki: https://wiki.pine64.org/wiki/Mali_Driver
Hmm, I dunno. That page certainly looks like a translation mess. Also the rotation works just fine when just running startx without xdm.
I experienced that problem using the xf86-video-fbdev driver. Can someone confirm please that this is a cpu-only non-accelerated driver? X11 documentation is a mess sometimes. No disrespect to X11 devs.
Can confirm that stopping xdm per somefoo fixes the performance issue.