On Fri, 2007-05-25 at 09:17 +0200, Svante Signell wrote: > On Fri, 2007-05-25 at 08:44 +0200, Michel Dänzer wrote: > > On Thu, 2007-05-24 at 22:15 +0200, Svante Signell wrote: > > > On Thu, 2007-05-24 at 20:54 +0200, Svante Signell wrote: > > > > On Thu, 2007-05-24 at 11:44 +0200, Brice Goglin wrote: > ... > > > I have now downgraded the following packages: > > > apt-get install xserver-xorg-core=2:1.1.1-21 xserver-xorg=1:7.1.0-16 > > > apt-get install xserver-xorg-video-ati (1:6.6.3-2 from Stable) > > > With them all works OK! > > > > What about the new version of xserver-xorg-core with the old version of > > xserver-xorg-video-ati? > > This was the original setup since version 1:6.6.3-2 is used by both > stable and unstable.
Ah never mind, I took 'I have now downgraded the following packages' literally. > It seems I can upgrade xserver-xorg-core to 2:1.3.0.0.dfsg-5 without > upgrading xserver-xorg to 1:7.2-3 but do you really think the problem > is in xserver-xorg-7.2? No, xserver-xorg-core it seems to be. The thing is, there were only small changes in its Xv code between those two versions. Although there was a known regression fixed by the attached patch, its only known symptom is a server which only happens with a driver hook not used by the ati driver. You may still want to try the patch though. Also, your description of the problem sounds like it might be related to the colour key. What does xvinfo|grep -A2 COLORKEY say when the problem occurs? Last but not least, it might be helpful if you could capture the problem with a digital camera or something. -- Earthling Michel Dänzer | http://tungstengraphics.com Libre software enthusiast | Debian, X and DRI developer
diff --git a/hw/xfree86/common/xf86xv.c b/hw/xfree86/common/xf86xv.c index 2b097d2..02fcde6 100644 --- a/hw/xfree86/common/xf86xv.c +++ b/hw/xfree86/common/xf86xv.c @@ -979,6 +979,9 @@ xf86XVEnlistPortInWindow(WindowPtr pWin, XvPortRecPrivatePtr portPriv) winPriv->next = PrivRoot; pWin->devPrivates[XF86XVWindowIndex].ptr = (pointer)winPriv; } + + portPriv->pDraw = (DrawablePtr)pWin; + return Success; } @@ -1375,7 +1378,6 @@ xf86XVPutVideo( result = xf86XVEnlistPortInWindow((WindowPtr)pDraw, portPriv); if(result != Success) return result; - portPriv->pDraw = pDraw; portPriv->type = XvInputMask; /* save a copy of these parameters */ @@ -1479,7 +1481,6 @@ xf86XVPutStill( xf86XVEnlistPortInWindow((WindowPtr)pDraw, portPriv); portPriv->isOn = XV_ON; - portPriv->pDraw = pDraw; portPriv->drw_x = drw_x; portPriv->drw_y = drw_y; portPriv->drw_w = drw_w; portPriv->drw_h = drw_h; portPriv->type = 0; /* no mask means it's transient and should @@ -1529,7 +1530,6 @@ xf86XVGetVideo( result = xf86XVEnlistPortInWindow((WindowPtr)pDraw, portPriv); if(result != Success) return result; - portPriv->pDraw = pDraw; portPriv->type = XvOutputMask; /* save a copy of these parameters */ @@ -1784,7 +1784,6 @@ xf86XVPutImage( (portPriv->AdaptorRec->flags & VIDEO_OVERLAID_IMAGES)) { portPriv->isOn = XV_ON; - portPriv->pDraw = pDraw; portPriv->drw_x = drw_x; portPriv->drw_y = drw_y; portPriv->drw_w = drw_w; portPriv->drw_h = drw_h; portPriv->type = 0; /* no mask means it's transient and should