Date: Wed, 15 Apr 2009 13:54:30 -0500 From: Robert Noland <rnoland@FreeBSD.org> To: John Nielsen <lists@jnielsen.net> Cc: freebsd-x11@freebsd.org Subject: Re: r128 dual-head error Message-ID: <1239821670.2194.10.camel@balrog.2hip.net> In-Reply-To: <200904142212.07237.lists@jnielsen.net> References: <200904131902.22584.lists@jnielsen.net> <alpine.BSF.2.00.0904132127360.14259@wonkity.com> <200904142212.07237.lists@jnielsen.net>
next in thread | previous in thread | raw e-mail | index | archive | help
[-- Attachment #1 --] 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@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-x11 > To unsubscribe, send any mail to "freebsd-x11-unsubscribe@freebsd.org" -- Robert Noland <rnoland@FreeBSD.org> FreeBSD [-- Attachment #2 --] -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.11 (FreeBSD) iEYEABECAAYFAknmLWYACgkQM4TrQ4qfROOsQACdGJ5ZRE10O5+KKjLstkbkl/NF a/4AnRMBme12cNskAHsqqu6jqXnnQ+Xe =Tt5R -----END PGP SIGNATURE-----
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1239821670.2194.10.camel>
