r128 dual-head error
Robert Noland
rnoland at FreeBSD.org
Wed Apr 15 18:55:36 UTC 2009
On Tue, 2009-04-14 at 22:12 -0400, John Nielsen wrote:
> On Monday 13 April 2009, Warren Block wrote:
> > On Mon, 13 Apr 2009, John Nielsen wrote:
> > > I'm trying to get dual-head + Xinerama going on a Dell Inspiron 4000
> > > laptop so I can use both the integrated flat panel and an external CRT.
> >
> > Multiple screens aren't done with Xinerama any more. xrandr is the new
> > way.
>
> I don't think r128 is that modern..
>
> > > From what I can tell I have my xorg.conf configured properly and it's
> > > trying to do the right thing but it's throwing an error when
> > > initializing the secondary screen:
> > >
> > > (EE) R128(1): Unable to map MMIO aperture. Invalid argument (22)
> >
> > Don't know about r128 specifically, but that's an old-style xorg.conf.
> >
> > > How should I go about troubleshooting this?
> >
> > Rework your xorg.conf, example below.
>
> I did but without much luck.
>
> > Section "Monitor"
> <snip>
> > Option "PreferredMode" "1920x1200"
> > Option "Position" "1024 0"
>
> These options parsed fine but generated warnings about the fact that they
> were ignored.
>
> Running with a single active "Screen" section works fine, but xrandr gives
> no indication that it's aware of more than one head/display.
>
> Looking through the r128_driver.c code it looks like the IsPrimary and
> IsSecondary booleans only get set to true if there is more than one screen
> defined by the configuration.
>
> I did some poor man's debugging of the original issue (by adding some log
> print statements to the code). The function which is throwing the "invalid
> argument" error is pci_device_map_range, called from R128MapMMIO. With my
This is in libpciaccess. 22 is EINVAL, the call may be failing on mtrr
or just the attempt to remap the same register space a second time. The
problem is either in libpciaccess or the r128 driver.
robert.
> dual-screen xinerama config, R128MapMMIO is called once for each screen
> during pre-init. This succeeds for both screens (and is followed by
> corresponding UnMap calls). It is called again in ScreenInit. The call for
> the primary screen succeeds, but the call for the secondary screen fails.
> The arguments from the secondary screen's ScreenInit call are _exactly_ the
> same as they are in the pre-init call so it's either a really weird bug or
> something is happening to pScrn structure in the interim to make it
> "invalid."
>
> I didn't follow the chain of events any farther than that. Is there a good
> forum on e.g. freedesktop to get some help with this if it's not FreeBSD-
> specific?
>
> Thanks,
>
> JN
>
> _______________________________________________
> freebsd-x11 at freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-x11
> To unsubscribe, send any mail to "freebsd-x11-unsubscribe at freebsd.org"
--
Robert Noland <rnoland at FreeBSD.org>
FreeBSD
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 196 bytes
Desc: This is a digitally signed message part
Url : http://lists.freebsd.org/pipermail/freebsd-x11/attachments/20090415/c0eddf73/attachment.pgp
More information about the freebsd-x11
mailing list