[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#215997: stripes in full-screen mode (XVideo, nv, NV17, TFT, XGA)



Package: xserver-xfree86
Version: 4.3.0-0pre1v3
Severity: normal
Tags: patch

Hello,

(before you began to bitch about the Version: above, realize that the problem affects any other version before)

I have a problem with my Geforce 420go card (aka NV17). In full-screen
mode using XVideo (mplayer, xine, you know...) I see stripes. It happens
always when the overlay picture takes almost the whole screen width and
it start point lies on pixel X=0. I discussed it with the current nv
driver maintainer and found out that he already knows about this problem
with Nvidia's DFP output and he has fixed it in CVS some weeks ago (you
will find this modifications extracted in the patch below). But some
time ago he rewrote some parts completely so the new code is not easily
to port. With the attached patch, the problem is solved for me[tm] and
maybe for many other people.

|Date: Wed, 15 Oct 2003 12:38:19 -0400 (EDT)
|From: Mark Vojkovich <mvojkovi@XFree86.Org>
|Subject: Re: Stripes in wide/Full-Screen mode (nv_drv, XVideo)
|To: Eduard Bloch <blade@debian.org>
|
|
|   Look at the second link I sent you.  I backed that one

He meants the rewrite, http://cvsweb.xfree86.org/cvsweb/xc/programs/Xserver/hw/xfree86/drivers/nv/nv_dac.c.diff?r1=1.36&r2=1.37

|out and applied a different one which was used on all chips.
|Subtracting two from horizStart is prefered to adding two
|to horizTotal, but both should work on all chips.
|
|                        Mark.
|
|On Wed, 15 Oct 2003, Eduard Bloch wrote:
|
|> #include <hallo.h>
|> * Mark Vojkovich [Tue, Oct 14 2003, 01:53:55PM]:
|> >
|> >    This is a bandwidth issue.  How recent of CVS do you have?  I
|> > think this should have been fixed as of about 5 weeks ago.
|> > I initially applied a fix for GeForceFX:
|> >
|> > http://cvsweb.xfree86.org/cvsweb/xc/programs/Xserver/hw/xfree86/drivers/nv/nv_dac.c.diff?r1=1.35&r2=1.36
|>
|> Just for interest: in this modification you increased horizTotal for
|> NV_ARCH_30 only. Would it break something on other chipsets if
|> horizTotal is always increased by two for any FlatPanel?
|>
|> --- nv_dac.c
|> +++ nv_dac.c
|> @@ -86,6 +86,7 @@
|>         horizStart = horizTotal - 3;
|>         horizEnd = horizTotal - 2;
|>         horizBlankEnd = horizTotal + 4;
|> +       horizTotal += 2;
|>      }
|>
|> I ask so because the Debian maintainer still didn't release final
|> 4.3.0 series packages but ports small fixes from the CVS three. Since we
|> are going to release the next Debian distribution relatively soon, I
|> would be a shame not to have this problem fixed in Debian Stable.
|>
|> MfG,
|> Eduard.
|> --
|> Es ist schwer, die zu lieben, die wir nicht achten, aber nicht weniger



-- Package-specific info:
01:00.0 VGA compatible controller: nVidia Corporation NV17 [GeForce4 420 Go] (rev a3)
01:00.0 Class 0300: 10de:0175 (rev a3)


-- System Information:
Debian Release: testing/unstable
Architecture: i386
Kernel: Linux debian 2.4.23-pre2 #1 Mi Sep 3 16:09:39 CEST 2003 i686
Locale: LANG=C, LC_CTYPE=C

Versions of packages xserver-xfree86 depends on:
ii  debconf                    1.3.15        Debian configuration management sy
hi  libc6                      2.3.2-8       GNU C Library: Shared libraries an
ii  xserver-common             4.3.0-0pre1v1 files and utilities common to all 
ii  zlib1g                     1:1.1.4-15    compression library - runtime

-- debconf information excluded


-- 
Die Großmut ist durch ihren Namen hinlänglich bezeichnet; gleichwohl
könnte man sagen, sie sei der Scharfsinn des Stolzes und das edelste
Mittel, bewundert zu werden.
		-- François de La Rochefoucauld
$Id: nv_overlay_stripes.diff 535 2003-09-16 18:28:31Z blade $

The patch fixes stripes in Fullscreen mode on FlatPanels using Xvideo.
It has been fixed this way in CVS few weeks ago but now the code was
completely rewritten and cannot be backported easily. This patch however
fixes the problem and should not cause any harm on other chipsets.

--- xc/programs/Xserver/hw/xfree86/drivers/nv/nv_dac.c	2003-10-15 19:37:05.000000000 +0200
+++ xc/programs/Xserver/hw/xfree86/drivers/nv/nv_dac.c	2003-01-02 21:44:56.000000000 +0100
@@ -75,7 +75,6 @@
        horizStart = horizTotal - 3;
        horizEnd = horizTotal - 2;   
        horizBlankEnd = horizTotal + 4;    
+       horizTotal += 2;
     }
 
     pVga->CRTC[0x0]  = Set8Bits(horizTotal);

Reply to: