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
--=-bi9Skw377Z9L6VoBuB2c Content-Type: text/plain Content-Transfer-Encoding: quoted-printable 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 CR= T. > > > > Multiple screens aren't done with Xinerama any more. xrandr is the new > > way. >=20 > I don't think r128 is that modern.. >=20 > > > 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. >=20 > I did but without much luck. >=20 > > Section "Monitor" > <snip> > > Option "PreferredMode" "1920x1200" > > Option "Position" "1024 0" >=20 > These options parsed fine but generated warnings about the fact that they= =20 > were ignored. >=20 > Running with a single active "Screen" section works fine, but xrandr give= s=20 > no indication that it's aware of more than one head/display. >=20 > Looking through the r128_driver.c code it looks like the IsPrimary and=20 > IsSecondary booleans only get set to true if there is more than one scree= n=20 > defined by the configuration. >=20 > I did some poor man's debugging of the original issue (by adding some log= =20 > print statements to the code). The function which is throwing the "invali= d=20 > argument" error is pci_device_map_range, called from R128MapMMIO. With my= =20 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=20 > during pre-init. This succeeds for both screens (and is followed by=20 > corresponding UnMap calls). It is called again in ScreenInit. The call fo= r=20 > the primary screen succeeds, but the call for the secondary screen fails.= =20 > The arguments from the secondary screen's ScreenInit call are _exactly_ t= he=20 > same as they are in the pre-init call so it's either a really weird bug o= r=20 > something is happening to pScrn structure in the interim to make it=20 > "invalid."=20 >=20 > I didn't follow the chain of events any farther than that. Is there a goo= d=20 > forum on e.g. freedesktop to get some help with this if it's not FreeBSD- > specific? >=20 > Thanks, >=20 > JN >=20 > _______________________________________________ > 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" --=20 Robert Noland <rnoland@FreeBSD.org> FreeBSD --=-bi9Skw377Z9L6VoBuB2c Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.11 (FreeBSD) iEYEABECAAYFAknmLWYACgkQM4TrQ4qfROOsQACdGJ5ZRE10O5+KKjLstkbkl/NF a/4AnRMBme12cNskAHsqqu6jqXnnQ+Xe =Tt5R -----END PGP SIGNATURE----- --=-bi9Skw377Z9L6VoBuB2c--
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?1239821670.2194.10.camel>