Comment 1 for bug 306735

Bryce Harrington (bryce) wrote :

This has been suggested and attempted several times already.

The problem is that, as I understand it, the way monitors work, they don't send an "I'm here!" signal to the computer that a handler can be attached to.

So, the alternate approach is to have some bit of code periodically poll the video card's outputs to see if anything is connected. And several people have had this idea independently, in X, KDE, GNOME, and elsewhere. Unfortunately, the BIOS call to do this generates a tiny lag in the system, which users note as a "flicker". The way this is typically implemented using xrandr calls also produces xrandr output in Xorg.0.log's, which bloats the file fairly quickly. So needless to say, each of those attempts ended up being reverted.

So that's why automatic detection on plug-in hasn't been possible so far. It is a very, very well known issue. Maybe someone will come up with a more clever solution some day, but it's not a trivial problem.

As far as the other various issues when plugging in monitors, yeah. Lots of known issues. See http://en.opensuse.org/GNOME/Multiscreen as one list I happen to have open in another window right now. Binary drivers seem to show the breakages more frequently than open source drivers, but I don't think there is any configuration that could be considered perfect. A few other issues I'm tracking:

* Need way to add new modes when they're not listed #283986

* Secondary monitor's max resolutions limited to LVDS's maximum 310366

* If disconnect while suspended, X doesn't realize the external monitor is gone. 217968

Anyway, as you can see, while the problem seems like a pretty obvious issue, it is actually a whole amalgam of different hard-to-fix issues. I do appreciate the time you've taken to write up this well written summary of the problem in general; trust me just about all of us X guys wince with you when seeing all the problems people have with projectors.

What I would suggest is instead of a wishlist bug, that you file a blueprint on projector support, and link to relevant bug reports for the specific problems that need solved. The reason I suggest this is not because I don't like wishlist bugs, but because there are many different individual bugs and blueprints provide a superior mechanism for tracking that. Thanks ahead of time.