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

Mike Meyer mwm at mired.org
Fri Jan 6 02:08:29 CET 2012


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.

> > Can you
> > maybe post your entire xorg.conf file.
>   http://sqrl.mcmaster.ca/~kahl/xorg.conf-2012-01-05
> 
> 1080x1920     2048x1152           1920x1200
> -----------
> |         |                    ---------------------
> |         |--------------------|                   |
> |         ||                  ||                   |
> | AsusV1  ||     Samsung1     ||      Apple1       |
> |         ||                  ||                   |
> |         ||                  ||                   |
> |         |-----------------------------------------
> |         |
> -----------
> 
>   Radeon2  |                Radeon1
>    :0.1    |                 :0.0
>            |    Radeon1b       |     Radeon1a
> 
> 
> 
> 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. 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. And I think I need a
second instance of xmobar as well.

> What makes ``Xinerama on'' unusable right now is that the monitors
> start panning around some virtual space I don't understand when I
> move the mouse beyond some of their edges, and don't pan back when I
> try the opposite edges.

Ugh. Never saw that with a Xinerama config. On the other hand,
changing drivers changed the behavior, so this may be an issue with
the driver.

    <mike



More information about the xmonad mailing list