[vox-tech] monitor troubles

Rick Moen vox-tech@lists.lugod.org
Wed, 21 Apr 2004 21:08:34 -0700


[Kudos to Pete for calling your attention to /dev/agpgart.]

Quoting Jennifer Stickel (jrstickel@ucdavis.edu):

> It looks like this might be my problem.  I checked and there is 64MB of
> video RAM for this card..., 

Hold that thought.  We'll get back to it.

> but this is what I am getting in my XF86config.0.log file
> <big snip>

> (II) I810(0): VESA VBE OEM: Intel(r)865G Graphics Chip Accelerated VGA
BIOS
> (II) I810(0): VESA VBE OEM Software Rev: 1.0
> (II) I810(0): VESA VBE OEM Vendor: Intel Corporation
> (II) I810(0): VESA VBE OEM Product: Intel(r)865G Graphics Controller
> (II) I810(0): VESA VBE OEM Product Rev: Hardware Version 0.0
> (II) I810(0): Integrated Graphics Chipset: Intel(R) 865G
> (--) I810(0): Chipset: "865G"
> (--) I810(0): Linear framebuffer at 0xE8000000
> (--) I810(0): IO registers at addr 0xFEB80000
> (II) I810(0): detected 892 kB stolen memory.
> (EE) GARTInit: Unable to open /dev/agpgart (No such file or directory)
> (WW) I810(0): /dev/agpgart is either not available, or no memory is available
> for allocation.  Using pre-allocated memory only.
> (WW) I810(0): VideoRAM reduced to 892 kByte (limited to available sysmem)
> (--) I810(0): Pre-allocated VideoRAM: 892 kByte
> (--) I810(0): VideoRAM: 892 kByte


> I did build it as a module into the kernel and modprobe -a agpgart gives
> 
> WARNING: Module agpgart already in kernel
> 
> I also tried modprobe intel-agp
> 
> This one eliminates the error message and by specifying the amount of 
                                               ^^^^^^^^^^^^^^^^^^^^^^^^
> video RAM in XF86config I don't get any error messages in the 
  ^^^^^^^^^^^^^^^^^^^^^^^
> XF86config.0.log file.  But I do get these lines

Hold that thought, too.  I'll be getting to my point in a minute.

> (II) I810(0): Not using mode "1024x768" (no mode of this name)
> (II) I810(0): Increasing the scanline pitch to allow tiling mode (640 -> 
> 1024).
> (--) I810(0): Virtual size is 640x480 (pitch 1024)
> (**) I810(0):  Built-in mode "640x480"
> (II) I810(0): Attempting to use 73Hz refresh for mode "640x480" (41)
> (--) I810(0): Display dimensions: (300, 220) mm
> (--) I810(0): DPI set to (54, 55)


OK.  Your Intel 865G is one of a series of motherboard-integrated video
chipsets produced by Intel, over the last few years (i810, i830, i830M,
i845, i865, i865G, i830M, i845G, i852GM, i855G, i852GM, i855GM).  All of
those chipsets actually have _zero_ video memory.  Zip.  Nada.  Instead,
they dip into main system RAM and use that, by way of some weird system
facility called "GART" that's part of the AGP bus -- thus the
/dev/agpgart device file, which is somehow used for that purpose.

The kernel you're running needs to include _both_ generic agpgart
support and the particular video chip's matching driver -- in addition
to using a modern enough XFree86 server to be able to usefully talk to
the kernel layers.

_Before_ you "specified the amount of video RAM in XF86Config", the
XFree86 logfile indicated that, because of problems addressing
/dev/agpgart, only 892 kB of RAM could be used.  That indicates a
fundamental kernel (or device file) problem.  Therefore, forcing XFree86 
to think there's a larger amount of video RAM isn't useful.  You need to
figure out the kernel problem (well, or at least make it go away  ;->  ).

The easier portion of that investigative path involves verifying that
/dev/agpgart exists and has sensible ownership / permissions.  Something
like:

crw-rw----    1 root     video     10, 175 2001-05-30 06:08 agpgart

But remember, a device file is merely a file-like interface to a
software or hardware structure.  The device file being present in no way
guarantees that talking to it does anything useful.  That's the larger
portion of the problem, and very likely the best way to address it is to
get source code for a really recent kernel version, and craft your own
kernel to make absolutely sure that you have all necessary kernel
support for your video card.

If that sounds like way too much trouble, I agree.  That's why I
personally am leery of motherboard-integrated video, and would in your
shoes go find a cheap used Matrox G400 (or such) instead:  The former's
trait of stealing system RAM strikes me as cheesy, and the requirement
for special kernel-level driver support seems like (if nothing else) way
too much hassle just for generic video.

-- 
Cheers,           "I don't like country music, but I don't mean to denigrate
Rick Moen         those who do.  And, for the people who like country music,
rick@linuxmafia.com         denigrate means 'put down'."      -- Bob Newhart