[PATCH] fbdev: fix devPrivates and do not disable xrandr when rotated
Michel Dänzer
michel at daenzer.net
Tue Jul 6 00:04:40 PDT 2010
On Mon, 2010-07-05 at 21:52 +0200, Denis 'GNUtoo' Carikli wrote:
> 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);
I don't understand what FBDevDGAInit() has to do with this. It sounds
like you just want not to call xf86DisableRandR()? Did you test that the
DGA video features work correctly with rotation?
--
Earthling Michel Dänzer | http://www.vmware.com
Libre software enthusiast | Debian, X and DRI developer
More information about the xorg-devel
mailing list