[KLUG Members] Re: Dual Monitors + video cards in linux -- See the Xinerama HOWTO

Bryan J. Smith members@kalamazoolinux.org
11 Feb 2002 22:28:12 -0500


On Mon, 2002-02-11 at 22:01, Adam Bultman wrote:
> Hello, folks.  I'm getting a new monitor, and this means that I can run 
> dual monitors on my linux box.  I've been tinkering for a bit, and 
> searching the net a bit, but not finding much to my chagrin.  Here's what 
> I've got:
> Red Hat 7.2, Xfree 4.1.0
> Card one (AGP) : MAtrox Millennium G200, 8 MB on a Viewsonic A70
> Card Two: (PCI): ATI Xpert@work, 8MB on a Samsung Syncmaster 500s.  
> I ran XFree86 -configure, which created the dual-head config file, and if 
> I run XFree86 -xf86config XF86Config, it pops up Displays on Both screens, 
> which is nice (but the mouse is tweaked).  This makes me think I can do 
> it, but again-- the mouse doesn't work, and I can't get much to pop up on 
> there.  
> 1. Are thre any utils that will help me (Xinerama is mentioned, but I 
> haven't seen much of it-- apart from being an option passed to XFfree86).

XFree86 4.x natively supports multiple monitors.  By default, each
monitor is setup as its own Xserver display -- i.e. Monitor0 is display
:0, and Monitor1 is display :1, etc...  You then use Xinerama to bind
other displays to :0 so :1 (and another other) monitors are targetable
as :0 (and :1, etc... no longer exists).  You enable Xinerama by
including it in the X startup string (usually under /etc/X11/xdm/,
/etc/X11/gdm or /etc/X11/kdm, depending on your XDM manager -- X11,
Gnome or KDE).

The Xinerama HOWTO covers all this:
http://www.linuxdoc.org/HOWTO/Xinerama-HOWTO.html

Unless you are using dual-headed Matrox or nVidia cards with an "unified
frame buffer" (i.e. one card), you won't get hardware-based OpenGL
acceleration.  But both Matrox and nVidia have excellent tools for
Linux, and Matrox has even ported its "Powerdesk" suite.  I have several
nVidia GeForce2 MX dual-headed cards and I'm getting hardware OpenGL
acceleration over _both_ monitors.

[ BTW, if you don't know what I'm talking about when I say :0, just know
that by default, your default display is "localhost:0".  X-Windows is
"network aware" which means you can "target" other displays on other
systems -- e.g., myserver:0, myworkstation:0, VNCserver:50, etc...  with
the "-display blah:#" option, or my setting the variable
"DISPLAY=blah:#".  Remember that UNIX is _multiuser_ and you can have
multiple users on multiple displays on the same system, even if the
displays are "virtual" (i.e. non-physical -- e.g., using the X virtual
frame buffer or something like VNC). ]

> 2. Have any of you done this?  IT would totally kick butt if I could run 
> dual monitors, especially if they ran as nice as on windows.  (without the 
> crashing, of course).

Yes, Xinerama supports multiple monitors.  I have done it with 4
monitors before -- both dual-headed G200 and dual-headed nVidia GF2MX
cards.

> I fear I may have to run dual monitors in my windows box, which, as you 
> all know, would be a waste...

Nope.  XFree86 4.x works great.  It can even do different resolutions on
different card/monitor combos (_unlike_ Windows 2000).

-- Bryan

-- 
Bryan J. Smith, Engineer             mailto:b.j.smith@ieee.org
AbsoluteValue Systems, Inc.          http://www.linux-wlan.org
SmithConcepts, Inc.               http://www.SmithConcepts.com
--------------------------------------------------------------
Windows:  Reboot, reinstall, wipe clean, downtime for upgrades
Linux:  Check log, restart service, upgrade live, never reboot