Multi-Display Graphics Suites Compared
Bender writes "There's an interesting comparison at TR between the major graphics players' multi-desktop software/hardware suites, like NVIDIA's nView and Matrox DualHead. These suites provide monitor positioning, application-level window memory, multiple virtual desktops, and the like. This is necessarily a Windows-centric comparison, but it's interesting to consider how Linux, X, and various desktop managers would match up with these solutions in terms of features and abilities."
...not because of the desktop space that you lose, but because applications will still remember your desktop space as being double, and will leave some of your apps stranded off-screen. Maybe I was just unlucky, but neither software package fixed this for me.
Of course, you can still move main windows via keyboard shortcuts, but certain detachable, child windows of applications (eg, Winamp's Playlist) could not be accessed via keyboard shortcut to move, and were stuck off-screen. The only fix was to re-attach the second display, or uninstall/reinstall Winamp so that it would forget all of its screen positions.
I'm sure there's another way to fix window position memory configs (via registry and what-not), but really -- shouldn't the software take care of this for me? Neither software did much to help me once the second display was removed, and the screen resolution adjusted down to one display. Somewhat thoughtless, IMHO.
No.
What about Quartz acceleration, is it on both displays simultaneously, or just one at the time?
Both displays at once, given sufficient (64MB) VRAM.
Do the popups show up in the middle of one screen or split between the displays like on the Matrox/PC.
Dialog boxes and other messages are typically centered on the display containing the menu bar.
Apple did multiple screens first, and it shows up in the more elegant handling of interface elements across displays and the general flexibility of those multi-monitor options compared to the "divided" dialog boxes and hardware constraints of Windows.
Hpmh. I knew those windows users were freaks...Freaks I say!
I don't have a sig...Do you??
I am currently at work using 4 monitors all run by the Colorgraphic Predator video card. I don't know the technical details of the card (IANAT - i am not a techie) but i must say the setup i have kicks ass. the card is described here
Why do all the graphics card companies feel a need to come up with their own monitor spanning software, which is without exception, garbage. I mean, Windows sucks, but there is one thing they did *absolutely fucking right*, and that's their multi-monitor support.
It's beautiful. It works extremely well. It's flexible and well-supported.
Why must each of the graphics card companies reinvent the wheel, and make their wheel square, and connect in a different way?
I did IT with my current employer before moving up to my current programming job, and I remember how many types of graphics cards and versions of graphics drivers we went through before we found one that was even remotely acceptable. A particular version of the Matrox drivers for the Millenium G450 have a little checkbox hidden away during the install (and only during the install) that will let you install the "extra" support for Windows' multi-display.
Note to multi-display driver writers: No one (that I know at least) wants windows that maximize across monitors. No one wants toolbars that span across monitors. No one wants resize-handles on their maximized windows if you are kind enough to provide the option to NOT maximize across monitors. Not everyone wants both their monitors at the same resolution (GRR! that one really frustrates me). Not everyone can run both monitors at the same refresh rate, either. And NOT EVERYONE puts their second monitor to the right of the first one.
All of these things are handled flawlessly by Windows' multi-monitor support. The same multi-monitor support that's been there since Windows 98SE. (or was it Windows 98?) Let it do what it does best, and focus your energy somewhere less counter-productive, thanks.
Random and weird software I've written.
I just got my ATI Radeon 7500 working in X. Here are some things I found.
/. until the build is finished.
First my biggest problem was the card will only see monitors that are connected when last reset. I spent 2 days trying to get the card to see a monitor I connected after Linux had booted. It was just dumb luck that we had an extended power outage that drained my UPS. When I powered back up, I still had the monitor turned on, and it got initiliaed by the card.
Second the DVI port is the primary display, if you have both connected. I guess that makes sense, but I had them backwards in my head cause I have 2 VGA CRTs, and had to use an adaptor on the DVI port to hook up my (second) monitor.
I like to configure my XFree86 by just typing `X -configure`. That doesn't detect the second monitor (and due to a bug I'll get to in a second configures the primary monitor incorrectly). The configuration file created by X was a good starting point, but I would have to manually add the settings for the second monitor.
What was odd, is X was being displayed on my primary monitor, but the settings in the file were from my secondary. Looking at the log file created, it seems that the Radeon was reading the DCC information from the second monitor (and after I got both displays initilizing both monitors were being seen with the same DCC info even though they are very different displays).
What I ended up doing was searching the Internet for some sample XF86Config files that had Xinerama enabled. I found a few some even for the Radeon 7500. To get the correct monitor info. I just plugged one monitor into the real VGA port, started X and looked in the log for the timings. I then hard coded the values for my primay display to override the falsely detected DCC infomation (X gives you big warnings when you manual specify timings higher than the monitor reports, which normally would be a good thing, but in this case I was right, so I'll have to live with the warnings).
After I plugged in the right values, and added the approate lines to my "-configure" generated file I had X running on two different sized displays with my desktop being stretched across them.
Also note that DRI is disabled in X on the ATI Radeon 7500 when using Xinerama, which means no hardware accelorated OpenGL (just like in Windows on this card).
As for my window manager Enlightenment 0.16.5 it is somewhat Xinerama aware. There are a few little bugs. First it likes to put things were I don't have a desktop due to me running two different resolutions on the displays. That probally won't effect most people. The biggest pain is it doesn't maximize windows correctly when they are on the second head. I don't maximize much, so I have just learned to expand the windows to size by hand.
The virtual desktops and multiple desktops of Enlightenment work just as before, they are just twice as large now. I'm sure I could have as many as I wanted, only limited by memory. The pager display shows everything correctly, include the black hole where there is no desktop.
Applications tend to pop up menus half on one screen, half on the other, Enlightenment also suffers from this, but not as much as I usually am clicking in the middle of the screen, but around the shared edge things get annonying.
All in all I can live with it. I don't play games so OpenGL isn't a big deal. I have my webbrower and mail on one screen and an Eterm or two on my other where I'm doing work. What ever I'm focused on most I'll put on the main display. If I'm just compiling something big I it is nice to put it over on the second head so I can keep an eye on it, but focus on
NOTE: With nView, the two displays have to be beside each other under X.
This caused me to look at using multiple cards instead of multiple headed cards.
I have one 21" and two 17" monitors, and I wanted the primary display (21", middle, AGP) to be able to be upgraded seperately from the secondaries (PCI, one on either side of the primary), as I have no interest in spanning 3D games across screens. Granted, I could have done three with the Matrox card, but then I'd always have to upgrade to another 3-monitor card. The solution I went with was to have one nVidia AGP card for the primary (currently a TNT2 Ultra, to be upgraded later) and two GForce 2 PCI cards for the secondaries. The GF2s are plenty fast for 2D, and fast enough to run small 3D accelerated toys/apps/screensavers too. The only downsides are the use of more expansion slots than using a dual-headed card and that 3D acceleration won't span. The upsides are that each one is running full speed, they're completely independant so multiple resolutions/frequencies is less of a problem, and the primary display can be upgraded seperately from the secondaries. I believe I could also run seperate X servers on each card if that ever became useful.
So if you want spanning 3D acceleration or are low on expansion slots, go with a multihead card. Otherwise, think about doing it this way.
OK, so there isn't a lot of real content in this post, but I thought I'd share a setup success story. When doing multi-card multi-head systems I'd *highly* recommend sticking with the same chip line/maker, and I'd just as highly recommend it be nVidia. Getting these three cards working together couldn't have been simpler...