RandR currently calls the DriverFunc for rotation only in case the rotation is
to be changed.
However, since most drivers that (will) support accelerated rotation will need
to keep a shadow framebuffer in video RAM (to which it will rotate the screen),
it would be useful for the driver to be informed about every screen size change.
Not only when the rotation changes.
Reason being that the shadow framebuffer needs to be allocated in video RAM.
Currently, the driver will have to allocate the theoretical maximum (ie the
original screen size) in video RAM, because it is never informed if the screen
size changes (but rotation does not).
Example: Virtual screen 1280x1024. Current size 1024x768 due to a previous call
If the rotation is now changed, the driver will have to allocate 1280x1024
despite the screen size being 1024x768, because if the user later changes the
screen size back to 1280x1024 but leaves the rotation unchanged, the driver will
not be informed. If it had allocated just 1024x768, the buffer will be too small
Sorry about the phenomenal bug spam, guys. Adding xorg-team@ to the QA contact so bugs don't get lost in future.
Do you still experience this issue with newer soft ?
Please check the status of your issue.
The 1.1 interface is a dead end, better to port it to 1.2 internally than to fix this directly.