Why was nine the maximum number of monitors in Windows 98?

Date:July 21, 2004 / year-entry #285
Tags:history
Orig Link:https://blogs.msdn.microsoft.com/oldnewthing/20040721-00/?p=38383
Comments:    44
Summary:Windows 98 was the first version of Windows to support multiple monitors. And the limit was nine. Why nine? Because that allowed you to arrange your monitors like this. You have early seventies television to thank. [Raymond is currently on vacation; this message was pre-recorded.]

Windows 98 was the first version of Windows to support multiple monitors. And the limit was nine.

Why nine?

Because that allowed you to arrange your monitors like this. You have early seventies television to thank.

[Raymond is currently on vacation; this message was pre-recorded.]


Comments (44)
  1. DrPizza says:

    zero, one, infinite?

    I don’t even believe in the existance of two, let alone nine.

  2. timts says:

    what are the games which support multi-monitors? I know MS flight simulator as one, anything else?

    I’ve seen quake3 3 screen demo, can it support mroe than 3?

    how many can win2003 support?I am using two now.

  3. Ben Cooke says:

    I’d be more happy if apps would realise that running "full screen" doesn’t necessarily mean they’re covering the desktop.

    Even Microsoft’s own Windows Media Player jumps out of "full screen" mode if you interact in any way with an application on another monitor. I guess it just picks up on the loss of focus and thinks "ack! I’m supposed to be covering everything up! How did this happen?!"

    What I would really like is to have the ability to have completely separate displays on each monitor, as I can do by running multiple XFree86 servers under UNIX systems; I just make sure each app talks to the right display and I have two completely-independent displays which don’t interfere with one another.

    I noticed that some games, which I guess are probing through DirectX, "see" each of my display adapters as a separate display, which is sensible since they are each separate hardware. I experimented for a while with trying to persuade Windows to activate one of my monitors without considering it part of the desktop just so that DirectX applications could talk to it, but I guess DirectX is less "direct" (bypassing the window manager) than I’d hoped.

  4. Win2k3 is a server OS, you wouldn’t really want to run multiple monitors on that. Best to leave the video system basic and concentrate on leaving the processing power to, well, processing.

    WinXP still has the 9 monitor limit. Not sure what Longhorn (the next desktop OS) will support.

    I’m running 2 myself. Considering moving up to 3. I always thought it would be nice to have a third monitor at 800×600 since that’s what all my users run. Designing winforms at 1240×1024 can be dangerous if you don’t keep in mind that your users have much differnt resolutions!

  5. DrPizza says:

    "Win2k3 is a server OS, you wouldn’t really want to run multiple monitors on that. Best to leave the video system basic and concentrate on leaving the processing power to, well, processing. "

    I don’t agree. I use Win2K3 as a desktop OS (for software development); I certainly don’t want it crippled.

    More fundamentally, I don’t want the codebases forked like that. XP is far more widely used than 2K3 (for obvious reasons), and so is far more likely to uncover bugs in e.g. graphical subsystems. I would want my server OS to exploit as much of this real-world testing as possible.

    Wouldn’t you?

  6. Ben Cooke says:

    If you’re accidentally ending up with dialog boxes which don’t fit in 800×600, you’re packing in far too many widgets! I’m scared to think what your windows must look like!

    Keep it simple.

  7. Mike Dunn says:

    Arrgh, now I have the blasted Brady Bunch theme song stuck in my head!

  8. Raymond Chen says:

    DrPizza: Most people buy Windows 2003 Server in order to – well – be a server. They want the server OS to be tuned for being a server not for being a workstation. Does a race car have air conditioning?

  9. Ben Cooke:

    Nice idea, but that doesn’t always apply. Dialog boxes aren’t only used to configure apps.

    I work on (amongst other things) GUI control panels for scientific instruments right now. There’s not much I can do to reduce the size of the GUI – it barely fits into 800×600. A display size of 1152×768 would make things much easier.

    The problem is that ALL of the information needs to be on-screen at once, in the environment in which this will be used – they need easy, instant, one click access to everything.

    eg: http://home.earthlink.net/~simoncooke/gui.png

  10. Slightly off topic, but any word on a remote desktop client that supports more than one monitor?

    I use two monitors at home and at work, and it bugs me when I work from home I can only connect to one screen, my other screen is wasted.

  11. Raymond Chen says:

    I have no idea. I don’t work on Remote Desktop.

  12. DrPizza says:

    "DrPizza: Most people buy Windows 2003 Server in order to – well – be a server."

    And? They still want it to have a stable graphical subsystem, do they not? (well, in truth, opinion is split there, as there are plenty who say it shouldn’t have such a subsystem at all–but given Win2K3 has a graphical subsystem, and that it’s not going away, they want it to be stable, no?)

    "They want the server OS to be tuned for being a server not for being a workstation. Does a race car have air conditioning? "

    No, but the majority of "sports" cars do.

    But that’s beside the point. Race cars don’t benefit from the stress-testing and real-world usage that common widely used codebases provide. Server OSes do.

  13. I guess with this being an ASP.net site I should have clarified. Not dialog boxes, my main app is an order entry system done in VB6. Used only in house. It is a constant struggle with management to keep the UI simple.

    Chris: I’m using Multi-VNC by Jay Freeman, works great. But from what I understand the latest version of VNC (4.0) has multi monitor support built in:

    http://www.RealVNC.com

  14. Win2k3 Server and XP have very very fundamentanly similiar foundations. A core flaw found in XP by a home user will certainly benefit a server user.

    I don’t think that a graphics flaw found by a home XP user while running 7 monitors is going to benefit any server user.

    And no, none of my sports cars have air conditioning.

    http://ArnettDean.com/Cars

  15. Raymond Chen says:

    DrPizza: That’s precisely why all that stuff is disabled on Server. If there’s a bug in the video acceleration subsystem on Windows XP (say), Windows Server 2003 is unaffected since video acceleration is not enabled on Server by default. For a computer that is special-purpose (like a server), you want to disable everything extraneous so that bugs in them don’t affect you.

  16. Cooney says:

    Does a race car have air conditioning?

    Sure – that’s what the roof vents are for, right?

    > Race cars don’t benefit from the stress-testing and real-world usage that common widely used codebases provide.

    An argument could be made that sports cars benefit from the stress that race cars endure – physics are the same everywhere, so knowledge gained on the track helps you on the street.

    Question for raymond (or anyone else who cares to answer): Is 9 any sort of real limitation, aside from aesthetics? Is there any issue in the software with, say, 100 monitors, discounting configuration guis?

  17. David Candy says:

    I used Win 2000 Server as a workstation running as a domain client to itself (works the same as Professional – tuning makes no difference) because I administered, and was rolling out other Win 2000 domain servers and wanted the same dialogs for phone calls (ie click this, then click that). I won’t dual boot as that is really stupid.

    Once the new network was stable I went back to Win ME (as it’s newer).

  18. Chris Child says:

    One option for the "completely separate displays" problem is to run 2k3 server, and remote desktop into the same computer. put the client on a separate monitor, and you now have two completely separate monitors, which don’t interact with each other.

  19. DrPizza says:

    "Why does that make any sort of difference? UI design is focused on reducing error rate, improving speed, and making software less of a chore to use."

    Sure, but if they’ve got domain knowledge you can for example use jargon terms which you might normally choose to avoid when writing an interface for more "generic" users.

  20. DrPizza says:

    "For a computer that is special-purpose (like a server), you want to disable everything extraneous so that bugs in them don’t affect you."

    But it doesn’t let you _disable_ the codepaths. It just switches to _less-used_ codepaths. You can’t turn *off* 2K3’s GUI. All you can do is switch from an HW accelerated GUI (presumably using something with massive real-world testing like an ATI RAGE chipset; crap but ubiquitous) to the barely used unaccelerated pathways (perhaps even using the relatively new HW-independent hi-res drivers that made their debut with XP).

    If I’ve got to pick between the codepaths–and I do–I surely want to pick the one that’s been more used, not less.

  21. Bill Moss says:

    Unless it’s been changed, you can’t remote desktop into the local machine. It’s something that really annoyed me because I was trying to use remote desktop across a SSH tunnel. It turned out to be a lot more work than it should have been because of the limitation.

  22. Ben Cooke says:

    Simon,

    I specifically picked on "dialog boxes" to exclude special cases like that, which I would not class as a dialog box.

    Also, I was thinking more about end-user applications than such specialised apps, since in that case *most* normal UI design principles don’t apply: it’ll be used by a small number of people who will all be trained to do what needs to be done.

  23. Alex says:

    Good thing you didn’t ask "why *only* nine?"

  24. Cooney says:

    > *most* normal UI design principles don’t apply: it’ll be used by a small number of people who will all be trained to do what needs to be done.

    Why does that make any sort of difference? UI design is focused on reducing error rate, improving speed, and making software less of a chore to use.

  25. A regular viewer says:

    I do not use multiple monitors anymore. I use http://synergy2.sourceforge.net/

  26. Raymond Chen says:

    Norman, I understand your frustration with Microsoft product support (since you seem to take every opportunity to mention it), but complaining to me won’t help any, so I’m not sure why you keep bringing it up. It’s not really contributing to the discussion.

  27. Querier says:

    If I could only find a motherboard with nine AGP slots…

  28. Norman Diamond says:

    7/21/2004 11:07 AM DrPizza

    > You can’t turn *off* 2K3’s GUI. All you can

    > do is switch from an HW accelerated GUI

    > (presumably using something with massive

    > real-world testing like an ATI RAGE chipset;

    > crap but ubiquitous) to the barely used

    > unaccelerated pathways

    Hear, hear. Another example is the Microsoft-provided Windows 2000 driver for the Trident 9525. This one had exactly the opposite problem from the Microsoft-provided Windows 2000 driver for the Trident 9381. On a machine with a 9525, Microsoft Photo Editor was leaving garbage on the screen when I moved windows around. So I tried reducing the video acceleration, and reducing it more, and reducing it more, but Photo Editor continued leaving garbage on the screen. Moved the video acceleration driver to zero, clicked OK, and it blue-screened instantaneously. 100% reproducible. Yup, there are zillions of untested code paths in both server and client systems, and you don’t want to use untested code paths.

    7/21/2004 10:32 AM T. Bradley Dean

    > A core flaw found in XP by a home user will

    > certainly benefit a server user.

    Only if the home user volunteers to pay Microsoft 4,200 yen in order to report the flaw.

    I finally found, by some irreproducible accident, how to access the Microsoft OCA web site. Microsoft answered my problem with the Windows XP USB floppy driver (100% reproducible blue screen when disconnecting a USB floppy). Microsoft figured out that it’s a driver problem, but they don’t have enough information to diagnose it further, and they told me to contact the driver’s maker. The driver’s maker is Microsoft, so in a generic web feedback form I asked Microsoft how to contact the driver’s maker, but they didn’t answer. A core flaw found by a home user benefits no one unless the home user wants to pay Microsoft in order to report it.

  29. Ian Argent says:

    I can think of a couple of cases where having multiple monitor support on a server would be nice – sure, using the server as a console is deprecated, but people do it; it saves space in the server room, you don’t have to switch to do something that absolutely cannot be done in a remote context, etc.

  30. Raymond Chen says:

    "Unless it’s been changed, you can’t remote desktop into the local machine."

    Works fine for me on my Windows 2003 Server with Terminal Services installed. But this has drifted pretty far from the original topic…

  31. Raymond Chen says:

    Developers don’t use systems the same way IT people do. It is my understanding that the typical server sits in a rack in a dedicated air-conditioned room, not on somebody’s desk.

  32. Mike Swaim says:

    Comments on several things:

    The original Doom supported 3 monitors in DOS. Each one was driven by a seperate computer.

    I know several people who reccomend 2003 as a desktop OS. In general it’s faster than 2K and XP. Sometimes much more so.

    The most monitors that I’ve seen on one PC has been 8. They machine had dual hydra cards that could drive 4 monitors each. I’ve seen a fair number of people running 2 PCs w/ 3 monitors each.

  33. DrPizza says:

    "Developers don’t use systems the same way IT people do. It is my understanding that the typical server sits in a rack in a dedicated air-conditioned room, not on somebody’s desk. "

    That may be what’s preferred, but IME the real world is far more flexible than that. For good or ill, people do all manner of things with servers, even when they’re in "server" (non-development) configurations.

  34. Hitmouse says:

    I remember using multiple monitors on Windows 3.1 in bank trading rooms in the early 90s. It required a special graphics card, and a WIN.INI entry to specify #horiz monitors, #vert monitors.

  35. Sean says:

    "Win2k3 is a server OS, you wouldn’t really want to run multiple monitors on that. Best to leave the video system basic and concentrate on leaving the processing power to, well, processing."

    This mught be a bit of a stretch but I could see using more then one monitor on a server.

    Perhaps I want to have a clean open desktop for doing basic config and maintenance and a second to, say run a tail on my web server logs or monitor some performance data I’m gathering. Heck I might want two or three extra monitors so I can review a few things in parallel.

    Anyway, my point is that IMHO its best not to assume what people may or may not want to do with an OS. Even if you think its not useful or needed someone else may feel it’s essential.

    And yes I know there are a number of other ways to accomplish the above but it just might be possible that *I* want to do it this way.

    Sean

  36. qwerty says:

    Chris: Regarding multiple monitor remote desktop. Maybe a stupid idea, but what about creating two user accounts and login twice?

  37. Norman Diamond says:

    7/22/2004 12:32 AM Raymond Chen:

    > Norman, I understand your frustration with

    > Microsoft product support

    Thank you. But you might have noticed that you are not the only one wearing rose-coloured glasses here, and half of my posting was correcting someone’s inexperienced guess. (The other half was agreeing with someone else’s posting which corrected someone else’s optimism.)

    7/22/2004 1:16 PM Raymond Chen

    > Developers don’t use systems the same way IT

    > people do. It is my understanding that the

    > typical server sits in a rack in a dedicated

    > air-conditioned room, not on somebody’s

    > desk.

    True, it is well established in your blog that developers are not normal users. Now does this mean that developers should not use server OSes for testing? Visual Studio warns that some features are not available on platforms that don’t have some services — now should these be the only platforms that developers should use?

  38. Raymond Chen says:

    I’m saying that developers should not expect a server OS to act like a desktop OS because it isn’t one. Sure you can go in and start making the server OS look more like a desktop OS so you feel more comfortable using it, but you have to bear in mind that once you do this, you’re no longer testing your software under "typical" conditions.

  39. DrPizza says:

    "I’m saying that developers should not expect a server OS to act like a desktop OS because it isn’t one."

    No, what we’re saying is, its code paths should be as widely tested as possible, which means sharing as much as possible with the desktop OS. Particularly if we’re talking about notoriously buggy kernel-mode components.

  40. Mat Hall says:

    With regards to what games support multiple monitors, they’re few and far between. Recent examples include Serious Sam 2, Tomb Raider: Angel of Darkness and X2 – The Threat, but even this depends on your graphics card vendor. In general nVidia’s multiple-monitor support is better than ATI’s; with nVidia cards games that don’t natively support multiple monitors can sometimes be fooled into stretching their display, but it’s a bit hit and miss, and apart from X2, none of them offer any really useful purpose for additional monitors. A shame, as prety much all graphics cards these days offer dual-head support, but maybe it’ll catch on eventually.

  41. Raymond Chen says:

    The server and desktop versions of the OS do share substantial chunks of code. It’s just that the server version disables most of it by default. You can of course turn them back on if that’s what you want, but the default for server is "off by default".

  42. DrPizza says:

    Yeah, I know. And for a number of those off-by-default parts, I’m not at all convinced that that’s a good idea. For compulsory components (such as the GUI) I would rather have the most widely used codepaths, and that means switching video acceleration *on* by default.

  43. Carmen says:

    DrPizza: You’re assuming that the non-accelerated code paths aren’t tested extensively. The opposite is true. They’re highly tested before the server OS goes out the door, because it was made that way very early in the design process. The accelerated ones are the ones that aren’t tested. Accelerated code paths depend heavily on the video drivers that are generated by each IHV that ships a chipset, and they are responsibile for the testing and bugs. That’s what makes it "accelerated".

    The fact that every system tested, REGARDLESS of the video hardware, uses the same code path on the Server OS, means it was a highly tested and reliable chunk of code. If you really feel like you see a large number of VIDEO bluescreens on Windows Server 2003, I’d love to hear more about them.

  44. Michael Gall says:

    If you want to remote desktop across an SSH, you can use a loopback device and forward the port of the loopback device. It can be a little tricky, just google for samba share ssh and similar principals will apply.

Comments are closed.


*DISCLAIMER: I DO NOT OWN THIS CONTENT. If you are the owner and would like it removed, please contact me. The content herein is an archived reproduction of entries from Raymond Chen's "Old New Thing" Blog (most recent link is here). It may have slight formatting modifications for consistency and to improve readability.

WHY DID I DUPLICATE THIS CONTENT HERE? Let me first say this site has never had anything to sell and has never shown ads of any kind. I have nothing monetarily to gain by duplicating content here. Because I had made my own local copy of this content throughout the years, for ease of using tools like grep, I decided to put it online after I discovered some of the original content previously and publicly available, had disappeared approximately early to mid 2019. At the same time, I present the content in an easily accessible theme-agnostic way.

The information provided by Raymond's blog is, for all practical purposes, more authoritative on Windows Development than Microsoft's own MSDN documentation and should be considered supplemental reading to that documentation. The wealth of missing details provided by this blog that Microsoft could not or did not document about Windows over the years is vital enough, many would agree an online "backup" of these details is a necessary endeavor. Specifics include:

<-- Back to Old New Thing Archive Index