i810 patch to swap Xinerama screens using mergedfb
Alan Hourihane
alanh at fairlite.demon.co.uk
Fri Jan 12 07:42:48 PST 2007
Submit the patch to bugs.freedesktop.org and I'll apply it.
Alan.
On Fri, 2007-01-12 at 13:40 +0100, emisca wrote:
> I've read the code... there is a logic that assigns the first logical
> xinerama screen to the screen at bottom or left. The screen position
> doesn't permit to swap the logical xinerama screen number.
> My patch does it. Radeon man page explain this in that way:
> Option "MergedXineramaCRT2IsScreen0" "boolean"
> By default the pseudo-Xinerama provided by the driver makes the
> left-most or bottom head Xinerama screen 0. Certain Xinerama-
> aware applications do special things with screen 0. To change
> that behavior, use this option.
> The default value is undefined.
>
> This is what I've implemented on i810 driver...
>
> 2007/1/12, Alan Hourihane <alanh at fairlite.demon.co.uk>:
> > Have you tried using LeftOf or Below, instead of what you've probably
> > got now is RightOf or Above ??
> >
> > Alan.
> >
> > On Fri, 2007-01-12 at 12:34 +0100, emisca wrote:
> > > nobody cares about this... I find it very useful, ati driver has a
> > > similar behaviour, and I like to see it or a similar thing included
> > > upstream. Should it be possible?
> > >
> > > 2007/1/5, Emilio Scalise <emisca.ml at gmail.com>:
> > > > I've made a simple patch to swap logical screens exported by the fake
> > > > xinerama exposed by mergedfb. It's similar to the setting present in
> > > > the radeon driver "MergedXineramaCRT2IsScreen0". I've used a notation
> > > > similar to i810 option's names.
> > > > Now that I've found where to get latest agpgart modules, I will try it
> > > > using Ross Burton source debian packages (thanks Ross for those.. ;-)
> > > > ).
> > > >
> > > > This is the patch.. it works well for me........ (it's against 1.7.2
> > > > version, main branch, but it should apply also on newer versions).
> > > > Please merge it (if you like it)....
> > > >
> > > > --- i830_driver.c 2006-10-13 13:52:26.000000000 +0200
> > > > +++ /home/emi/i810drivnew.c 2007-01-03 13:42:23.000000000 +0100
> > > > @@ -268,6 +268,7 @@
> > > > OPTION_SECONDHSYNC,
> > > > OPTION_SECONDVREFRESH,
> > > > OPTION_SECONDPOSITION,
> > > > + OPTION_SECONDISSCRN0,
> > > > OPTION_INTELXINERAMA
> > > > } I830Opts;
> > > >
> > > > @@ -295,6 +296,7 @@
> > > > {OPTION_SECONDHSYNC, "SecondMonitorHorizSync",OPTV_STRING,
> > > > {0}, FALSE },
> > > > {OPTION_SECONDVREFRESH,"SecondMonitorVertRefresh",OPTV_STRING,{0}, FALSE },
> > > > {OPTION_SECONDPOSITION,"SecondPosition",OPTV_STRING, {0}, FALSE },
> > > > + {OPTION_SECONDISSCRN0,"MergedXineramaSecondIsScreen0",
> > > > OPTV_BOOLEAN, {0}, FALSE },
> > > > {OPTION_INTELXINERAMA,"MergedXinerama",OPTV_BOOLEAN, {0}, TRUE},
> > > > {-1, NULL, OPTV_NONE, {0}, FALSE}
> > > > };
> > > > @@ -4685,6 +4687,13 @@
> > > > }
> > > > xfree(tempstr);
> > > > }
> > > > +
> > > > + /* If OPTION_SECONDISSCRN0 is true then swap screens */
> > > > + if(xf86GetOptValBool(pI830->Options, OPTION_SECONDISSCRN0, TRUE)) {
> > > > + if (pI830->SecondIsScrn0) pI830->SecondIsScrn0= FALSE;
> > > > + else pI830->SecondIsScrn0= TRUE;
> > > > + }
> > > > +
> > > > if((s = (char *)xf86GetOptValString(pI830->Options, OPTION_METAMODES))) {
> > > > pI830->MetaModes = xalloc(strlen(s) + 1);
> > > > if(pI830->MetaModes)
> > > >
> > > _______________________________________________
> > > xorg mailing list
> > > xorg at lists.freedesktop.org
> > > http://lists.freedesktop.org/mailman/listinfo/xorg
> >
> >
More information about the xorg
mailing list