How Windows 98 Supported Multiple Monitors
Windows 98 was a landmark release for desktop computing, serving as the first consumer-oriented Microsoft operating system to include native support for multiple monitors. Prior to its release in June 1998, running multiple displays on a PC typically required expensive specialized graphics hardware or third-party proprietary drivers. Windows 98 eliminated these barriers by integrating multi-display capabilities directly into the core operating system architecture, allowing users to connect up to nine independent displays to form a single, contiguous desktop environment. This article breaks down the technical mechanisms, hardware requirements, configuration methods, and limitations that defined multi-monitor support in Windows 98.
The Virtual Desktop and GDI Architecture
At the software level, Windows 98 handled multiple monitors through an expanded Graphics Device Interface (GDI). The operating system introduced the concept of a single "virtual desktop" mapped to a shared Cartesian coordinate space.
Instead of treating each display as an isolated screen, Windows 98
assigned coordinate values to each monitor relative to the primary
display. The top-left corner of the primary monitor was fixed at the
coordinate (0,0). Additional displays were assigned
coordinates adjacent to the primary display (for example, a secondary
1024x768 monitor positioned directly to the right would begin at
coordinate (1024,0)). This coordinate system allowed the
mouse cursor to move seamlessly across monitor borders and enabled
application windows to be dragged, stretched, or split across physical
displays.
Primary vs. Secondary Hardware Configuration
Windows 98 achieved multi-display support without requiring single cards with dual outputs, which were rare and expensive at the time. Instead, it utilized multiple physical graphics cards installed in separate motherboard expansion slots—most commonly an AGP (Accelerated Graphics Port) card paired with one or more PCI graphics cards.
The system bifurcated monitors into two distinct roles:
- Primary Display: The monitor connected to the adapter initialized by the computer's BIOS during the power-on self-test (POST). It displayed the system boot sequence, DOS command prompts, the Windows logon screen, and the primary Taskbar.
- Secondary Display(s): Monitors driven by secondary graphics adapters that initialized only after the Windows 98 graphical environment loaded. Because most contemporary motherboards prioritized PCI slots over AGP during boot, users often had to configure their BIOS to ensure the preferred card acted as the boot device.
Driver Requirements and the MultiMon API
To function as a secondary display, a graphics adapter required a driver written to support Windows 98's new multi-monitor APIs (commonly referred to as MultiMon).
While nearly any Windows 95/98-compatible card could serve as the primary adapter, secondary adapters were far more restrictive. The secondary display driver could not rely on legacy VGA BIOS calls, as the system BIOS disabled the secondary card's ROM during boot to prevent memory conflicts. Microsoft maintained a strict hardware compatibility list (HCL) of chipsets capable of operating as secondary displays, including popular options of the era like the S3 Trio64V2, ATI Mach64, and Tseng Labs ET6000.
Configuration via Display Properties
Windows 98 introduced a straightforward visual interface for setting
up multiple displays within the standard Display Properties
control panel under the Settings tab:
- Monitor Identification: The interface displayed numbered boxes representing each connected display. Clicking a display box illuminated the corresponding physical monitor with a large identifying number.
- Desktop Extension: Users enabled an additional display by checking the box labeled "Extend my Windows desktop onto this monitor."
- Spatial Arrangement: Users could drag and drop the numbered monitor boxes to mirror the physical placement of the monitors on their desk, allowing horizontal, vertical, or diagonal transitions between screens.
- Independent Settings: Each monitor could be configured with its own independent screen resolution, refresh rate, and color depth (e.g., one monitor running at 1024x768 in 32-bit True Color and another at 800x600 in 16-bit High Color).
Technical Limitations
While innovative, multiple monitor support in Windows 98 faced several technical constraints of the late 1990s:
- DirectX and 3D Acceleration: Hardware 3D acceleration (Direct3D and OpenGL) was typically functional only on the primary display. If a hardware-accelerated 3D application or video game was dragged to a secondary monitor, it would either fail, revert to software rendering, or crash.
- Hardware Video Overlays: Most graphics cards of the era used a hardware overlay to display video playback smoothly. Because systems rarely supported simultaneous overlay pipelines across multiple cards, playing video files across screen borders usually resulted in blank playback on the secondary screen.
- PCI Bus Bandwidth: Driving high-resolution secondary displays over the shared 33 MHz PCI bus frequently introduced performance bottlenecks compared to the dedicated bandwidth of the primary AGP bus.