[Xorg-driver-geode] Update -- The RandR-"unable to setrotation"issue in AMD Geode LX platform
Hunk.Cui at amd.com
Sun Jun 20 18:56:09 PDT 2010
I know your Error key point, because it couldn't allocate the shadow memory for rotation after crtc_shadow_allocate.
In our xf86-video-geode driver, all of memories are allocated by GeodeAllocOffscreen, the exa offscreen memory is part of the memorySize. And the rotation data is not in memorySize, it is allocated after memorySize.
You can check your Xorg.0.log file about "Gedoe LX video memory" and "LX video memory", because the shadow buffer (rotate memory) will be allocated from "FREE memory", if only 0x0 bytes are available, it can not do the rotate operation.
From: xorg-driver-geode-bounces+hunk.cui=amd.com at lists.x.org [mailto:xorg-driver-geode-bounces+hunk.cui=amd.com at lists.x.org] On Behalf Of Mitch Davis
Sent: Monday, June 21, 2010 7:59 AM
To: Cui, Hunk
Cc: xorg-driver-geode at lists.x.org; Huang, FrankR; Xie, Michael
Subject: Re: [Xorg-driver-geode] Update -- The RandR-"unable to setrotation"issue in AMD Geode LX platform
On Fri, Jun 18, 2010 at 5:40 PM, Cui, Hunk <Hunk.Cui at amd.com> wrote:
> In yesterday's update note, there is one place with connection to X server lost. I changed it and resend a new one to review.
> To repeatedly cycle test, I have written a shell-script to test the rotate. Now it can properly rotate in Xserver 1.8 (Need add my gamma correction patch).
> Because I have some confuse on memorysize, so I need some time to research and consider whether this approach is correct. I can not explain too specific. But it can solve your urgent rotate issue in temporary.
> Any other latest update, I will inform.
Thanks for the patch. I have tried it out with Xorg server 1.7.5, but
it doesn't work.
$ xrandr -q | grep connected
default connected 1024x768+0+0 (normal left inverted right x axis y
axis) 0mm x 0mm
So I will use "default".
$ xrandr --output default --rotate left
xrandr: Configure crtc 0 failed
The screen goes black for a moment, then comes back just as before,
i.e., not inverted. This happens for "left", "right", and "inverted".
There is no flash for "normal", and it returns immediately.
This is the same with the add/subtract lx_crtc->rotate_mem->size, and
with the add/subtract 1.
This message appears in the X log:
(EE) GEODE(0): Couldn't allocate the shadow memory for rotation
(EE) GEODE(0): You need 0x300000 bytes, but only 0x0 bytes are available
Is this because I am using Xorg server 1.7.5? Do you think it would
work with 1.8? Is there something I'm doing wrong?
I will try 1.8 now.
Thank you for your help!
Xorg-driver-geode mailing list
Xorg-driver-geode at lists.x.org
More information about the Xorg-driver-geode