Subject: Re: agp error: pci_mem_find: void region: can't map aperture
To: None <port-i386@netbsd.org>
From: Duncan McEwan <duncan@mcs.vuw.ac.nz>
List: port-i386
Date: 11/04/2002 17:19:31
Last week I posted to this list describing problems I was having getting
XFree86 4.2.1 running on a Dell C400 laptop which has the i830M graphics
chip.  This message is a summary of what I've learnt since then, and a
request for pointers to where to go next.

Thanks to Nicholas Joly, Matthias Drochner, Herb Peyerl and Shoichi Tomii for
their suggestions so far.

Firstly, the unresolved symbols I was seeing were fixed by specifying that the
server should load the "xaa" and "ddc" modules.

The failure to open /dev/agpgart was explained as being due to NetBSD not yet
properly supporting the i830M.  Nicholas sent me some kernel patches which he
described as "some preliminary work for a new i830 agp driver".  With a
kernel incorporating those patches dmesg now shows
  ...
  agp0 at pchb0: aperture at 0xe0000000, size 0x8000000
  vga1 at pci0 dev 2 function 0: Intel 82830MP Integrated Video (rev. 0x03)
  ...

And rather than telling me "/dev/agpgart (Device not configured)", the X
server now says:

  ...
  (--) I810(0): Chipset: "i830"
  (--) I810(0): Linear framebuffer at 0xE0000000
  (--) I810(0): IO registers at addr 0xF4F80000
  (II) I810(0): detected 1024K stolen memory.
  (II) I810(0): I810CheckAvailableMemory: 208896k available
  (==) I810(0): Will alloc AGP framebuffer: 8192 kByte
  ...

which looks promising.  But it still crashes after loading the VBE module.

  ...
  (II) Loading sub module "vbe"
  (II) LoadModule: "vbe"
  (II) Loading /usr/X11R6/lib/modules/libvbe.a
  (II) Module vbe: vendor="The XFree86 Project"
	  compiled for 4.2.1, module version = 1.0.0
	  ABI class: XFree86 Video Driver, version 0.5

  Fatal server error:
  Caught signal 11.  Server aborting
  ...

Matthias told me

> VBE did almost never work for me in XF86. On i810, it modified the card state
> behind X's back. (I placed a comment in agp_i810 about a workaround in a
> fatal situation.)
>        Option  "NoVBE"
> avoids these problems.

But when I tried 'Option "NoVBE"' (in the Device section for the i810) X still
attempted to load the vbe module and I got the same crash...

I'd appreciate it if someone could explain what VBE is and why XFree86 insists
on loading it even when I've told it not to!  Also whether it is likely to
be the cause of the seg fault that is killing my X server and if there is
anyway of stopping it from being loaded.

Finally Shoichi Tomii noted that you can in fact get XFree86 working on this
hardware, albeit only with 8-bit colour if you specify the driver as "vesa".
This does indeed work, so at least I have a limited form of X running on this
laptop.

Thanks,

Duncan