diff options
-rw-r--r-- | man/savage.man | 13 | ||||
-rw-r--r-- | src/savage_driver.c | 14 |
2 files changed, 20 insertions, 7 deletions
diff --git a/man/savage.man b/man/savage.man index 721c6b8..9e8dd27 100644 --- a/man/savage.man +++ b/man/savage.man @@ -95,13 +95,18 @@ possibly unstable. The default is .BI "Option \*qRotate\*q \*qCW\*q" .TP .BI "Option \*qRotate\*q \*qCCW\*q" -Rotate the desktop 90 degrees clockwise or counterclockwise. This option -forces the ShadowFB option on, and disables acceleration. +Rotate the desktop 90 degrees clockwise or counterclockwise. +This option forces the ShadowFB option on, and disables acceleration and +the RandR extension. Default: no rotation. .TP .BI "Option \*qShadowFB\*q \*q" boolean \*q -Enable or disable use of the shadow framebuffer layer. This option -disables acceleration. Default: off. +Enable or disable use of the shadow framebuffer layer. +.\" See +.\" .BR shadowfb (__drivermansuffix__) +.\" for further information. +This option disables acceleration. +Default: off. .TP .BI "Option \*qLCDClock\*q \*q" frequency \*q Override the maximum dot clock. Some LCD panels produce incorrect results if diff --git a/src/savage_driver.c b/src/savage_driver.c index 2c51770..6ffe772 100644 --- a/src/savage_driver.c +++ b/src/savage_driver.c @@ -1165,15 +1165,23 @@ static Bool SavagePreInit(ScrnInfoPtr pScrn, int flags) if ((s = xf86GetOptValString(psav->Options, OPTION_ROTATE))) { if(!xf86NameCmp(s, "CW")) { /* accel is disabled below for shadowFB */ + /* RandR is disabled when the Rotate option is used (does + * not work well together and scrambles the screen) */ + psav->shadowFB = TRUE; psav->rotate = 1; + xf86DisableRandR(); xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, - "Rotating screen clockwise - acceleration disabled\n"); + "Rotating screen clockwise" + "- acceleration and RandR disabled\n"); } else if(!xf86NameCmp(s, "CCW")) { psav->shadowFB = TRUE; psav->rotate = -1; - xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "Rotating screen" - "counter clockwise - acceleration disabled\n"); + xf86DisableRandR(); + xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, + "Rotating screen counter clockwise" + " - acceleration and RandR disabled\n"); + } else { xf86DrvMsg(pScrn->scrnIndex, X_CONFIG, "\"%s\" is not a valid" "value for Option \"Rotate\"\n", s); |