> > I've just installed dvisvga and discovered that it can't seem to
> > handle resolutions higher than 320x200.  Now I have a SVGA card that
> > should be capable of handling 1024x768 --- certainly, this is the
> > resolution of X.  When I try I get the following error:
> >
> >     fatal error: display: no such vga-mode on this machine
> >
> > How can this be?  How can I fix it?
> 
> If this uses svgalib, then you should see man vga.conf, and edit that file
> (vga.conf) somewhere in /etc/vga or I don't remember where...

Thanks.  It is /etc/vga/libvga.config

I set about editing this file for my card and monitor.  After doing
this, sure enough, when I run dvisvga it now is able to attempt the
1024x768 resolution.  The only problem is that it is not terribly
successful.

It starts up and the screen goes white (appropriate for dvi viewing I
suppose), but there are some slightly sloping funny lines on the
screen, a bit of text down the bottom --- ie the screen looks like it
has partly got there but "gone wrong".  And this only lasts for about
a second or two before it totally blacks out leaving nothing.

I tried it the first time while X was still running.  When I got back
into X I found things seriously stuffed up.  The next time I decided
to get out of X before running it --- should I be able to run svgalib
stuff at the same time as X?

Anyway, I'd appreciate any help on getting the libvga.conf settings
right.  I include my current settings below.

Thanks,

Mark.

P.S.  Perhaps the problem is that my ARC chipset is not properly supported
by svgalib?  Here's some info from my XF86Config:

Section "Device"
    Identifier  "Mark's video card"
    VendorName  "legend"
    BoardName   "PV32"
    Chipset     "ark1000pv"
    Ramdac      "ark1491"
    Clocks      25.00  28.32  39.33  71.90  50.00  76.49  35.94  44.25
    Clocks      127.49 118.03  78.69  31.15 108.58  63.72  73.65  93.53
    #VideoRam    1024
    # Insert Clocks lines here if appropriate
EndSection


Anyway, here's my libvga.config as promised:



# Configuration file for svgalib. Default location is /etc/vga.
# Other config file locations:  ~/.svgalibrc
#                               where SVGALIB_CONFIG_FILE points
# Lines starting with '#' are ignored.

# Have a deep look at README.config to see what can do here (especially
# for mach32).

# Mouse type:

# mouse Microsoft       # Microsoft
mouse MouseSystems      # Mouse Systems
# mouse MMSeries        # Logitech MM Series
# mouse Logitech        # Logitech protocol (old, newer mice use Microsoft 
protocol)
# mouse Busmouse        # Bus mouse
# mouse PS2             # PS/2 mouse
# mouse MouseMan        # Logitech MouseMan
# mouse Spaceball       # Spacetec Spaceball
# mouse IntelliMouse    # Microsoft IntelliMouse or Logitech MouseMan+ on 
serial 
port
# mouse IMPS2           # Microsoft IntelliMouse or Logitech MouseMan+ on PS/2 
port
# mouse none            # None

mouse unconfigured

# (DEBIAN NOTE: the mouse used to default to microsoft, but this was changed
#  to fix bug #13458. If your mouse used to work fine, you can simply change
#  it back to read "microsoft" again. If you are careful to change *only that
#  one word*, and not to add or remove extra whitespace, the package
#  installation will continue to update this file without requiring user
#  intervention because of a modified config file.
#  This applies to all mouse types, not just microsoft.)

# Mouse/keyboard customisation by 101 (Attila Lendvai). If you have any good
# ideas you can reach me at [EMAIL PROTECTED]

# mouse_accel_type      normal  # No acceleration while delta is less then
                                # threshold but delta is multiplied by
                                # mouse_accel_mult if more. Originally done by
                                # Mike Chapman [EMAIL PROTECTED]

mouse_accel_type        power   # The acceleration factor is a power function
                                # of delta until it reaches m_accel_mult. It
                                # starts from the coordinate 
                                # [1, 1 + m_accel_offset] and goes to
                                # [m_accel_thresh, m_accel_mult]. If delta
                                # is bigger then m_accel_thresh it is a plain
                                # constant (m_accel_mult). It is the f(delta)
                                # function with which the delta itself will be
                                # multiplied. m_accel_offset is 1 by default,
                                # so for delta = 1 the accelerated delta will
                                # remain 1 (You don't lose resolution). The
                                # starting point of the f(delta) function
                                # might be moved along the Y axis up/down with
                                # m_accel_offset thus defining the initial
                                # minimum acceleration (for delta = 1).
                                # Basically it's like the normal mode but the
                                # acceleration factor grows as you move your
                                # mouse faster and faster, not just turns in
                                # and out. Threshold is the point from where
                                # the f(delta) function gets linear.
                                # This is the one I use for *uaking... =)

# mouse_accel_type      off     # No comment...


mouse_accel_mult        60      # This is the number with which delta will
                                # be multiplied. Basically it's the number
                                # that defines how big the acceleration will
                                # be

mouse_accel_thresh      4       # This is the threshold. See description by
                                # power

mouse_accel_power       0.8     # This is the second parameter of the power
                                # function used in power mode. Used only by
                                # the power mode

mouse_accel_offset      30      # This is the offset of the starting point
                                # on the Y axis. With this you can define the
                                # number that will multiply delta = 1 so it's
                                # the initial acceleration.

# mouse_accel_maxdelta  600     # This is an upper limit for delta after
                                # the acceleration was applied

# mouse_maxdelta        30      # This is an upper limit for the delta
                                # before the acceleration. With this one you
                                # can limit the biggest valid delta that
                                # comes from the mouse.

# mouse_force                   # Force parameters even if they seem strange
                                # By default svgalib prints an error if any
                                # of the numbers are somhow out of the
                                # reasonable limit, (Like a negative mult :)
                                # and uses the default that's in vgamouse.h

# Usually /dev/mouse will be a link to the mouse device.
# However, esp. with the Spacetec Spaceball you may
# want to specify a different device for svgalib to use

# mdev /dev/ttyS0 # mouse is at /dev/ttyS0

# Some multiprotocol mice will need one of the following:

# setRTS   # set the RTS wire.
# clearRTS # clear the RTS wire.
# leaveRTS # leave the RTS wire alone (default) (Wire is usually set)
# setDTR   # set the DTR wire.
# clearDTR # clear the DTR wire.
# leaveDTR # leave the DTR wire alone (default) (Wire is usually set)

# mouse_fake_kbd_event sends a fake keyboard event to the program when the
# wheel on a Microsoft IntelliMouse, Logitech MouseMan+, or similar wheel
# mouse is turned. The format is:
#
#   mouse_fake_kbd_event upscancode downscancode
#
# The up and down scancodes are the scancodes of the keys to simulate when
# the wheel is turned up and down, respectively.
#
# The following can be specified for the scancodes: letters (A-Z), numbers
# (0-9), function keys (F1-F12), or any of the following - ESCAPE, MINUS,
# EQUAL, BACKSPACE, TAB, BRACKET_LEFT, BRACKET_RIGHT, ENTER, LEFTCONTROL,
# SEMICOLON, APOSTROPHE, GRAVE, LEFTSHIFT, BACKSLASH, COMMA, PERIOD, SLASH,
# RIGHTSHIFT, KEYPADMULTIPLY, LEFTALT, SPACE, CAPSLOCK, NUMLOCK, SCROLLLOCK,
# KEYPAD7, CURSORUPLEFT, KEYPAD8, CURSORUP, KEYPAD9, CURSORUPRIGHT, 
KEYPADMINUS,
# KEYPAD4, CURSORLEFT, KEYPAD5, KEYPAD6, CURSORRIGHT, KEYPADPLUS, KEYPAD1,
# CURSORDOWNLEFT, KEYPAD2, CURSORDOWN, KEYPAD3, CURSORDOWNRIGHT, KEYPAD0,
# KEYPADPERIOD, KEYPADCENTER, RIGHTCONTROL, CONTROL, KEYPADDIVIDE,
# PRINTSCREEN, RIGHTALT, BREAK, BREAK_ALTERNATIVE, HOME, CURSORBLOCKUP,
# PAGEUP, CURSORBLOCKLEFT, CURSORBLOCKRIGHT, END, CURSORBLOCKDOWN, PAGEDOWN,
# INSERT
#
# Note that this option has no effect unless the IntelliMouse or IMPS2 mouse
# type is used (see above). Also note that the simulated keypresses are
# instantaneous, so they cannot be used for functions that require a key to
# be held down for a certain length of time.

# This example simulates a press of the left bracket ([) when the wheel is
# turned up and a press of the right bracket (]) when the wheel is turned
# down (good for selecting items in Quake II):
#mouse_fake_kbd_event BRACKET_LEFT BRACKET_RIGHT

# Keyboard config:

# kbd_fake_mouse_event, as it says, sends a fake mouse event to the program.
# The format is: kbd_fake_mouse_event scancode [flag(s)] command [argument]
#   Scancode is a raw scancode. You can find them in 
src/keyboard/vgakeyboard.h.
#   Flags:   down   - trigger event when the key is pressed (default)
#            up     - the opposite
#            both   - trigger in both case, if pressed/released
#            repeat - repeat events if the key is kept pressed (off by default)
#   commands: delta[xyz]  - send a fake delta event as if you have moved your
#                           mouse. If the parameter is 'off' / 'on' it will turn
#                           off/on the respective mouse axis (requires a
#                           parameter, of course)
#             button[123] - send a fake event that the mouse button is pressed
#                           or released that's given by the parameter.
#                           ('pressed' or 'released')
# Here are some examples:

#  This is one I use in *uake: it turns around, looks down a bit and when the
#  key is released it does the opposite, so it gets back to the starting state.
#  With this one and the help of a rocket you can fly though the whole map :)
#  (Scancode 28 is enter)
# kbd_fake_mouse_event 28 both deltax 8182 down deltay -1500 up deltay 1500

#  This one will switch off the y axis of the mouse while the key (right ctrl)
#  is kept pressed.
# kbd_fake_mouse_event 97 down deltay off  up deltay on

#  This one is the same as if you were pressing the left mouse button. (But
#  if you move your mouse then the button state will reset even if you keep
#  right ctrl down...)
# kbd_fake_mouse_event 97 down button1 pressed up button1 released


# Monitor type:

# Only one range can be specified for the moment.  Format:
# HorizSync min_kHz max_kHz
# VertRefresh min_Hz max_Hz

# Typical Horizontal sync ranges
# (Consult your monitor manual for Vertical sync ranges)
#
# 31.5 - 31.5 kHz (Standard VGA monitor, 640x480 @ 60 Hz)
# 31.5 - 35.1 kHz (Old SVGA monitor, 800x600 @ 56 Hz)
# 31.5 - 35.5 kHz (Low-end SVGA, 8514, 1024x768 @ 43 Hz interlaced)
# 31.5 - 37.9 kHz (SVGA monitor, 800x600 @ 60 Hz, 640x480 @ 72 Hz)
# 31.5 - 48.3 kHz (SVGA non-interlaced, 800x600 @ 72 Hz, 1024x768 @ 60 Hz)
# 31.5 - 56.0 kHz (high frequency, 1024x768 @ 70 Hz)
# 31.5 - ???? kHz (1024x768 @ 72 Hz)
# 31.5 - 64.3 kHz (1280x1024 @ 60 Hz)

# HorizSync 31.5 35.5
# VertRefresh 50 90

HorizSync 30 60
VertRefresh 50 90

# Montitor timings
#
# These are prefered over the default timings (if monitor and chipset
# can handle them). Not all drivers use them at the moment, and Mach32
# has its own syntax (see below).
# The format is identical to the one used by XFree86, but the label
# following the modeline keyword is ignored by svgalib.
#
# Here some examples:

# modeline "[EMAIL PROTECTED]"  43  640  664  780  848   480  483  490  504
# modeline "[EMAIL PROTECTED]"   50  800  856  976 1024   600  637  643  666
# modeline "[EMAIL PROTECTED]"  85 1024 1048 1376 1400   768  771  780  806

# It seems there is a need for a 512x384 mode, this timing was donated
# by Simon Hosie <[EMAIL PROTECTED]>: (it is 39kHz horz by 79Hz vert)

# Modeline "[EMAIL PROTECTED]"     25.175 512  522  598  646   384  428  436  
494

# Mark's 1024x768 @ 71 Hz
Modeline "[EMAIL PROTECTED]"  78.7  1024 1040 1200 1376   768  768  774  803


# Mach32 timings:

# e.g. Setup a 320x200 mode for the mach32:

define 320x200x32K 320x200x64K 320x200x16M 320x200x16M32
                     16 320 392 464 552 200 245 265 310

# These are REQUIRED for above mode, please edit to suit your monitor.
# (No, I won't pay for a new one)
# HorizSync 29 65
# VertRefresh 42 93.5

# Chipset type:
#
# Use one of the following force chipset type.
# Autodetects if no chipset is specified.
# If a chipset driver gives trouble, try forcing VGA.

# chipset VGA           # Standard VGA
# chipset EGA           # EGA
# chipset ET3000        # Tseng ET3000
# chipset ET4000        # Tseng ET4000
# chipset Cirrus        # Cirrus Logic GD542x
# chipset TVGA          # Trident TVGA8900/9000
# chipset Oak           # Oak Technologies 037/067/077
# chipset S3            # S3 chipsets
# chipset GVGA6400      # Genoa 6400
# chipset ARK           # ARK Logic
# chipset ATI           # old ATI VGA
# chipset Mach32        # ATI Mach32
# chipset ALI           # ALI2301
# chipset Mach64        # ATI Mach64
# chipset ET6000        # Tseng ET6000
# chipset VESA          # Very nicely behaved Vesa Bioses

chipset ARK

# EGA Color/mono mode:
# Required if chipset is EGA.
#
# Use one of the following digits to force color/mono:

# monotext  # Card is in monochrome emulation mode
# colortext # Card is in color emulation mode
colortext

# RAMDAC support:
# Some chipsets (e.g. S3 and ARK) allows specifying a RAMDAC type.
# If your RAMDAC is not autodetected, you can try specifying it.
# Do NOT specify a RAMDAC if you card uses the S3 Trio chipset
# (the RAMDAC is built in).

# Ramdac Sierra32K
# Ramdac SC15025
# Ramdac SDAC         # S3 SDAC
# Ramdac GenDAC       # S3 GenDAC
# Ramdac ATT20C490    # AT&T 20C490, 491, 492 (and compatibles)
# Ramdac ATT20C498    # AT&T 20C498
# Ramdac IBMRGB52x    # IBM RGB524, 526, 528 (and compatibles)

# Dotclocks:
# Some chipsets needs a list of dot clocks for optimum operation.  Some
# includes or supports a programmable clock chip.  You'll need to specify
# them here.

# Fixed clocks example:
# (The following is just an example, get the values for your card from
#  you XF86Config)

# Clocks 25.175 28.3 40 70 50 75 36 44.9 0 118 77 31.5 110 65 72 93.5

Clocks      25.00  28.32  39.33  71.90  50.00  76.49  35.94  44.25  127.49 
118.03  78.69  31.15 108.58  63.72  73.65  93.53


# Programmable clockchip example:

# Clockchip ICD2061A  # The only one supported right now





_/~~~~~~~~\___/~~~~~~\____________________________________________________
____/~~\_____/~~\__/~~\__________________________Mark_Phillips____________
____/~~\_____/[EMAIL PROTECTED]
____/~~\HE___/~~\__/~~\APTAIN_____________________________________________
____/~~\______/~~~~~~\____________________________________________________
__________________________________________________________________________
        "They told me I was gullible ... and I believed them!" 


Reply via email to