Hi, all 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 the urgent rotate issue in temporary. Any other latest update, I will inform.
Please see below change: --- /driver/xf86-video-geode-2.11.8.ogig/src/lx_display.c 2010-06-10 19:11:02.000000000 +0800 +++ /driver/xf86-video-geode-2.11.8/src/lx_display.c 2010-06-18 14:58:39.000000000 +0800 @@ -338,10 +338,14 @@ int i; assert(size == 256); - + /* We need the Gamma Correction for video - fading operation, + * the values address should plus for every cycle + */ for (i = 0; i < 256; i++) { - unsigned int val = (*red << 8) | *green | (*blue >> 8); - + (*red) &= 0xff00; + (*green) &= 0xff00; + (*blue) &= 0xff00; + unsigned int val = (*(red++) << 8) | *(green++) | (*(blue++) >> 8); df_set_video_palette_entry(i, val); } @@ -378,6 +382,7 @@ return NULL; } + pGeode->pExa->memorySize += 1; //Hunk add memset(pGeode->FBBase + lx_crtc->rotate_mem->offset, 0, size); return pGeode->FBBase + lx_crtc->rotate_mem->offset; } @@ -417,6 +422,7 @@ if (data) { gp_wait_until_idle(); GeodeFreeOffscreen(pGeode, lx_crtc->rotate_mem); + pGeode->pExa->memorySize -= 1; //Hunk add lx_crtc->rotate_mem = NULL; } } Welcome everyone test the code. I suggest you use: Rotate left: xrandr --output OUTPUT --rotate left Rotate right: xrandr --output OUTPUT --rotate right Rotate inverted: xrandr --output OUTPUT --rotate inverted Rotate normal: xrandr --output OUTPUT --rotate normal where OUTPUT would be replaced by one of the outputs shown when you run `xrandr' without any options. You can use "xrandr -q" to know your OUTPUT name. BTW: The Xrandr Guide: http://www.thinkwiki.org/wiki/Xorg_RandR_1.2#Note_for_Ubuntu_Gutsy_users The `-o' options is a RandR 1.0/1.1 command and may exercise a different driver code path from the RandR 1.2 `--rotate' option. RandR 1.2 introduced per-output rotation which wasn't available in earlier versions. Consequently, `xrandr -o' is equivalent to rotating the entire desktop (composed of all the outputs) rather than just a specific output. Depending on the Geode driver's support for multiple outputs and which outputs are connected, using `xrandr -o' could confuse the driver. Thanks, Hunk Cui -- Unable to set rotation on AMD Geode LX800 https://bugs.launchpad.net/bugs/377929 You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs