From IRIX Wiki
Jump to: navigation, search
SiliconGraphics O2/O2+
O2 hypercube.jpg
An original (non-+) O2 with the older "Hypercube" styling
Product Details
Prices are in USD at launch, without inflation adjustment.
Predecessor Indy
Successor Banana2000 (unreleased)
Released October 1996
Discontinued September 2002
End of Service September 2007
Base Config Price $5,995
Max. Config Price $15,495
Lineup Position Low-end
Product Category Multimedia Workstation
Codename Moosehead
Physical Details
Weight assumes minimum configuration.
Height 12"
Width 9"
Length 10.5"
Weight 22lbs
IP Number(s) IP32
CPU Families R5000, R7000, R10000,
CPUs per Board 1
Max. Boards 1
Graphics Options CRM (on motherboard)
Maximum RAM 1GB
Monitor Output VGA (HD15)
OpenLDI (with FPA card)
Video I/O AV1 Video Option:
Composite In/Out (2x RCA)
S-Video In/Out
Digital Port (O2Cam, etc.)

AV2 Video Option:
2x ITU-601 digital in
2x ITU-601 digital out
GPI In/Out
Sync Input/Passthrough

Keyboard/Mouse PS/2
Ethernet 100mbit (RJ45)
Drive Slots R10000/R12000: 1
R5000/R7000: 2
Latest IRIX 6.5.30
GNU/Linux Support Limited, R5000 Only
Firmware ARCS (32-bit)
Firmware Y2K Bug No (Y2K-compliant)

The SiliconGraphics O2 is an entry-level Unix workstation introduced in 1996 by Silicon Graphics, Inc. (SGI) to replace their earlier Indy series. Like the Indy, the O2 uses a single MIPS microprocessor and was intended to be used mainly for multimedia. Its larger counterpart was the SGI Octane. The O2 was SGI's last attempt at a low-end workstation.


Originally dubbed the "Moosehead" project during development, the O2 features a proprietary high-bandwidth Unified Memory Architecture (UMA) that connects the various system components. The O2 is a highly-integrated system, with CPU, graphics accelerator, memory, SCSI controller, and I/O all incorporated into a single system module, which can be slid out of the chassis with the flip of a lever. A PCI bus is bridged onto the UMA with one expansion slot available. The O2 has a designer case and a modular design, with space for two Ultra SCSI drives mounted on special sleds (only one in the later R10000/R12000 models) and an optional video capture / sound module mounted on the far left side. Further information on the design and construction of the O2 can be found in SGI service manuals on Techpubs. Detailed breakdown pictures and an IRIX hinv dump can be found here.

An O2's unique system ID (MAC address) is stored on the small PCI riser card that connects the PCI card holder to the motherboard. If this riser card is swapped, the corresponding black plastic badge on the rear of the case should be swapped as well to preserve consistency.

WARNING: The O2 system module should NEVER be removed or installed while the power cord is connected. Doing so can permanently damage the motherboard.


The O2 comes in two distinct CPU flavours; the low-end MIPS 180 to 350 MHz R5000- or RM7000-based units and the higher-end 150 to 400 MHz R10000- or R12000-based units. The 200 MHz R5000 CPUs with 1 MB L2-cache are generally noticeably faster than the 180 MHz R5000s with only 512 KB cache. There is a hobbyist project that has successfully retrofitted a 600 MHz RM7xxx MIPS processor into the O2.

CPU Version: Clock Speed: 2nd Level Cache:
R5000PC 180 MHz -
R5000SC 180 MHz 512 KB
R5000SC 200 MHz 1 MB
R5200SC 300 MHz 1 MB
RM7000A 350 MHz 256 KB (+1 MB tertiary)
R10000SC 150, 175, 195, 225, 250 MHz 1 MB
R12000SC 270, 300 MHz 1 MB
R12000SC 400 MHz 2 MB

There is also a hobbyist project that has successfully retrofitted a 600 MHz R7000 MIPS processor into the O2. In theory faster CPUs at 900MHz any beyond are possible, but this would require the public release of the O2 PROM source code which at present is not available and probably never will be.

A recall of some early versions of the RM7000A 350Mhz CPU is thought to have hastened the removal of the O2 from SGI's product line.


There are eight DIMM slots on the motherboard and memory on all O2s is expandable to 1 GB using proprietary 239-pin SDRAM DIMMs. The Memory & Rendering Engine (MRE) ASIC contains the memory controller. Memory is accessed via a 133 MHz 144-bit bus, of which 128 bits are for data and the remaining for error-correcting code (ECC). This bus is interfaced by a set of buffers to the 66 MHz 256-bit memory system.

Original SGI-branded O2 DIMMs are either single-sided (SS) with memory chips on only one side of the module or double-sided (DS), and are color-coded to assist in identification. 3rd party DIMMs may or may not follow these conventions. Knowing the current memory configuration is important as DIMMs must be installed according to a number of specific rules. These rules follow the table in this section.

Size Color Code 1 Color Code 2 SS/DS Type
16 MB Purple - SS A
32 MB Yellow - DS A
64 MB Green White SS B
128 MB Silver - DS A
128 MB Silver White DS B
O2.Dimm.color.gif Locating.dimm.banks.bw.gif

  • The DIMMs in slots 1 and 2 make up Bank A. DIMMs in slots 3 and 4 make up Bank B, and so on.
  • A bank of two slots must have a DIMM in each slot or be empty (except for slots 1 and 2, Bank A, which must always be populated.)
  • The two DIMMs in any bank must be of the same size and type.
  • The largest size DIMMs must be in Bank A.
  • DIMM banks must be filled sequentially, beginning with bank A.
  • Equal or smaller size DIMMs must be in Bank B, and so on.
  • Do not skip banks, or the memory will not be recognized.

To install high density (128 MB) DIMMs, PROM revision 4.4 or higher is required (see hinv(1M)). With older PROM revisions maximum memory is 256 MB. For IRIX 6.3 there are patches to upgrade the PROM as described in "Silicon Graphics® O2® Workstation Memory Installation Instructions", for IRIX 6.5 PROM images come with the operating system and overlays CD sets.


I/O functionality is provided by the IO Engine ASIC. The ASIC provides a 33-bit PCI-X bus, an ISA bus, two PS/2 ports for keyboard and mouse, and a 10/100 Base-T Ethernet port. The PCI-X bus has one slot, but the ISA bus was present solely for attaching a Super I/O chip to provide serial and parallel ports.

Graphics subsystem

The CRM chipset that SGI developed for the O2 shares OpenGL calculations with the CPU. Due to the unified memory architecture, video memory is shared with main memory, and there is effectively an 'unlimited' amount of texture memory. Another useful feature is that any incoming video data from the Audio/Video option can be mapped directly as an OpenGL texture without having to perform a copy or move.

ICE (Image Compression Engine -- a dedicated 64-bit R4000-based processor containing a 128-bit SIMD unit running at 66 MHz, which is used to accelerate various image and video operations)

OpenGL 1.1 + ARB image extensions

O2 Video System

The O2 Video system supports two simultaneous input video streams and one output video stream which can be seperated into two outputs, one carrying pixel information, the other carrying alpha (key) information.

Using the O2 Video system, it is possible to capture live video into the computer's memory which can then be displayed in a graphics window on the screen or further processed by an application. It is also possible to generate video output from images in memory, which can be displayed on a standard video monitor, or recorded to a VTR. Using the VL programming library, a program can capture video in either the RGB or YCrCb color spaces, and either full or reduced size formats, and in a format usable for input to the compressor/decompressor, display on the graphics screen, or as an input to a graphics processing and/or texture operation.

SGI offered two video options for the O2/O2+: the AV1 interface and the AV2 interface.

  • The AV1 interface supports Composite and SVideo (Y/C) (both analog), and Digital I/O via the Camera/Digital Video port. The analog I/O jacks are for use with standard analog video equipment, supporting both PAL and NTSC video formats. There are a variety of controls available that allow the user or programmer to set various parameters used for the decoding and encoding of the video signals. The digital input of the AV1 is for use with the O2Cam Digital System Camera, or can be connected to an optional digital video input and output adapter to interface to standard SMPTE259M serial digital video devices.
  • The AV2 interface supports two ITU-601 (CCIR-601) serial digital video input connectors and two similiar output connectors, as well as GPI input and output and analog (black burst) sync input and loop through.

Chris Pirazzi's Lurker's Guide to Video contains the following three sections exclusively for the O2 Video System:

Operating system support


IRIX versions 6.3 and 6.5 (up to the latest overlay - 6.5.30) are supported on this machine, however, only in 32-bit mode, due to the nature of the O2's internal architecture. For CPU-specific versions, see also: IRIX for O2.

Besides the default CD-based Installation, the O2 also supports network installation through DINA.

For a list of useful tips after a fresh installation of IRIX on the O2, see: IRIX Installation and Customization.


There is official Linux support for the O2 in Debian 4.0 "Etch" as well as in Gentoo but only for R5000/R7000 O2s. Linux is not stable on R10000/R12000 CPUs due to a known issue with the way they handle speculative loads and stores, detailed here. This is not a problem for Linux on the Octane as there is different hardware to support these processor features.

O2 hardware currently not fully supported by Linux:

  • R10K or R12K processors.
  • CRM Accelerated Graphics (framebuffer only)
  • Sound (ALSA driver exists in Linux-MIPS tree, currently under development)
  • Video capture via SAA 7111 (Linux driver exists for the chip)
  • ICE (experimental patches exist)

Installing Linux is made more difficult due to the O2's PROM being unable to read ISO9660 filesystems. Gentoo has an experimental SGI bootable X Live CD. Please read the README for details on supported machines (the O2 is one of many SGIs supported), the level of support, and how to burn the CD as it is not a typical ISO image. Additionally, there is a project to create Linux bootable CDs here if you want to roll your own. However, the more common procedure is to use a 2nd computer as a PXE boot server and netboot an installer. Details on using a Debian minimal netinstall image can be found here.


NetBSD has run on the O2 since NetBSD 2.0.


From http://www.openbsd.org/sgi.html : Currently OpenBSD/sgi runs in 64 bit mode and boots multi-user on supported systems.

Supported models:

  • O2 (aka Moosehead) with R5000, RM5200, RM7000, R10000 and R12000 CPUs. Level 2 caches are supported on all CPUs. RM7000 level 3 cache is supported.
    • Built-in Adaptec AIC-7880 SCSI (ahc)
    • Built-in Ethernet (mec)
    • Built-in serial ports (com)
    • 64 bit PCI expansion slot
    • Intel i8255x-based (except the i82556) PCI ethernet (fxp)
    • Built-in audio (mavb)

Add-On Options

The O2 is unusual for a Silicon Graphics machine in that it has only one available graphics option (CRM), which is integrated and cannot be replaced. Similarly unusual, the base machine has a single DB15 connector for graphics output. There is, however, a proprietary expansion port for one of three extra graphics interface options.

  • Dual-head 2xDB15 adapter. PN: 030-1296-002
  • 1600SW flat panel adapter. PN: 030-1170-001
  • Indy Presenter or Presenter 1280 flat panel adapter. PN: 030-1202-001

Since the video calculations are performed on the O2's CPU, running in higher resolutions or dual-head mode has a significant impact on performance. Additionally, due to limited CRM framebuffer width, the two screens for dual-head are positioned vertically in memory, causing a slowdown when objects are drawn across both screens. While no DVI option exists for the O2, when using either flat panel adapter there is an all-digital path from the computer to the display.

Media options include the Audio Option, Analog Video Option (AV1), Digital Video Option (AV2) and various PCI64 cards ranging from SCSI, Ethernet and Firewire to FDDI.

Additional PCI slots can be obtained by using PCI expansion units such as the Magma series.


The O2 is a very unique system and thus has its own quirks. With proper care it can be very reliable, though the following common problems are likely to manifest themselves.


The Toshiba CD-ROM drives in the O2 commonly throw a small white plastic gear from the tray motor. Symptoms include the tray either refusing to open or refusing to stay closed. This problem is relatively easy to fix by opening the CD-ROM drive and pushing the gear back onto the motor shaft, then adding a small amount of glue to keep the gear in place. To avoid damaging the tray mechanism during ordinary use, do not push it closed: use the "inject" command instead.

To quote kjaer in the forum post here ... "there is a pressfit nylon pinion on the transport motor that opens and closes the drive tray, and also raises and lowers the optical pickup assembly (moves it closer to the disc after the tray closes, and moves it away from the disk before the tray opens). This pinion splits when it ages, and when this happens the static friction between pinion and spindle is no longer sufficient to hold the torque required to lift the optical pickup. The drive interprets this as a mis-load and ejects the tray."

Further discussion with images can be found here.


The O2's proprietary memory modules are highly susceptible to dirt and shock, particularly during shipping. The symptoms of a bad memory contact include random memory errors and a total inability to boot, with a solid red or blinking amber LED at startup. Careful cleaning and re-seating of memory will typically solve such problems, though the DIMMs should also be carefully inspected for missing surface-mount components, which can be easily knocked-off via mishandling.

Graphics Console

If the O2 boots successfully but refuses to display video, it may be configured for output to the serial console.

PROM version dictates what processor version works in what board

It was written in the forum on topic.

well, finally solved. I spent the better half of the day swapping parts between two O2 boards, with trial, error, and success. 
   my problem and solution go as follows:

 1. the board in o2 x was a 1997 board with what I found to be a 300mhz "2000 sgi" processor
 2.the board in o2 y was a 1997 board and 200mhz "1997 cube-bug" processor both had 4.14 PROM versions

 so I switched processor y into board x, installed 6.5, upgraded overlay to 6.5.22, which upgraded the PROM to   4.18. upon swapping the x processor back into the x board, it all works! 

 so as it seems, PROM version seems to dictate what processor version works in what board...