Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 25 Sep 1999 12:08:54 -0400 (EDT)
From:      Chuck Robey <chuckr@mat.net>
To:        FreeBSD Hackers List <freebsd-hackers@FreeBSD.ORG>
Cc:        article@daemonnews.org
Subject:   running single freq monitors (fwd)
Message-ID:  <Pine.BSF.4.10.9909251155130.87332-100000@picnic.mat.net>

next in thread | raw e-mail | index | archive | help
I recently had a really good experience getting a single frequency monitor
working, so I thought I'd write up my experiences, and perhaps help
others.  I guess you could consider this a usage report on the Silicon
Integrators Saturn GL video card, and the monitor of the week.

You know what I mean, they show up on sale all over, for very little
money, the single frequency 19" or 21" monitors from DEC, Sun, HP, and
other workstation manufacturers.  These guys are not multisync monitors,
so you can't just connect them to your PC and run, even if you went and
bought a matching connector.  The experience of trying to run a 640X400 PC
start up screen would fry any of these monitors, and your investment is
gone.  Their big transformers are optimized to run at one frequency, and
they're kinda stubborn about it.

I tried to get a monitor like that running for myself about 3 years ago.
In the end it turned out that the monitor was fried, but I found out after
paying out $375 for a video card that was totally useless if it couldn't
be used to run that monitor.  The various vendors of video cards would
sell you (a very expensive) video card, but it had to be set up by the
video card vendor for ONE monitor scan rate, and if the monitor was no
good, gee, that's too bad (bye bye $375).

Very recently, I had another chance to get my hands on a single-frequency
monitor, and I nearly passed it up before doing another check on the
vendors of video cards serving the single frequency monitor market, when I
found out about Silicon Integrator's Saturn GL.  It comes in 4M and 8M
versions, but that wasn't the reason that I decided to give these guys a
try.  The reason was the card installation method.

Although the price, at $159 for the 8M version, was really good, that
wasn't the reason I decided to give it a chance, it was the fact that the
card is user-configurable that made me go for it.  The card comes with
software; a CDROM for the Windows users, and a floppy for us Unix-ers.  
Listen closely about that very interesting floppy.

First, the floppy is bootable, it's been made using FreeDOS, so if you're
like me, and all your old dos-bootable floppies have crumbled into dust,
here's a good recharge.  Second, the floppy, when booted, starts up a
Silicon Integrators job that cycles through 30 different sync setups,
waiting for you to hit the space bar when you see one that you like. Write
down the number that shows up on the screen (to ID the mode), then hit any
key *except* the space bar, and it continues to cycle through the
possibilities.  Hit the space bar instead twice in a row (one time more
after stopping the display), and that sync setup is stored in on-card
non-volatile memory, so that the card now boots every time in a mode that
your monitor, no matter what kind you bought, likes.

First time I tried this, I had 3 of the single frequency monitors on hand,
because I was testing for friends also.  It worked just fine for the HP
A1097C (mine) and the two Sun GDM1955's, which have a different scan rate
than my HP.  This method is just foolproof, and until you try running X,
FreeBSD likes this mighty fine.

Oh, I forgot to mention connectors.  I had a connector from the last time
I'd messed about with single-freuqncy monitors, but since SI sells those
cables (two kinds) cheaply, you can buy one from them also.

GETTING XFree86 Running
=======================

OK, getting X set up scares you?  I'm no genius on this, but I followed
some reasonable rules, and got it working pretty easily, so I will
continue this tirade through that part of the job also.

First, go look on Silicon Integrators website, http://www.si87.com/, for a
utility called satlinux.exe.  It'll be part of the zip package,
saturnml.zip.  I can mail it to you, but please try to pick it up from
their site, ok?  This neat utility, after you've used the boot disk, reads
the setup on the card, and produces a series of modelines like you'll see
in /etc/XF86Config files, for setting up XFree86 to work with your card.

First time I tried this, I was worried, because I didn't have a
dos-bootable disk to stick it onto, and it runs under dos.  Turned out to
be really easy.  Just use dd to read in the floppy you got with the card,
like this:

dd if=/dev/fd0 out=si87.flp

This makes an image, a bootable image, of the floppy in file si87.flp.  Go
get yourself a spare 3 1/2" floppy, and read this file back onto it (this
is the Unix way to do the dos "diskcopy")

dd if=si87.flp of=/dev/fd0

This makes you a copy of the install floppy, so you can screw around with
it.  Then, you'll need the mtools tools from /usr/ports/emulators, so that
you can write the satlinux.exe file onto the floppy you've just created.  
Don't worry, the floppy is just over half full, and there's way more than
enough room here.  You probably want to change the file (on the floppy
disk) autoexec.bat, so that it doesn't start up the Silicon Integrator's
sync discovery routine, that'll make your monitor unreadable again.  Just
use mtools to delete autoexec.bat, if you don't have any other plans.

Reboot from FreeBSD into your floppy, and start up satlinux.exe.  You have
to give it a file name as a parameter; it doesn't write it's output to
stdout, it goes to the file you give it, and complains if you don't give
it a filename.  Reboot back into FreeBSD, and then use the mtools stuff to
get a copy of the modelines file into your system.

On Silicon Integrator's site is a huge monitor database, it'll give you
the intended mode for your monitor (my HP A1097C was intended to run
1280X1024).  It'll also give you the vertical and horizontal sync
frequencies for your monitor.  find the modeline entry from the file you
made, the one that uses the mode you wanted.  Here's the file that it made
for me:

Modeline "640x480" 67 640 672 776 864 480 502 505 1073 
Modeline "800x600" 135 800 1104 1296 1720 600 802 805 1062 
Modeline "1024x768" 135 1024 1200 1392 1720 768 894 897 1082 
Modeline "1152x864" 135 1152 1280 1424 1728 864 952 955 1083 
Modeline "1280x1024" 135 1280 1344 1536 1728 1024 1027 1030 1076 
Modeline "1600x1200" 126 1600 1664 1856 2104 1200 1201 1207 1261 
LOW RESOLUTIONS -- OPTIONAL USE!
Modeline "720x480" 74 720 736 840 888 480 490 492 523 
Modeline "320x240" 74 320 336 432 792 240 250 252 1547 
Modeline "512x384" 74 512 536 688 1272 384 402 404 1467 

Like I said, my monitor uses 1280X1024, so I cut the single line out that
uses that rate.  Now, use your favorite editor to edit your XF86Config
file, the section that looks like:

Section "Monitor"
    Identifier  "HP A1097C"
    VendorName  "HP"
    ModelName   "A1097C"
    HorizSync   76-82
    VertRefresh 70-75

    #1280x1024
     Modeline "1280x1024"   135.00   1280 1304 1496 1700   1024 1027 1030 1092 -hsync -vsync
EndSection

Take the HorizSync and VertRefresh lines, edit them so that they match
the data that you got from your monitor's entry in the database on SI's
website.  Where I show ranges, you'll stick a single number in.  Also,
stick in the modeline you identified from satlinux.exe.

Save the file.  You want to start up XFree86 now, but you expect it to
fail (it will).  What you want is the failure message, so start it like
"startx >& xerrs", so that file xerrs will tell you info about what
went wrong.

It's going to show you that either your horizontal number or vertical
number is off by some small amount.  If it's one or two numbers, then 
edit the single number you stuck in so that it's a smallish range that
contains the value that XFre886 complained about not having.  Here's
the line that I found in my own error output:

(--) GLINT: Mode "1280x1024" needs hsync freq of 72.50 kHz. Deleted.

My sync was 72, so I gave it a slightly larger range, so that the mode
would be selected.  As long as it's reasonably close, you don't have to
worry. Make sure that your screen section only has the one mode, so that
some other, wildly different (and wrong) mode doesn't get selected.  
Again, Here's mine:

Section "Screen"
    Driver      "Accel"
    Device      "Saturn ML"
    Monitor     "HP A1097C"
    DefaultColorDepth 16
    Subsection "Display"
        Depth       8
        Modes       "1280x1024"
        ViewPort    0 0
    EndSubsection
    Subsection "Display"
        Depth       16
        Modes       "1280x1024"
        ViewPort    0 0
    EndSubsection
    Subsection "Display"
        Depth       24
        Modes       "1280x1024"
        ViewPort    0 0
    EndSubsection
EndSection

This time when you boot XFree86, it should not give you an error, and you
will get a screen.  It won't be optimum, probably, so here's where the
fine-tuning comes in.  You want to use a utility called xvidtune.  This
is a GUI'd way to flip about the numbers in your modeline, and see if
you can get the screen wider, flatter, whatever.  This thing is safe to
start up, so go start it *right now* so that you can see the buttons you
have, and be able to feel safe about playing with it.  It's safe to start
up now, as long as you don't hit the buttons, so feel free to go take a
look.  The key button is labeled "show".  After you've tweaked the other
values, when you hit "show" it prints a perfect, customized modeline out
for you, so that you can doctor your XF86Config file with it.

Listen to your monitor, because when you get to the end of the range that
your monitor can safely take, it'll start to softly hum (whistle, really)
at you, as the power supply begins to be overstressed.  You want to back
off now, until you can't hear that any more.

That's it, go install your new modeline, and you've got X running happily.
That's all I had to do.

Silicon Integrators didn't even know about this, much less influence me
directly, and I don't get any money for it.  If you get your single
frequency monitor running using this, you might drop me a line and tell me
your experiences, I'd feel good if I knew I had helped someone.

Summing up, the card runs $159 (it cost me $10 for Fedex 2 day shipping,
so really $169), and that was all the worry involved, I'm perfectly happy
with my oversized display now.  When I get another monitor, I'll be able
to reconfigure the card without calling Silicon Integrators and handing
over more cash, which is just fine with me!

----------------------------------------------------------------------------
Chuck Robey                | Interests include C programming, Electronics,
213 Lakeside Dr. Apt. T-1  | communications, and signal processing.
Greenbelt, MD 20770        | I run picnic.mat.net: FreeBSD-current(i386) and
(301) 220-2114             |       jaunt.mat.net : FreeBSD-current(Alpha)
----------------------------------------------------------------------------




To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-hackers" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?Pine.BSF.4.10.9909251155130.87332-100000>