Savage mode setting problem and streams

Felix Kühling fxkuehl at
Fri Sep 17 16:49:25 PDT 2004

On Fri, 17 Sep 2004 23:06:48 +0200
Felix Kühling <fxkuehl at> wrote:

> Hi Alex,
> thanks for committing your savage progress to Xorg CVS.
> I looked into the strange mode setting problem with Savage4 and my 19"
> DFP on the DVI port I reported earlier. Diffing savage_driver.c from
> xorg and DRI CVS lead me to think it may be related to streams (though I
> have a somewhat vague understanding of the concept). Commenting out all
> calls to SavageStreamsOn/Off "solved" the problem which proves my theory
> right. It also improved glxgears frame rates from about 475 to about 510.
> The latter is the same value I got with an XFree86 server running.

Solved this one:

--- ./savage_streams.h.~1.2.~   2004-09-17 23:24:27.000000000 +0200
+++ ./savage_streams.h  2004-09-18 01:30:04.000000000 +0200
@@ -71,7 +71,7 @@
 #define SSTREAM_FBSIZE_REG             0x8304
 #define SSTREAM_FBADDR2_REG            0x8308

-#define OS_XY(x,y)     (((x+1)<<16)|(y+1))
+#define OS_XY(x,y)     (((x)<<16)|(y+1))
 #define OS_WH(x,y)     (((x-1)<<16)|(y))

 /* Streams Processor macros */

Also tested this on my notebook with ProSavageDDR. With this change I
can still see one pixel column of the mouse pointer when it's at the
right edge of the screen. Without this change it was invisible,
basically one pixel column was missing on the right.

BTW, disabling streams wasn't such a good idea. It locks up hard when I
try to play a video with xv. But I guess that could be fixed by calling
SavageStreamsOn in the right places in savage_video.c. Could this be
made a xorg.conf option? On my notebook the performance impact on 3D is
even worse. Glxgears FPS drops from about 480 to about 380.

> Finally, I noticed that you left out the following snippet from
> SavageDPMS:
>     if ( (!psav->CrtOnly) && psav->UseBIOS && psav->PanelX ) {
> 	SavageSetPanelEnabled(psav, (mode == DPMSModeOn));
>     }
>     else ...
> I added this in DRI CVS some time ago to switch of the LCD display on my
> notebook when idle. It didn't work with the DVI port on the Savage4
> though. I might look into it and fix both at the same time unless you
> beat me to it.

Added this one back and it switches of the backlight on my notebook
again. DPMS works with the Savage4+DFP in Xorg as long as streams are
disabled. :( With streams enabled I get a random pattern of vertical
stripes on the screen.


P.S.: I just saw your reply to my original message. The SR31 register
crunching doesn't work with my notebook. I doesn't switch of the back

| Felix Kühling <fxkuehl at>            |
| PGP Fingerprint: 6A3C 9566 5B30 DDED 73C3  B152 151C 5CC1 D888 E595 |

More information about the xorg mailing list