[SAC-HELP] SPARC/Solaris to PC/SuSE problems - Refreshing

Frederik Tilmann tilmann at esc.cam.ac.uk
Mon Jan 2 08:53:46 PST 2006


It sounds like the refreshing problem has been fixed in 100.1 but for 
older versions a change in the X configuration can address this problem:

Frederik

-------- Original Message --------

This email describes how to fix a problem with the display of both
SAC2000 graphics windows on most Linux machines.

The Problem:

On some of the newer Linux packages (e.g. SuSe 8.0+, Redhat 8.0+,
also depends on the chosen WM), the graphics windows of both programs
are not buffered, ie. when moving another window on top and then moving
it away again, the part of the display previously covered has been wiped
out.

Why does it do that?

In X11, refreshing the content of windows is really the
responsibility of the application program (e.g. SAC).
However, in order to make life easier for the casual programmer, an
option is provided for letting the display manager (X11) take care of
the refreshing using the so-called backing store.  Both the display
manager and the window need to be opened specifically requesting the
automatic refresh for it to work.  For performance reasons, the
automatic refreshing is turned off by default in many newer
distributions.

How is it fixed?

Change the default X configuration to enable the backing store.  You
will need to have root permission to carry out this change.  On Linux
systems, find the file XF86Config or XF86Config-4 (e.g. for Redhat it is
in /etc/X11 ).  Save the original file, e.g.
cp -p XF86Config XF86Config.orig

Edit XF86Config:
Find the Section "Device".  As last line of this section(just before
EndSection), insert the line

     Option      "backingstore"

e.g., if before it looks like:

Section "Device"
     # no known options
           #BusID
     Identifier  "ATI Rage 128"
     Driver      "r128"
     VendorName  "ATI Rage 128"
     BoardName   "ATI Rage 128"
EndSection

after it should be:

Section "Device"
     # no known options
           #BusID
     Identifier  "ATI Rage 128"
     Driver      "r128"
     VendorName  "ATI Rage 128"
     BoardName   "ATI Rage 128"
     Option      "backingstore"
EndSection

If there is more than one Device section, carry out this change for each
one.   Reboot.  The backing store should now be switched on.  You can
check with the command "xdpyinfo".  The output should contain a line like:

     options:    backing-store YES, save-unders YES

(if it doesn't there is probably something wrong with your change to the
    XF86Config).  This is all that is needed to enable refreshing for
SAC2000.


Kris Walker wrote:
> On Dec 27, 2005, at 10:16 AM, jim at okgeosurvey1.gov wrote:
> 
...
>>
>> Problem 1. Whenever a SAC graphics
>> window is covered totaly or partly,
>> and is reexposed, the reexposed
>> parts are blank. Putting the
>> window "always on top" or frequent
>> replotting are the only workarounds
>> we have found.
> 
> 
> I had same experience with redhat versions >=6.2 if I recall.  I don't 
> recall my experience with redhat v. <6.2.  I think this is due to the 
> graphics drivers.  If there were better graphics drivers used, it 
> probably wouldn't be a problem.
> 
>>
...

-- 
Frederik Tilmann		
Bullard Laboratories           Tel. +44 1223 765545
Department of Earth Sciences   Fax. +44 1223 360779
University of Cambridge        email: tilmann at esc.cam.ac.uk
Madingley Road
Cambridge CB3 0EZ
UK







More information about the sac-help mailing list