After years of assuming I'd probably never set my system up with
multiple monitors, I've decided to go ahead and do it. I've watched
with some interest as various new schemes for doing it have emerged over
the years (Xinerama, and now lately RandR), but I've always assumed that
if nothing else, good old Zaphod mode would always be around, since it's
built right into the way X11 numbers $DISPLAY (0:0, 0:1, 0:2...etc.).
It's been around so long, it's older than Linux itself.
Lately, I've been reading a lot of listserv and newsgroup posts from
developers telling various people in forums that if they want Zaphod
mode, they're more or less strange odd creatures who ought to be ashamed
of themselves. The driver developers don't want to support it anymore.
It's not so much a problem in the X server as in each of the individual
video drivers for the various cards. I've probably read seven or eight
different threads like this now, so it's odd that the common trend in
all of them is that each of these users is told no one else but them
uses it. (Apparently a lot do.)
Anyway, Zaphod is what I want. I don't care that it won't let me drag
windows between monitors. That's precisely the advantage of it. Many
applications are written with such an assumption of a single display
that it's best not to disappoint them. I don't want to worry about what
a fullscreen game will think of my multihead setup. I don't want to see
dialog windows (or anything else really) popping up, half on one monitor
and half on another. I don't want to have to setup the arrangement of
my desktop so that it's arranged to not look rediculous at the point
where the two monitors divide the screen. It's all just simpler if we
have two screens that are completely separate, and the only magic object
that's able to move between them is the mouse pointer.
X11 has been able to do this since the 80's.
But now we're in a brave new world where "nobody wants to do that"
(other than seven or eight people on various forums, and those are just
the ones who complained). I suppose I shouldn't be surprised. They say
we have Wayland in our future too, which we're assured will have some
kind of way to run apps on a remote desktop that will certainly be at
least as good as running a VNC app on Windows (oh joy). While we're at
it, why don't we get rid of this multiple desktops thing that most X11
window managers support -- nobody does that on Windows either, so surely
that's probably another thing that nobody on Linux really uses. We
should definitely find all the window managers that support that and
strip that feature out of them for everyone's own good.
Ok, I suppose I should quit ranting. It's just been a trend now for the
past five years or so that I've been seeing upstream developers making
"improvements" to Linux that are so basic to the infrastructure that no
distro can fight them (PolicyKit, Wayland, goodbye Zaphod, udev, etc.).
I normally don't complain about what the developers do, since it's not
me doing the programming, but I think we should be able to make an
exception for things that, a) affect us all, and b) are so basic to the
way modern Linux systems work that not even the leadership of a major
distro can say jack about it. In cases like this, I think we should
have a right to complain, because in this instance, saying that if you
don't like it you can start your own fork is like saying that you're
free to fork the entire GNU/Linux platform. Technically it's true, but
it's also not reasonable or helpful. (Nobody is going to do that.)
So I am a bit disappointed when they decide behavior that's been an
assumed part of the way Unix systems act for over twenty years is
something nobody cares about, when then users complain, each user is
told individually that they're the only ones who use that feature...all
of them.
I'm not complaining that we have RandR now. I think it's great. One of
X11's greatest weaknesses has always been that before now, you couldn't
really make any big configuration changes while the X server is running.
Now, thanks to RandR, you can do almost anything with your desktop
running and active, and you don't even need root access. You can't
configure Zaphod type multihead that way, but that's fine -- you
couldn't do that before either (nothing gained, nothing lost). But
RandR lets you make almost any other desktop geometry change as a
regular user without restarting X, and I think that's great.
RandR (and its predecessor, Xinerama) both assume though that if you're
doing multihead, you want one big screen that spans multiple monitors.
Nice if that's what you want, but as detailed above, there are good
reasons why you might prefer otherwise. For example, on my system, I
have a landscape mode main monitor, and a secondary monitor rotated
sideways (portrait mode) to the left of it. That means that if I were
to adopt some kind of RandR/Xinerama type spanned desktop, I'd have a
choice: I could have a desktop that's shaped like some kind of "L", or
a desktop that's shaped like a sideways "T". I don't think I really
like either of those very much. It's very weird, and many of my apps
will probably think so too, especially when I try to fullscreen their
windows. Instead of desktops shaped like alphabet soup, why not have
separate logical screens? I don't mind that I can't move windows
between them. I don't want the desktops to know about eachother anyway.
It's simpler that way.
There are Xinerama "hints" that apps which support Xinerama are supposed
to use to help with this, which I think RandR is supposed to respect.
The problem with this is the same as the problem with Wayland's
expectation that clients will take care of their own network
transparency needs: As soon as you leave it to the individual programs,
you will have varying levels of support in each one. Some will be
paragons of good behavior, others will be useless. You can only make a
feature truly available to all when it's provided as an OS feature.
There will still be programs that misbehave, but they'll have to try
much harder at it.
I think I'm probably most irked by the claims being made by some
developers that X doesn't feature network transparency anyway, thus
they're not really taking away anything that we really had. This, in
spite of the daily experiences of anyone who's ever done 'ssh -Y' and
seen that, shockingly, it actually works pretty well.
--
+ Brent A. Busby + "We've all heard that a million monkeys
+ Sr. UNIX Systems Admin + banging on a million typewriters will
+ University of Chicago + eventually reproduce the entire works of
+ James Franck Institute + Shakespeare. Now, thanks to the Internet,
+ Materials Research Ctr + we know this is not true." -Robert Wilensky
multiple monitors, I've decided to go ahead and do it. I've watched
with some interest as various new schemes for doing it have emerged over
the years (Xinerama, and now lately RandR), but I've always assumed that
if nothing else, good old Zaphod mode would always be around, since it's
built right into the way X11 numbers $DISPLAY (0:0, 0:1, 0:2...etc.).
It's been around so long, it's older than Linux itself.
Lately, I've been reading a lot of listserv and newsgroup posts from
developers telling various people in forums that if they want Zaphod
mode, they're more or less strange odd creatures who ought to be ashamed
of themselves. The driver developers don't want to support it anymore.
It's not so much a problem in the X server as in each of the individual
video drivers for the various cards. I've probably read seven or eight
different threads like this now, so it's odd that the common trend in
all of them is that each of these users is told no one else but them
uses it. (Apparently a lot do.)
Anyway, Zaphod is what I want. I don't care that it won't let me drag
windows between monitors. That's precisely the advantage of it. Many
applications are written with such an assumption of a single display
that it's best not to disappoint them. I don't want to worry about what
a fullscreen game will think of my multihead setup. I don't want to see
dialog windows (or anything else really) popping up, half on one monitor
and half on another. I don't want to have to setup the arrangement of
my desktop so that it's arranged to not look rediculous at the point
where the two monitors divide the screen. It's all just simpler if we
have two screens that are completely separate, and the only magic object
that's able to move between them is the mouse pointer.
X11 has been able to do this since the 80's.
But now we're in a brave new world where "nobody wants to do that"
(other than seven or eight people on various forums, and those are just
the ones who complained). I suppose I shouldn't be surprised. They say
we have Wayland in our future too, which we're assured will have some
kind of way to run apps on a remote desktop that will certainly be at
least as good as running a VNC app on Windows (oh joy). While we're at
it, why don't we get rid of this multiple desktops thing that most X11
window managers support -- nobody does that on Windows either, so surely
that's probably another thing that nobody on Linux really uses. We
should definitely find all the window managers that support that and
strip that feature out of them for everyone's own good.
Ok, I suppose I should quit ranting. It's just been a trend now for the
past five years or so that I've been seeing upstream developers making
"improvements" to Linux that are so basic to the infrastructure that no
distro can fight them (PolicyKit, Wayland, goodbye Zaphod, udev, etc.).
I normally don't complain about what the developers do, since it's not
me doing the programming, but I think we should be able to make an
exception for things that, a) affect us all, and b) are so basic to the
way modern Linux systems work that not even the leadership of a major
distro can say jack about it. In cases like this, I think we should
have a right to complain, because in this instance, saying that if you
don't like it you can start your own fork is like saying that you're
free to fork the entire GNU/Linux platform. Technically it's true, but
it's also not reasonable or helpful. (Nobody is going to do that.)
So I am a bit disappointed when they decide behavior that's been an
assumed part of the way Unix systems act for over twenty years is
something nobody cares about, when then users complain, each user is
told individually that they're the only ones who use that feature...all
of them.
I'm not complaining that we have RandR now. I think it's great. One of
X11's greatest weaknesses has always been that before now, you couldn't
really make any big configuration changes while the X server is running.
Now, thanks to RandR, you can do almost anything with your desktop
running and active, and you don't even need root access. You can't
configure Zaphod type multihead that way, but that's fine -- you
couldn't do that before either (nothing gained, nothing lost). But
RandR lets you make almost any other desktop geometry change as a
regular user without restarting X, and I think that's great.
RandR (and its predecessor, Xinerama) both assume though that if you're
doing multihead, you want one big screen that spans multiple monitors.
Nice if that's what you want, but as detailed above, there are good
reasons why you might prefer otherwise. For example, on my system, I
have a landscape mode main monitor, and a secondary monitor rotated
sideways (portrait mode) to the left of it. That means that if I were
to adopt some kind of RandR/Xinerama type spanned desktop, I'd have a
choice: I could have a desktop that's shaped like some kind of "L", or
a desktop that's shaped like a sideways "T". I don't think I really
like either of those very much. It's very weird, and many of my apps
will probably think so too, especially when I try to fullscreen their
windows. Instead of desktops shaped like alphabet soup, why not have
separate logical screens? I don't mind that I can't move windows
between them. I don't want the desktops to know about eachother anyway.
It's simpler that way.
There are Xinerama "hints" that apps which support Xinerama are supposed
to use to help with this, which I think RandR is supposed to respect.
The problem with this is the same as the problem with Wayland's
expectation that clients will take care of their own network
transparency needs: As soon as you leave it to the individual programs,
you will have varying levels of support in each one. Some will be
paragons of good behavior, others will be useless. You can only make a
feature truly available to all when it's provided as an OS feature.
There will still be programs that misbehave, but they'll have to try
much harder at it.
I think I'm probably most irked by the claims being made by some
developers that X doesn't feature network transparency anyway, thus
they're not really taking away anything that we really had. This, in
spite of the daily experiences of anyone who's ever done 'ssh -Y' and
seen that, shockingly, it actually works pretty well.
--
+ Brent A. Busby + "We've all heard that a million monkeys
+ Sr. UNIX Systems Admin + banging on a million typewriters will
+ University of Chicago + eventually reproduce the entire works of
+ James Franck Institute + Shakespeare. Now, thanks to the Internet,
+ Materials Research Ctr + we know this is not true." -Robert Wilensky