Closed aakoskin closed 1 year ago
Rotation works when glamor is enabled (raspi-config, Advanced Options > Enable/disable glamor graphics acceleration).
@popcornmix Is this an issue or is the non-glamour use case no longer supported?
I believe using gl is the only way rotation is handled in drm/kms world. So, I would expect rotation to not work when glamor (hence gl rendering) is disabled.
The seg fault shouldn't really happen though. And it might be nice if choosing rotation + no glamor results in a "screen rotation requires glamor, do you want to enable" type dialogue.
I believe using gl is the only way rotation is handled in drm/kms world. So, I would expect rotation to not work when glamor (hence gl rendering) is disabled.
The seg fault shouldn't really happen though. And it might be nice if choosing rotation + no glamor results in a "screen rotation requires glamor, do you want to enable" type dialogue.
Sorry, but can you explain why one would need glamor on devices <2GB RAM in order to rotate the display?
Just posted some results here https://forums.raspberrypi.com/viewtopic.php?p=2094323#p2094323: rotated a display on a Pi3B with no issues - without glamor enabled
Just posted some results here https://forums.raspberrypi.com/viewtopic.php?p=2094323#p2094323: rotated a display on a Pi3B with no issues - without glamor enabled
Can you share the Xorg log from the working system?
Just in case, I also tried the 32-bit install image, it was still the same. Then I made a fresh install using 64-bit "Raspberry Pi OS with desktop" image on another RPi3B, using just a HDMI monitor, and again the behavior is the same. Rotation crashes Xorg unless glamor is enabled. I also noticed that during the setup phase, if I select "Reduce the size of the desktop..." with HDMI monitor, there is a similar crash.
So perhaps there is something wrong with the install image? Some module/package/dependency missing etc.
Hmm .. that seems to be 'one time lucky punch'! Tried to replicate it but not possible. X-crashes and restarts with logon-screen.
Sorry, but no idea why it has worked yesterday but refuses to work today. Also tested with a fresh install -> not working.
Hmm .. that seems to be 'one time lucky punch'! Tried to replicate it but not possible. X-crashes and restarts with logon-screen.
Sorry, but no idea why it has worked yesterday but refuses to work today. Also tested with a fresh install -> not working.
I found out that it will work if you edit /usr/share/X11/xorg.conf.d/20-noglamor.conf and replace:
Option "AccelMethod" "msdri3"
with
Option "AccelMethod" "none"
It seems that "msdri3" is something that is newly introduced for older Pi devices (< 4), and the previous disable glamor setting was "none". Probably what happened to you was that you played around with raspi-config so that it rewrote the file with that new setting (and the previous file was from an older install, maybe check from a timestamp of the file).
The acceleration option in raspi-config should be tristate: glamor, msdri3 or none. The current one is totally confusing. Also msdri3 should NOT be enabled by default as it clearly has issues.
This is probably the change after which the rotation got broken:
xorg-server (2:1.20.11-1+rpt1+deb11u5) bullseye; urgency=medium
* glamor: Avoid using GL_QUADS on V3D
* fb: do not use pixman_blt to perform copies. This is faster on Raspberry
Pi
* modesetting: Add DRI3 support to modesetting without glamor
[ Simon Long ]
* Enable dmabuf by default
-- Rob Thomas <rob.thomas@raspberrypi.com> Thu, 09 Feb 2023 15:15:54 +0000
The issue is now fixed in today's xorg-server update. Great job, thanks!
xorg-server (2:1.20.11-1+rpt3+deb11u6) bullseye; urgency=medium
* modesetting: msdri3 should use dumb buffers for randr
- https://github.com/RPi-Distro/repo/issues/324
[ Rob Thomas ]
* modesetting: Fix DPMS behaviour on all RPi devices
* glamor: Avoid using GL_QUADS on V3D
* fb: do not use pixman_blt to perform copies. This is faster on Raspberry
Pi
* modesetting: Add DRI3 support to modesetting without glamor
[ Simon Long ]
* Enable dmabuf by default
-- Serge Schneider <serge@raspberrypi.com> Thu, 30 Mar 2023 14:46:14 +0100
A fresh up-to-date 64-bit bullseye desktop install on Raspberry Pi 3 Model B with the official 7" touchscreen.
Trying to change the screen orientation with
Preferences > Screen Configuration > Layout > Screens > DSI-1 > Orientation
always results in Xorg server crash. The same happens also when trying with xranrd.
Crash log: