[xmonad] How to manage three monitors on two graphics cards?

Wolfram Kahl kahl at cas.mcmaster.ca
Fri Jan 6 02:31:59 CET 2012


On Thu, Jan 05, 2012 at 05:08:29PM -0800, Mike Meyer wrote:
> On Thu, 5 Jan 2012 19:16:28 -0500
> Wolfram Kahl <kahl at cas.mcmaster.ca> wrote:
> > On Thu, Jan 05, 2012 at 03:53:47PM -0400, Norbert Zeh wrote:
> > I am running to equal ATI cards with the radeon driver.
> > 
> > > > (2) In xorg.conf ServerFlags:
> > > >        Option    "Xinerama" "true"
> > > > 
> > > >      Now xrandr does not work anymore, and xmonad sees one big
> > > > area.
> > > 
> > > Indeed, xrandr and xinerama are incompatible.  Do you need xrandr?
> > I just knew no other tool that produces that kind of information...
> 
> Xrandr is the preferred solution. Xinerama has missing functionality
> and vague specs.

However:

 * With Xinerama on, xrandr is not available.

 * With Xinerama off, I have two displays,
   and it appears that not only xmonad cannot move windows between the two.

> [...]
> > 
> > Right now, with Xinerama off, I get:
> > On DISPLAY :0.0:
> >  $ xrandr
> > Screen 0: minimum 320 x 200, current 3968 x 1200, maximum 8192 x 8192
> > DVI-0 connected 1920x1200+2048+0 (normal left inverted right x axis y
> > axis) 495mm x 310mm 1920x1200      59.9*+
> > DVI-1 connected 2048x1152+0+0 (normal left inverted right x axis y
> > axis) 510mm x 287mm 2048x1152      59.9*+
> >    ...
> >  $ ghc -e "Graphics.X11.openDisplay [] >>=
> > Graphics.X11.Xinerama.getScreenInfo" Xlib:  extension "XINERAMA"
> > missing on display ":0.0". [Rectangle {rect_x = 0, rect_y = 0,
> > rect_width = 3968, rect_height = 1200}]
> > 
> > I consider this as wrong and would expect two separate rectangles to
> > be reported for the two outputs DVI-0 and DVI-1.
> > (That was probably the case while the second card was deactivated.)
> 
> This is correct for an xrandr config.

I wanted to say, more precisely, that I consider the output of
Graphics.X11.Xinerama.getScreenInfo to be either wrong,
or inappropriate for xmonad to base its screen subdivisions on.

> The two monitors (DVI-1 and
> DVI-1) are views into a single logical screen (0). DVI-0 is a
> 1920x1200 view whose left edge is at 2048 in the logical screen. DVI-1
> is a 2048x1152 view whose left edge is at the left edge of the logical
> screen. Programs that properly support xrandr will get all that
> information and work properly.
> 
> I'm on an extended trip, and can't really play with multiple cards,
> but with one card and two monitors, I get that kind of list (one
> logical screen with two monitors) from xrandr. Xmonad seems to work
> ok. Not sure I like it, but I switched from wmii to xmonad while on
> the trip, so haven't configured it for a multihead system, and
> probably won't be doing that anytime soon.
> 
> Anyway, the mouse will move between the two displays correctly when I
> move the mouse. Using the "switch screen" commands in the default
> config switches focus. The two screens do seem to be using the same
> stack, which causes some interesting behaviors.

That is what I consider ``normal xmonad behaviour'',
and I had that with two monitors on one card as well.
Now I would like that with three monitors,
and I just happen to have them on two cards...


Wolfram



More information about the xmonad mailing list