[PATCH] fbdev: fix devPrivates and do not disable xrandr when rotated

Denis 'GNUtoo' Carikli GNUtoo at no-log.org
Mon Jul 5 12:52:16 PDT 2010


FBDevDGAInit is already converted to devPrivates,and so it works fine
  when xf86-video-fbdev is rotated(trough xorg.conf,for instance
  CW rotation)
But when it's not rotated,drivers like xf86-input-tslib
  which access the dev private screen key fail with:
privates.h:122: dixGetPrivateAddr: Assertion `key->initialized' failed.
at:
Rotation rotation = rrGetScrPriv (pScrn->pScreen) ? RRGetRotation(pScrn->pScreen) : RR_Rotate_0;
Because pScreen was not initialized correctly.

This patch fixes that.

Signed-off-by: Denis 'GNUtoo' Carikli <GNUtoo at no-log.org>
---
 src/fbdev.c |   13 +------------
 1 files changed, 1 insertions(+), 12 deletions(-)

diff --git a/src/fbdev.c b/src/fbdev.c
index c97ce1c..af8de48 100644
--- a/src/fbdev.c
+++ b/src/fbdev.c
@@ -828,18 +828,7 @@ FBDevScreenInit(int scrnIndex, ScreenPtr pScreen, int argc, char **argv)
 		       "shadow framebuffer initialization failed\n");
 	    return FALSE;
 	}
-
-	if (!fPtr->rotate)
-	  FBDevDGAInit(pScrn, pScreen);
-	else {
-	  xf86DrvMsg(scrnIndex, X_INFO, "display rotated; disabling DGA\n");
-	  xf86DrvMsg(scrnIndex, X_INFO, "using driver rotation; disabling "
-			                "XRandR\n");
-	  xf86DisableRandR();
-	  if (pScrn->bitsPerPixel == 24)
-	    xf86DrvMsg(scrnIndex, X_WARNING, "rotation might be broken at 24 "
-                                             "bits per pixel\n");
-	}
+	FBDevDGAInit(pScrn, pScreen);
 
 	xf86SetBlackWhitePixels(pScreen);
 	miInitializeBackingStore(pScreen);
-- 
1.7.0.4



More information about the xorg-devel mailing list