I got a nice 24 inch Dell flat panel monitor for work. Here's the good:
Re: installing drivers, I've messed around with screen cloning and dual screen before the xrandr 1.2 days and it was a pain. Well, when I got the monitor xrandr 1.2 was not yet released. Gentoo made it easy to upgrade the drivers. And when new betas were released and the tree wasn't updated it was 3 commands for me to update (cp the ebuild to the new version, ebuild digest and ebuild newversion).
Re: Beryl. I'd been growing quite accustomed to beryl, despite its dislike of java apps. When I'm in dual screen mode, the screen is too wide for accelerated X to work. According to Keith Packard this can be coded around (as is done for Macs/Windows drivers with the intel chipset). I'm not sure if the work is scheduled at the moment. But I much prefer dual screen to no beryl....
And now some notes showing how xrandr1.2 is (for people who want to give presos or whatnot):
With the 24 inch plugged into the vga port of my laptop, it automatically comes up in cloned mode (Though the virtual size of my laptop is the physical size of my vga monitor....).
To enable dual screen run a command like this:
xrandr --output LVDS --left-of VGA --auto
To turn off the VGA monitor:
xrandr --output VGA --off
To go back to "clone" mode:
xrandr --output VGA --auto
I've got two 17" monitors in a dual screen setup and beryl works fine. Is
it because your resolution is so ridiculously high on a 24" screen that GL
can't handle resolutions that high on the 24" screen alone?
Like I noted in the dual screen configuration the screen is too wide for
accelerated X. The virtual resolution is 3320x1200. This is with an intel
chipset.
Yes, it's the same chip [that's in the Macbook], so we just need to fix the driver. The solution here is to split the frame buffer into two pieces and manage them separately. That causes extra overhead when rendering as all operations must be translated, clipped and drawn twice. It's not a terribly difficult concept, it's just a lot of typing. Fixing DRI may be a bit more complicated as we'll have to expand the interface to describe the set of frame buffers. And, note that this solution cannot make the larger monitors work -- you still have a limit of 2048 pixels per monitor.