Problems with XFree86 together with Diamond Viper VLB

Problems with XFree86 together with Diamond Viper VLB

Post by Stevers » Sat, 01 Apr 1995 04:00:00



Folks, I need some help.

I'm trying to get X-Windows up on my system, and am not having much
luck.  Whenever I invoke "startx", the X server starts-up fine, the
screen switches into a graphics mode, and I get a very odd image.  The
image consists of a series of vertical bars, generally alternating
between blue and black.  There are some other effects, but that is the
most distinguishing (to me, at least).  The pointer graphic is clear
and undistorted.  When I press the left button on the mouse, I can see
a distorted menu appear on the screen.  In higher resolutions, it appears
that the menu is actually being displayed several times.

One person I spoke with suggested that some of the timing information
in the video modes was incorrect.  I've tried several different modes,
and each generates nearly identical images, only in different
resolutions.  Given that I'm using a multisync monitor, I wouldn't
expect that such an effect would be caused by odd timings.  Another
suggested that the monitor was trying to display an image outside the
proper scan rates.  I've identified the proper scan rates for my
monitor as identified in the monitor's manual, which is supported by
the XFree86 documentation.  So unless the server is ignoring the sync
rates I've identified, that shouldn't be a problem.

Best as I can tell, I'm using Slackware 2.2.0 (well, that's the version
on Setup and PkgTool), which provided v1.2.1 of the Linux kernel.  I
have recompiled the kernel since the initial installation.  I appear to
have XFree86 v3.1.1 (see below) and am using the XF86_P9000 server.  I
used the "xf86config" utility provided with the Slackware distribution
to generate the base "XF86Config" file, to which I then made a few
changes (described below).

Below are what I believe to be the relevant portions of /etc/XF86Config
(prefixed by "C>" to clarify):

C>Section "Monitor"
C>    Identifier  "CTX CMS-1561"
C>    VendorName  "CTX"
C>    ModelName   "CMS-1561"
C>    HorizSync   30-60
C>    VertRefresh 50-90

All video mode definitions remained unchanged (none commented out, etc.).

C>EndSection

Generic VGA device definition omitted here, since I don't think it's used.

C>Section "Device"
C>    Identifier  "Diamond Viper VLB 1MB"
C>    VendorName  "Diamond"
C>    BoardName   "Viper VLB 1MB"
C>    VideoRam    1024
C>    Ramdac      "bt485"

Added the RAMDAC definition after taking my system apart and inspecting
the card itself.  According to the documentation, a RAMDAC definition
isn't necessary.  Is it, in this case?  I've actually tried it both
ways, and it doesn't appear to make a difference.

I tried adding the following line to see if it made a difference.

C>    Option      "vram_128"

It didn't, so I removed it.

C>    Chipset     "vipervlb"
C>EndSection

I'm using the XF86_P9000 server, so I assume that the only screen
section definition that actually takes effect is the following:

C>Section "Screen"
C>    Driver      "accel"
C>    Device      "Diamond Viper VLB 1MB"
C>    Monitor     "CTX CMS-1561"
C>    Subsection "Display"
C>        Depth       8
C>        Modes       "640x480" "800x600" "1024x768"
C>        ViewPort    0 0
C>        Virtual     1024 768
C>    EndSubsection
C>    Subsection "Display"
C>        Depth       16
C>        Modes       "640x480" "800x600"
C>        ViewPort    0 0
C>        Virtual     800 600
C>    EndSubsection
C>    Subsection "Display"
C>        Depth       32
C>        Modes       "640x400"
C>        ViewPort    0 0
C>        Virtual     640 400
C>    EndSubsection
C>EndSection

"/usr/X11/bin/X -probeonly" gives me the following (prefixed with "P>"
to clarify):

P>XFree86 Version 3.1.1 / X Window System
P>(protocol Version 11, revision 0, vendor release 6000)
P>Operating System: Linux
P>Configured drivers:
P>  P9000: accelerated server for Weitek P9000 graphics adaptors (Patchlevel 0)
P>  Supported vendors (specify on chipset line):
P>   viperpci        Diamond Viper PCI
P>   vipervlb        Diamond Viper VLB
P>   orchid_p9000    Orchid P9000
P>(using VT number 7)
P>
P>XF86Config: /etc/XF86Config
P>(**) stands for supplied, (--) stands for probed/default values
P>(**) Mouse: type: Microsoft, device: /dev/mouse, baudrate: 1200,
P>       3 button emulation
P>(**) P9000: Graphics device ID: "Diamond Viper VLB 1MB"
P>(**) P9000: Monitor ID: "CTX CMS-1561"
P>(--) P9000: Mode "1024x768" needs hsync freq of 62.50 kHz. Deleted.
P>(--) P9000: Mode "1280x1024" needs hsync freq of 64.25 kHz. Deleted.
P>(--) P9000: Mode "1280x1024" needs hsync freq of 78.86 kHz. Deleted.
P>(**) FontPath set to "/usr/X11R6/lib/X11/fonts/misc/,/usr/X11R6/lib/X11/fonts/Type1/,/usr/X11R6/lib/X11/fonts/Speedo/,/usr/X11R6/lib/X11/fonts/75dpi/,/usr/X11R6/lib/X11/fonts/100dpi/"
P>(**) P9000: Vendor/chipset is vipervlb (Diamond Viper VLB)
P>P9000: MemBase not specified.  Using 0x80000000 as a default.
P>(**) P9000: (mem: 1024k numclocks: 7 vendor: vipervlb membase: 0x80000000)
P>(--) P9000: Maximum allowed dot-clock: 135.000 MHz
P>(**) P9000: Mode "640x480": mode clock =  31.500
P>(**) P9000: Mode "800x600": mode clock =  50.000
P>(--) P9000: The dimensions of mode 800x600 do not match those of
P>   the first valid mode (640x480).
P>(--) P9000: Removing mode "800x600" from list of valid modes.
P>(**) P9000: Mode "1024x768": mode clock =  75.000
P>(--) P9000: The dimensions of mode 1024x768 do not match those of
P>   the first valid mode (640x480).
P>(--) P9000: Removing mode "1024x768" from list of valid modes.
P>(**) P9000: Virtual resolution set to 640x480
P>(--) P9000: Using hardware cursor
P>(--) P9000: Using 8 bits per RGB value

Something I find interesting: when I use SuperProbe to identify my
video hardware, I get the following (prefixed by "S>" to clarify):

S>SuperProbe Version 2.3
[Copyright, etc. removed for brevity.  -sjc]
S>
S>First video: Super-VGA
S>   Chipset: Tseng ET4000
S>   Memory:  256 Kbytes
S>   RAMDAC:  Generic 8-bit pseudo-color DAC
S>            (with 6-bit wide lookup tables (or in 6-bit mode))
S>   Attached graphics coprocessor:
S>           Chipset: Chips & Technologies 82C480 (8514/A clone)
S>           Memory:  512 Kbytes

Now, I really don't know much about hardware, but the above appears to
be blindingly wrong.  I actually physically examined my card and
identified the Weitek POWER 9000 chip.  I saw nothing that even
remotely resembled "Tseng ET4000".  I also identified the Bt485KPJ135
RAMDAC; is that considered a "generic" RAMDAC???  I have no idea what
the "attached graphics coprocessor" refers to.  There *was* another
large chip (i.e. one that struck me as being significant) on the card,
but it also said "Weitek" on it ("Weitek 5186-080-PFP 1641F0016" to be
exact).  Does SuperProbe's report have any basis?

Many thanks in advance to any and all that might offer assistance.

-Steve Coile

 
 
 

Problems with XFree86 together with Diamond Viper VLB

Post by Henrik Harms » Sun, 09 Apr 1995 04:00:00


Here is my XF86Config file which has worked wonderfully
for me. It's rather standard I think.

Two notes about your settings. 1) You should only have
mode-lines un-commented that you actually want to
use. 2) You should set the first resolution in the
Screen-Display-Modes list to the resolution you want
to use. See my file below.

I think your problems could be due to using wrong modes
with wacky timing.

Also, a thing to note: The clocks in the
Device-Clocks list can be a list of any values between
25 and 135 MHz. They only need to match the clocks in
the mode-line.

I know many VGA-programs think the Viper is an ET4000 card.
It's just buggy detection software. I guess the W5186 chip
I have looks a little similar to an ET4000 chip.

      -- Henrik

Here comes the file: (The only thing you probably need to
do is to make sure the VertRefresh and HorizSync values
are what your monitor can handle (In section "Monitor")).

#
# Copyright (c) 1994 by The XFree86 Project, Inc.
#
# Permission is hereby granted, free of charge, to any person obtaining a
# copy of this software and associated documentation files (the "Software"),
# to deal in the Software without restriction, including without limitation
# the rights to use, copy, modify, merge, publish, distribute, sublicense,
# and/or sell copies of the Software, and to permit persons to whom the
# Software is furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in
# all copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
# THE XFREE86 PROJECT BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
# WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF
# OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
#
# Except as contained in this notice, the name of the XFree86 Project shall
# not be used in advertising or otherwise to promote the sale, use or other
# dealings in this Software without prior written authorization from the
# XFree86 Project.
#

# **********************************************************************
# Refer to the XF86Config(4/5) man page for details about the format of
# this file.
# **********************************************************************

# **********************************************************************
# Files section.  This allows default font and rgb paths to be set
# **********************************************************************

Section "Files"

    RgbPath     "/usr/X11R6/lib/X11/rgb"

# Multiple FontPath entries are allowed (which are concatenated together),
# as well as specifying multiple comma-separated entries in one FontPath
# command (or a combination of both methods)

    FontPath    "/usr/X11/lib/X11/fonts/misc/"
    FontPath    "/usr/X11/lib/X11/fonts/Type1/"
    FontPath    "/usr/X11/lib/X11/fonts/Speedo/"
    FontPath    "/usr/X11/lib/X11/fonts/75dpi/"
    FontPath    "/usr/X11/lib/X11/fonts/100dpi/"
    FontPath    "/usr/X11/lib/X11/fonts/misc2/"

EndSection

# **********************************************************************
# Server flags section.
# **********************************************************************

Section "ServerFlags"

# Uncomment this to cause a core dump at the spot where a signal is
# received.  This may leave the console in an unusable state, but may
# provide a better stack trace in the core dump to aid in debugging

#    NoTrapSignals

# Uncomment this to disable the <Crtl><Alt><BS> server abort sequence

#    DontZap

EndSection

# **********************************************************************
# Input devices
# **********************************************************************

# **********************************************************************
# Keyboard section
# **********************************************************************

Section "Keyboard"

    Protocol    "Standard"

# when using XQUEUE, comment out the above line, and uncomment the
# following line

#    Protocol   "Xqueue"

    AutoRepeat  500 5
    ServerNumLock

# Specifiy which keyboard LEDs can be user-controlled (eg, with xset(1))
#    Xleds      1 2 3

# To set the LeftAlt to Meta, RightAlt key to ModeShift,
# RightCtl key to Compose, and ScrollLock key to ModeLock:

#    LeftAlt     Meta
#    RightAlt    ModeShift
#    RightCtl    Compose
#    ScrollLock  ModeLock

EndSection

# **********************************************************************
# Pointer section
# **********************************************************************

Section "Pointer"
    Protocol    "Microsoft"
    Device      "/dev/mouse"

# When using XQUEUE, comment out the above two lines, and uncomment
# the following line.

#    Protocol   "Xqueue"

# Baudrate and SampleRate are only for some Logitech mice

#    BaudRate   9600
#    SampleRate 150

# Emulate3Buttons is an option for 2-button Microsoft mice

    Emulate3Buttons

# ChordMiddle is an option for some 3-button Logitech mice

#    ChordMiddle

EndSection

# **********************************************************************
# Monitor section
# **********************************************************************

# Any number of monitor sections may be present

Section "Monitor"

    Identifier  "ADI4G"
    VendorName  "ADI"
    ModelName   "4G"

# Bandwidth is in MHz unless units are specified

#    Bandwidth  25.2

# HorizSync is in kHz unless units are specified.
# HorizSync may be a comma separated list of discrete values, or a
# comma separated list of ranges of values.
# NOTE: THE VALUES HERE ARE EXAMPLES ONLY.  REFER TO YOUR MONITOR'S
# USER MANUAL FOR THE CORRECT NUMBERS.

    HorizSync   31.5 - 64.3

#    HorizSync  30-64         # multisync
#    HorizSync  31.5, 35.2    # multiple fixed sync frequencies
#    HorizSync  15-25, 30-50  # multiple ranges of sync frequencies

# VertRefresh is in Hz unless units are specified.
# VertRefresh may be a comma separated list of discrete values, or a
# comma separated list of ranges of values.
# NOTE: THE VALUES HERE ARE EXAMPLES ONLY.  REFER TO YOUR MONITOR'S
# USER MANUAL FOR THE CORRECT NUMBERS.

    VertRefresh 50-90

# Modes can be specified in two formats.  A compact one-line format, or
# a multi-line format.

# These two are equivalent

#    ModeLine "1024x768i" 45 1024 1048 1208 1264 768 776 784 817 Interlace

#    Mode "1024x768i"
#        DotClock       45
#        HTimings       1024 1048 1208 1264
#        VTimings       768 776 784 817
#        Flags          "Interlace"
#    EndMode

# 640x400 @ 70 Hz, 31.5 kHz hsync
# Modeline "640x400"     25.175 640  664  760  800   400  409  411  450

# 640x480 @ 60 Hz, 31.5 kHz hsync
# Modeline "640x480"     25.175 640  664  760  800   480  491  493  525

# 800x600 @ 56 Hz, 35.15 kHz hsync
# ModeLine "800x600"     36     800  824  896 1024   600  601  603  625

# 1024x768 @ 87 Hz interlaced, 44.9 kHz hsync
# Modeline "1024x768"    44.9  1024 1048 1208 1264   768  776  784  817 Interlace

# 640x480 @ 72 Hz, 37.8 kHz hsync
Modeline "640x480"     31.5   640  680  720  864   480  488  491  521

# 800x600 @ 60 Hz, 37.8 kHz hsync
# Modeline "800x600"     40     800  840  968 1056   600  601  605  628

# 800x600 @ 72 Hz, 48.0 kHz hsync
Modeline "800x600"     50     800  856  976 1040   600  637  643  666

# 1024x768 @ 60 Hz, 48.4 kHz hsync
# Modeline "1024x768"    65    1024 1032 1176 1344   768  771  777  806

# 1024x768 @ 70 Hz, 56.5 kHz hsync
Modeline "1024x768"    75    1024 1048 1184 1328   768  771  777  806

# 1280x1024 @ 87 Hz interlaced, 51 kHz hsync
# Modeline "1280x1024"   80    1280 1296 1512 1568  1024 1025 1037 1165 Interlace

# 1024x768 @ 76 Hz, 62.5 kHz hsync
# Modeline "1024x768"    85    1024 1032 1152 1360   768  784  787  823

# 1280x1024 @ 61 Hz, 64.2 kHz hsync
Modeline "1280x1024"  110    1280 1328 1512 1712  1024 1025 1028 1054

# 1280x1024 @ 74 Hz, 78.85 kHz hsync
# Modeline "1280x1024"  135    1280 1312 1456 1712  1024 1027 1030 1064

EndSection

# **********************************************************************
# Graphics device section
# **********************************************************************

# Any number of graphics device sections may be present

# Standard VGA Device:

Section "Device"
    Identifier  "Generic VGA"
    VendorName  "Unknown"
    BoardName   "Unknown"
    Chipset     "generic"

#    VideoRam   256

#    Clocks     25.2 28.3

EndSection

# Sample Device for accelerated server:

# Section "Device"
#    Identifier "Actix GE32+ 2MB"
#    VendorName "Actix"
#    BoardName  "GE32+"
#    Ramdac     "ATT20C490"
#    Dacspeed   110
#    Option     "dac_8_bit"
#    Clocks      25.0  28.0  40.0   0.0  50.0  77.0  36.0  45.0
#    Clocks     130.0 120.0  80.0  31.0 110.0  65.0  75.0  94.0
# EndSection

# Device configured by xf86config:

Section "Device"
    Identifier  "ViperVLB_2MB_2.02"
    VendorName  "Diamond"
    BoardName   "Viper VLB 2.02 Bios"
    VideoRam    2048
    Clocks 65 75 81 50 31 87 115 25 25.175 60  # These only need to match to modes
    Membase 0x80000000                   # This is manditory on non-ViperVLB's
    ChipSet "vipervlb"
    Option "sw_cursor"
EndSection

# **********************************************************************
# Screen sections
# **********************************************************************

# The Colour SVGA server

Section "Screen"
    Driver      "svga"
    Device      "Generic VGA"
    Monitor     "ADI4G"
    Subsection "Display"
        Depth       8
        #Modes       "640x480" "800x600" "1024x768" "1280x1024"
        ViewPort    0 0
        Virtual     320 200
        #Virtual     1280 1024
    EndSubsection
EndSection

# The 16-color VGA server

Section "Screen"
    Driver      "vga16"
    Device      "Generic VGA"
    Monitor     "ADI4G"
...

read more »